Added Contractor Management flow
We're launching the Contractor Management flow: a new flow type for managing 1099 contractors throughout their lifecycle, along with several contractor API improvements.
The contractor_management flow provides a unified view of all contractors by status (Active, Onboarding, Dismissed) with built-in actions for editing details, dismissing and rehiring, viewing payment history, sending portal invitations, and managing onboarding. Read more in our Deactivate a Contractor guide.
Why this matters
Managing contractor lifecycle events—dismissals, rehires, and status changes—previously required partners to coordinate multiple API calls and track state transitions manually. The new flow and endpoints provide a structured, auditable approach to contractor lifecycle management, reducing integration complexity and the risk of conflicting state changes.
New flow type
contractor_management, a unified interface for managing contractors across their full lifecycle. Requires entity_type: "Company" and entity_uuid: <company_uuid>.
Inherits all add_contractors scopes plus partner_portal_invitation:write.
New flow settings available in the Developer Portal
- Enable portal invites in
contractor_managementflow - Enable contractor self-onboarding in
contractor_managementflow
To get started, create a flow using the Create a flow endpoint with flow_type: "contractor_management".
New endpoints
Contractor dismissals and rehires
- POST /v1/contractors/{contractor_uuid}/termination
- Schedule a contractor dismissal with an
end_date
- Schedule a contractor dismissal with an
- DELETE /v1/contractors/{contractor_uuid}/termination
- Cancel a scheduled dismissal before the end date arrives
- POST /v1/contractors/{contractor_uuid}/rehire
- Schedule a contractor rehire with a
start_date
- Schedule a contractor rehire with a
- DELETE /v1/contractors/{contractor_uuid}/rehire
- Cancel a scheduled rehire before the start date arrives
Contractor payment receipts
- GET /v1/contractor_payments/{contractor_payment_uuid}/pdf
- Retrieve a PDF receipt for a contractor payment, consistent with the existing employee pay stub PDF
Updated endpoints
Contractor list
- GET /v1/companies/{company_uuid}/contractors
- New query filter:
onboarded_active(boolean) — filter for onboarded, active contractors - New query filter:
terminated_today(boolean) — filter for contractors with a dismissal effective today - New query param:
include=portal_invitations— embed portal invitation status in the contractor response, consistent with the existingincludeparameter on GET /v1/companies/{company_uuid}/employees
- New query filter:
Contractor payments
- GET /v1/companies/{company_id}/contractor_payments
- Now returns payments in newest-first order, consistent with employee pay stubs
Contractor updates
- PUT /v1/contractors/{contractor_uuid}
- Setting
is_activewhen a scheduled dismissal or rehire is pending now returns a 422 directing the caller to cancel the scheduled transition first
- Setting