Worker resignation

The worker resignation flow lets an employee initiate the resignation process directly using a worker API token. The worker previews and submits the resignation, then the client completes the PTO review before Deel processes notice period and final pay.

Unlike the client-initiated resignation flow, submitting the resignation acts as the worker’s confirmation: no separate signing step is required.

For an overview of all offboarding flows, see EOR offboarding.

Prerequisites

  • Worker API token: Required for Steps 1, 2, and 4. Standard client API tokens receive a 403 Forbidden response on these endpoints. See Worker API tokens for how to generate one.
  • Client API token: Required for Step 3 (review PTO), performed by the client organization. See Authentication.
  • Contract ID: All worker endpoints require a contract_id for the worker’s active EOR contract.
1

Step 1: Preview the resignation letter

Before submitting, the worker can preview the resignation letter Deel generates. Use the Preview resignation letter endpoint.

$curl --location --request GET \
> '{{host}}/rest/eor/workers/contracts/{{contract_id}}/offboarding/resignation-letter' \
> --header 'Authorization: Bearer {{worker_token}}'
2

Step 2: Submit the resignation

Once the worker is ready to proceed, submit the resignation using the Submit EOR worker resignation endpoint. The request body includes the intended last working day and any additional information required by country-specific rules. Submitting the request acts as the worker’s confirmation of the resignation: no separate signing step is required.

$curl --location --request POST \
> '{{host}}/rest/eor/workers/contracts/{{contract_id}}/offboarding' \
> --header 'Authorization: Bearer {{worker_token}}' \
> --header 'Content-Type: application/json' \
> --data-raw '{
> "data": {
> "last_working_day": "2025-09-30",
> "reason": "Personal reasons"
> }
> }'
3

Step 3: Review PTO (client side)

This step is performed by the client organization using a client API token, not a worker token.

After the worker submits the resignation, the client must review the worker’s outstanding paid time-off balance before Deel can continue processing. Use the Submit employee resignation PTO review endpoint.

$curl --location --request POST \
> '{{host}}/rest/eor/contracts/{{contract_id}}/offboarding/resignations/review-pto' \
> --header 'Authorization: Bearer {{client_token}}' \
> --header 'Content-Type: application/json' \
> --data-raw '{
> "data": {
> "approved": true
> }
> }'
4

Step 4 (optional): Retrieve resignation status

To poll the current status of a worker’s resignation, use the Retrieve worker resignations endpoint with a worker token.

$curl --location --request GET \
> '{{host}}/rest/eor/workers/resignations' \
> --header 'Authorization: Bearer {{worker_token}}'

Flow

Next steps