> This page is for API, version 2026-01-01 (Stable) (default).
> For other versions, use one of these documentation indexes:
> - 2026-01-01 (Stable) (default): https://developer.deel.com/api/stable/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.deel.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.deel.com/_mcp/server.

# Worker resignation

> Submit a resignation as the worker, then complete the client PTO review and optional status polling.

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](/api/employer-of-record/eor-offboarding/client-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](/api/employer-of-record/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](/api/authentication#worker-api-tokens) for how to generate one.
* **Client API token**: Required for Step 3 (review PTO), performed by the client organization. See [Authentication](/api/authentication).
* **Contract ID**: All worker endpoints require a `contract_id` for the worker's active EOR contract.

### Step 1: Preview the resignation letter

Before submitting, the worker can preview the resignation letter Deel generates. Use the [Preview resignation letter](/api/reference/endpoints/eor-worker-offboarding/download-employee-resignation-letter) endpoint.

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

### Step 2: Submit the resignation

Once the worker is ready to proceed, submit the resignation using the [Submit EOR worker resignation](/api/reference/endpoints/eor-worker-offboarding/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.

```shell
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"
    }
  }'
```

### Step 3: Review PTO (client side)

> **Note**
>
> 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](/api/reference/endpoints/eor-offboarding/review-eor-offboarding-pto) endpoint.

```shell
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
    }
  }'
```

### Step 4 (optional): Retrieve resignation status

To poll the current status of a worker's resignation, use the [Retrieve worker resignations](/api/reference/endpoints/eor-worker-offboarding/get-employee-resignations) endpoint with a worker token.

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

## Flow

```mermaid
sequenceDiagram
    participant Worker
    participant DeelAPI as Deel API
    participant Client

    Worker->>DeelAPI: GET resignation-letter (preview)
    DeelAPI-->>Worker: Resignation letter content

    Worker->>DeelAPI: POST /offboarding (submit resignation)
    DeelAPI-->>Worker: Resignation submitted and confirmed

    DeelAPI-->>Client: Resignation notification

    Client->>DeelAPI: POST resignations/review-pto
    DeelAPI-->>Client: PTO review recorded

    Note over Worker,Client: Deel processes notice period and final pay
```

## Next steps

#### [Offboarding overview](/api/employer-of-record/eor-offboarding)

Return to the offboarding overview, shared concepts, and other flows.

#### [Client-initiated resignation](/api/employer-of-record/eor-offboarding/client-resignation)

The flow when the client initiates resignation on behalf of the worker.

#### [Offboarding tracker](/api/employer-of-record/eor-offboarding/tracker)

Query resignation status across all contracts.

#### [Authentication](/api/authentication)

Learn how to generate worker API tokens.