Offboarding

EOR offboarding is the structured process that ends an EOR employment relationship. Deel enforces a multi-step workflow to ensure compliance with local labor laws, protect both parties, and handle statutory obligations such as notice periods, final pay, and document sign-offs.

There are three distinct offboarding flows, plus a tracker for querying offboarding status across all contracts. Choose the flow that matches who is initiating the offboarding and the type of token you hold.

Choose your flow

Prerequisites

  • API access: All requests require a Bearer token in the Authorization header. See Authentication for how to generate one.
  • Token type: Termination uses a client API token. Resignation flows use a combination of client and worker API tokens.
  • Contract ID: Most endpoints require a contract_id. Use the List contracts endpoint to retrieve yours.

Webhooks

Subscribe to these events to track offboarding progress without polling:

EventWhen it fires
contract.terminatedContract reaches final termination
worker.v2.updatedEach offboarding status transition

See the Webhooks guide for setup.

Shared operations

These endpoints apply to both resignation and termination flows.

Retrieve an offboarding attachment

This endpoint requires a client API token.

Offboarding documents such as termination letters and separation agreements are available as attachments. Use the Retrieve offboarding attachment endpoint to download a specific attachment by ID.

$curl --location --request GET \
> '{{host}}/rest/eor/contracts/{{contract_id}}/offboarding/attachments/{{attachment_id}}' \
> --header 'Authorization: Bearer {{client_token}}'

The response includes a pre-signed download URL. Download URLs expire after a short period. Always request a fresh URL rather than caching it.

Next steps