---
updatedAt: 2026-04-30T23:04:54.000Z
---

# Direct Deposit Webhook Events

Direct Deposit webhook events will notify you when new direct deposit allocation data is available for a payroll account or a direct deposit job completed. You must also register for `account.added` webhooks to correlate information about which payroll platform the user has an account with.

### direct\_deposit\_allocations.added

Direct deposit allocations data is now available for the payroll account.

#### Payload Schema

| Payload Param           | Type   | Description                                                                                                                                                                           |
| :---------------------- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `account_id`            | string | UUID of the payroll account.                                                                                                                                                          |
| `platform_id`           | string | UUID of the platform associated with this account.                                                                                                                                    |
| `platform_name`         | string | The name of the platform associated with this account.                                                                                                                                |
| `end_user_id`           | string | The user identifier you specified when the user initially connected to the payroll account, if provided.                                                                              |
| `outcome`               | string | The outcome of the job, either `success`, `error`, or `pending`. If `pending` you will receive another webhook with `outcome` as `success` or `error` within 24 hours.                |
| `error_code` (optional) | string | On error, a string describing the error.                                                                                                                                              |
| `error_type` (optional) | string | On error, a high level classification of the error.                                                                                                                                   |
| `timestamp`             | string | ISO 8601 timestamp of job completion.                                                                                                                                                 |
| `name`                  | string | Name of the job, which is `direct_deposit_allocations`.                                                                                                                               |
| `link_token_id`         | string | UUID of Link token used to initialize Link, or an undefined link token if triggered by a refresh job (such as from Monitoring). *You should use `account_id` as the main identifier.* |
| `id`                    | string | *Deprecated*. UUID of the job. *You should use `account_id` as the main identifier.*                                                                                                  |

#### Sample Webhook Event

```json
{
  "event": "direct_deposit_allocations.added",
  "event_id": "5a141122-4235-4fa1-bd76-0628573880b0",
  "payload": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
    "platform_id": "fce3eee0-285b-496f-9b36-30e976194736",
    "platform_name": "Justworks",
    "end_user_id": "my_user_12345",
    "link_token_id": "4787acbc-11cf-4db3-998c-5ea7c4feebcd",
    "name": "direct_deposit_allocations",
    "timestamp": "2021-01-12T02:36:01.287148+00:00",
    "outcome": "success"
  }
}
```

### direct\_deposit\_switch.added

A `direct_deposit_switch` job to add a new direct deposit allocation completed.

#### Payload Schema

