Manage contracts
This guide covers the ongoing management operations for active IC and COR contracts. The sections below are independent; each covers a discrete management function rather than a sequential workflow. For initial contract creation and onboarding, see Create and onboard contractors.
All employer-side endpoints require an admin-scoped token. Worker-side endpoints (timesheets, time off) require a worker-scoped token. See Getting started for authentication setup.
Contract data
Read contract state and list all contracts within the organization.
Subscribe to contract.status.updated to receive notifications of status changes without polling.
Amendments
Amendments change active contract terms, including rate, job title, scope, or other fields. After creation, the amendment requires worker signature before taking effect.
Create the amendment
Submit the amendment with the fields to change and the date the changes take effect.
POST /contracts/{contract_id}/amendments
Required fields: the changed contract fields and effective_date. Only include the fields you want to modify.
Invoices and payments
Retrieve invoice and payment records for contractor billing cycles.
Subscribe to invoice.paid and payment.completed rather than polling these endpoints for status changes.
Off-cycle payments
Off-cycle payments cover one-time amounts outside the regular billing cycle, including bonuses, commissions, and reimbursements.
Invoice adjustments
Invoice adjustments modify line items on an active invoice, including expenses, equipment, and additional items. Adjustments must be submitted before the invoice locks for the billing cycle.
Timesheets
Timesheet workflows apply to Pay-as-you-go contracts only. Workers submit hours each billing cycle; review and approve or reject each entry using your admin token.
Worker submission
Workers submit timesheet entries using the worker token.
Required fields: contract_id, quantity (hours), date_submitted (YYYY-MM-DD), description.
Employer review
Retrieve and action timesheet entries using your admin token.
Subscribe to timesheet.reviewed to notify the worker of the outcome.
Worker time off
Workers submit and cancel time off requests using the worker token.
Subscribe to time-off.reviewed to notify the worker of the outcome.
Termination
Terminating a contract ends the engagement on a specified date or immediately.
Terminate the contract
Submit the termination request with the required fields.
POST /contracts/{contract_id}/terminations
Required fields: termination_type, completion_date (YYYY-MM-DD), terminate_now (boolean; set to true to terminate immediately). Optional: message.
To cancel a termination before it takes effect, use DELETE /contracts/{contract_id}/terminations. This endpoint is only available before completion_date has passed.
Test all termination flows in the sandbox environment before connecting to production data. Termination is irreversible once the completion_date passes.
Webhook events
See the Webhooks guide for event payload structure and signature verification.
Next steps
End-to-end workflow for creating IC contracts and completing onboarding.
Compare the EOR amendment and termination pattern.
Authentication, environments, token generation, and webhook setup.
Configure webhooks to receive real-time updates on contract events.