> 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.

# Client-initiated resignation

> Request a resignation on behalf of a worker, then complete the worker sign-off and client PTO review.

In some workflows, the client initiates the resignation process on behalf of the worker rather than the worker doing so directly. Unlike the [worker-initiated flow](/api/employer-of-record/eor-offboarding/worker-resignation), where submitting the resignation implicitly confirms it, this flow requires an explicit sign-off step from the worker after the client submits the request.

For an overview of all offboarding flows, see [EOR offboarding](/api/employer-of-record/eor-offboarding).

## Prerequisites

* **Client API token**: Required for Step 1 (request resignation) and Step 4 (review PTO). See [Authentication](/api/authentication).
* **Worker API token**: Required for Step 2 (view pending resignations) and Step 3 (sign resignation letter). See [Worker API tokens](/api/authentication#worker-api-tokens) for how to generate one.
* **Contract ID**: All endpoints in this flow require a `contract_id` for an active EOR contract.

### Step 1: Request resignation on behalf of the worker

Use the [Request contract resignation](/api/reference/endpoints/eor-worker-offboarding/create-employee-resignation) endpoint with a client API token to initiate the resignation on behalf of the worker.

```shell
curl --location --request POST \
  '{{host}}/rest/eor/contracts/{{contract_id}}/offboarding/resignation' \
  --header 'Authorization: Bearer {{client_token}}' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "data": {
      "last_working_day": "2025-09-30"
    }
  }'
```

### Step 2: Worker views pending resignations

> **Note**
>
> This step requires a **worker API token**.

After the client initiates the resignation, the worker can retrieve the list of resignations pending their signature using the [Retrieve worker resignations](/api/reference/endpoints/eor-worker-offboarding/get-employee-resignations) endpoint.

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

### Step 3: Worker signs the resignation letter

> **Note**
>
> This step requires a **worker API token**.

The worker must explicitly sign the resignation letter to confirm it. This step is required in the client-initiated flow because the worker did not directly submit the request. Use the [Sign resignation letter](/api/reference/endpoints/eor-worker-offboarding/sign-employee-resignation-letter) endpoint.

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

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

> **Note**
>
> This step is performed by the **client organization** using a **client API token**.

After the worker signs the resignation letter, 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
    }
  }'
```

## Flow

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

    Client->>DeelAPI: POST /offboarding/resignation
    DeelAPI-->>Client: Resignation requested

    DeelAPI-->>Worker: Resignation pending signature

    Worker->>DeelAPI: GET /workers/resignations
    DeelAPI-->>Worker: Pending resignations

    Worker->>DeelAPI: POST resignation-letter/sign
    DeelAPI-->>Worker: Letter signed

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

    Note over Client,Worker: 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.

#### [Worker resignation](/api/employer-of-record/eor-offboarding/worker-resignation)

The flow when the worker initiates their own resignation.

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

Query resignation status across all contracts.

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

Learn how to generate client and worker API tokens.