| Payload Param                                                 | Type    | Description                                                                                                                                                                                           |
| :------------------------------------------------------------ | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account_id`                                                  | string  | UUID of the payroll account.                                                                                                                                                                          |
| `platform_id`                                                 | string  | UUID of the platform associated with this account.                                                                                                                                                    |
| `platform_name`                                               | string  | The name of the platform associated with this account.                                                                                                                                                |
| `end_user_id`                                                 | string  | The user identifier you specified when the user initially connected to the payroll account, if provided.                                                                                              |
| `params` (optional)                                           | object  | Parameters of the job, if applicable.                                                                                                                                                                 |
| `params.action`(optional)                                     | string  | Indicates whether the `direct_deposit_switch` was a `full_switch` or a `partial_switch`. Will not be set for select partner-based switches where we do not receive this information from our partner. |
| `params.allocation` (optional)                                | object  | The allocation that was created/updated during a `direct_deposit_switch`.  Only present when `params.action` is `partial_switch`.                                                                     |
| `params.allocation.type`  (optional)                          | string  | Indicates whether this is a `remainder`, `amount` or `percentage` allocation.  Will be set if `params.action` is `partial_switch`.                                                                    |
| `params.allocation.value` (optional)                          | integer | The value (if any) for this allocation.  Will be set if the `type` is `percentage` or `amount`.                                                                                                       |
| `params.allocation.target.account_name` (optional)            | string  | The account name (if any) for this allocation. We recommending including `name` during Link token creation if you send multiple accounts.                                                             |
| `params.allocation.target.last_four_account_number`(optional) | string  | The last 4 digits of the account number for this allocation.                                                                                                                                          |
| `params.allocation.target.account_type`(optional)             | string  | The account type for this allocation.  Will be either `checking` or `savings`.                                                                                                                        |
| `outcome`                                                     | string  | The outcome of the job, either `success`, `error`, or `pending`. If `pending`, you will receive another webhook event with `outcome` as `success` or `error` within 24 hours.                         |
| `error_code` (optional)                                       | string  | On error, a specific classification describing the error.                                                                                                                                             |
| `error_type` (optional)                                       | string  | On error, a high level classification of the error.                                                                                                                                                   |
| `timestamp`                                                   | string  | ISO 8601 timestamp of job completion.                                                                                                                                                                 |
| `name`                                                        | string  | Name of the job, which is always `direct_deposit_switch`.                                                                                                                                             |
| `link_token_id`                                               | string  | UUID of Link token used to initialize Link, or an undefined link token if triggered by a refresh job (such as from Monitoring). *You should use `account_id` as the main identifier.*                 |
| `id`                                                          | string  | *Deprecated*. UUID of the job. *You should use `account_id` as the main identifier.*                                                                                                                  |

#### Sample Webhook Events

* A partial amount switch creates a fixed-amount allocation on the payroll account.
* A partial percentage switch creates a percentage-based allocation on the payroll account.
* A remainder switch replaces the existing remainder allocation on a payroll account and leaves existing allocations unaffected.

```json Partial Amount
{
  "event": "direct_deposit_switch.added",
  "event_id": "5a141122-4235-4fa1-bd76-0628573880b0",
  "payload": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
    "platform_id": "fce3eee0-285b-496f-9b36-30e976194736",
    "platform_name": "Justworks",
    "end_user_id": "my_user_12345",
    "link_token_id": "4787acbc-11cf-4db3-998c-5ea7c4feebcd",
    "name": "direct_deposit_switch",
    "timestamp": "2021-01-12T02:36:01.287148+00:00",
    "outcome": "success",
    "params": {
      "action": "partial_switch",
      "allocation": {
        "type": "amount",
        "value": 5400,
        "target": {
          "account_name": "My Checking Account",
          "account_type": "checking",
          "last_four_account_number":"1234"
        }
      }
    }
  }
}
```
```json Partial Percentage
{
  "event": "direct_deposit_switch.added",
  "event_id": "5a141122-4235-4fa1-bd76-0628573880b0",
  "payload": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
    "end_user_id": "my_user_12345",
    "link_token_id": "4787acbc-11cf-4db3-998c-5ea7c4feebcd",
    "name": "direct_deposit_switch",
    "timestamp": "2021-01-12T02:36:01.287148+00:00",
    "outcome": "success",
    "params": {
      "action": "partial_switch",
      "allocation": {
        "type": "percentage",
        "value": 33,
        "target": {
          "account_name": "My Checking Account",
          "account_type": "checking",
          "last_four_account_number":"1234"
        }
      }
    }
  }
}
```
```json Remainder Switch
{
  "event": "direct_deposit_switch.added",
  "event_id": "5a141122-4235-4fa1-bd76-0628573880b0",
  "payload": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
    "end_user_id": "my_user_12345",
    "link_token_id": "4787acbc-11cf-4db3-998c-5ea7c4feebcd",
    "name": "direct_deposit_switch",
    "timestamp": "2021-01-12T02:36:01.287148+00:00",
    "outcome": "success",
    "params": {
      "action": "partial_switch",
      "allocation": {
        "type": "remainder",
        "target": {
          "account_name": "My Checking Account",
          "account_type": "checking",
          "last_four_account_number":"1234"
        }
      }
    }
  }
}
```
```json Full Switch
{
  "event": "direct_deposit_switch.added",
  "event_id": "5a141122-4235-4fa1-bd76-0628573880b0",
  "payload": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "account_id": "449e7a5c-69d3-4b8a-aaaf-5c9b713ebc65",
    "end_user_id": "my_user_12345",
    "link_token_id": "4787acbc-11cf-4db3-998c-5ea7c4feebcd",
    "name": "direct_deposit_switch",
    "timestamp": "2021-01-12T02:36:01.287148+00:00",
    "outcome": "success",
    "params": {
      "action": "full_switch",
      "allocation": {
        "target": {
          "account_name": "My Checking Account",
          "account_type": "checking",
          "last_four_account_number":"1234"
        }
      }
    }
  }
}
```