# Webhook API — Webhooks

> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks

This document contains every operation on the `Webhooks` resource.

---

# List webhook subscriptions

> **Webhook API** · `GET /webhook/webhooks`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksAll

List all webhook subscriptions

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `cursor` | query | `string` | No | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. |
| `limit` | query | `integer` | No | Number of results to return. Minimum 1, Maximum 200, Default 20 |

### Responses

#### 200 — Webhooks

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `array of object` **required**
  - `id` `string` — example: `1234`
  - `description` `string` — A description of the object. — example: `A description`
  - `unified_api` `string` **required** — Name of Apideck Unified API — enum: `accounting`, `ats`, `calendar`, `crm`, `csp`, `customer-support`, `ecommerce`, `email`, `email-marketing`, `expense-management`, `file-storage`, `form`, `hris`, `lead`, `payroll`, `pos`, `procurement`, `project-management`, `script`, `sms`, `spreadsheet`, `team-messaging`, `issue-tracking`, `time-registration`, `transactional-email`, `vault`, `data-warehouse` — example: `crm`
  - `status` `string` **required** — The status of the webhook. — enum: `enabled`, `disabled` — example: `OK`
  - `disabled_reason` `string` — Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update. — enum: `none`, `retry_limit`, `usage_limit`, `delivery_url_validation_failed` — example: `retry_limit`
  - `delivery_url` `string` **required** — The delivery url of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
  - `execute_base_url` `string` **required** — The Unify Base URL events from connectors will be sent to after service id is appended. — format: `uri` — example: `https://unify.apideck.com/webhook/webhooks/1234/execute`
  - `events` `array of string` **required** — The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.
  - `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `meta` `object` — Response metadata
  - `items_on_page` `integer` — Number of items returned in the data property of the response — example: `50`
  - `cursors` `object` — Cursors to navigate to previous or next pages through the API
    - `previous` `string` — Cursor to navigate to the previous page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjE=`
    - `current` `string` — Cursor to navigate to the current page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjI=`
    - `next` `string` — Cursor to navigate to the next page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjM=`
- `links` `object` — Links to navigate to previous or next pages through the API
  - `previous` `string` — Link to navigate to the previous page through the API — example: `https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D`
  - `current` `string` — Link to navigate to the current page through the API — example: `https://unify.apideck.com/crm/companies`
  - `next` `string` — Link to navigate to the previous page through the API — example: `https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Create webhook subscription

> **Webhook API** · `POST /webhook/webhooks`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksAdd

Create a webhook subscription to receive events.

**Delivery URL Validation**: The provided `delivery_url` will be validated synchronously by sending an HTTP POST request with an HMAC signature. If validation fails (network error, timeout, non-2xx response), the webhook will still be created but with `status: "disabled"` and `disabled_reason: "delivery_url_validation_failed"`.

**Important**: Always check the `status` and `disabled_reason` fields in the response to ensure the webhook is active.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |

### Request Body

_Required._

- `description` `string` — A description of the object. — example: `A description`
- `unified_api` `string` **required** — Name of Apideck Unified API — enum: `accounting`, `ats`, `calendar`, `crm`, `csp`, `customer-support`, `ecommerce`, `email`, `email-marketing`, `expense-management`, `file-storage`, `form`, `hris`, `lead`, `payroll`, `pos`, `procurement`, `project-management`, `script`, `sms`, `spreadsheet`, `team-messaging`, `issue-tracking`, `time-registration`, `transactional-email`, `vault`, `data-warehouse` — example: `crm`
- `status` `string` **required** — The status of the webhook. — enum: `enabled`, `disabled` — example: `enabled`
- `delivery_url` `string` **required** — The delivery url of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
- `events` `array of string` **required** — The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.

### Responses

#### 201 — Webhooks

- `status_code` `integer` **required** — HTTP Response Status Code — example: `201`
- `status` `string` **required** — HTTP Response Status — example: `Created`
- `data` `object` **required**
  - `id` `string` — example: `1234`
  - `description` `string` — A description of the object. — example: `A description`
  - `unified_api` `string` **required** — Name of Apideck Unified API — enum: `accounting`, `ats`, `calendar`, `crm`, `csp`, `customer-support`, `ecommerce`, `email`, `email-marketing`, `expense-management`, `file-storage`, `form`, `hris`, `lead`, `payroll`, `pos`, `procurement`, `project-management`, `script`, `sms`, `spreadsheet`, `team-messaging`, `issue-tracking`, `time-registration`, `transactional-email`, `vault`, `data-warehouse` — example: `crm`
  - `status` `string` **required** — The status of the webhook. — enum: `enabled`, `disabled` — example: `Created`
  - `disabled_reason` `string` — Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update. — enum: `none`, `retry_limit`, `usage_limit`, `delivery_url_validation_failed` — example: `retry_limit`
  - `delivery_url` `string` **required** — The delivery url of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
  - `execute_base_url` `string` **required** — The Unify Base URL events from connectors will be sent to after service id is appended. — format: `uri` — example: `https://unify.apideck.com/webhook/webhooks/1234/execute`
  - `events` `array of string` **required** — The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.
  - `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Get webhook subscription

> **Webhook API** · `GET /webhook/webhooks/{id}`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksOne

Get the webhook subscription details

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |

### Responses

#### 200 — Webhooks

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `object` **required**
  - `id` `string` — example: `1234`
  - `description` `string` — A description of the object. — example: `A description`
  - `unified_api` `string` **required** — Name of Apideck Unified API — enum: `accounting`, `ats`, `calendar`, `crm`, `csp`, `customer-support`, `ecommerce`, `email`, `email-marketing`, `expense-management`, `file-storage`, `form`, `hris`, `lead`, `payroll`, `pos`, `procurement`, `project-management`, `script`, `sms`, `spreadsheet`, `team-messaging`, `issue-tracking`, `time-registration`, `transactional-email`, `vault`, `data-warehouse` — example: `crm`
  - `status` `string` **required** — The status of the webhook. — enum: `enabled`, `disabled` — example: `OK`
  - `disabled_reason` `string` — Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update. — enum: `none`, `retry_limit`, `usage_limit`, `delivery_url_validation_failed` — example: `retry_limit`
  - `delivery_url` `string` **required** — The delivery url of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
  - `execute_base_url` `string` **required** — The Unify Base URL events from connectors will be sent to after service id is appended. — format: `uri` — example: `https://unify.apideck.com/webhook/webhooks/1234/execute`
  - `events` `array of string` **required** — The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.
  - `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Delete webhook subscription

> **Webhook API** · `DELETE /webhook/webhooks/{id}`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksDelete

Delete a webhook subscription

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |

### Responses

#### 200 — Webhooks

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `object` **required**
  - `id` `string` — example: `1234`
  - `description` `string` — A description of the object. — example: `A description`
  - `unified_api` `string` **required** — Name of Apideck Unified API — enum: `accounting`, `ats`, `calendar`, `crm`, `csp`, `customer-support`, `ecommerce`, `email`, `email-marketing`, `expense-management`, `file-storage`, `form`, `hris`, `lead`, `payroll`, `pos`, `procurement`, `project-management`, `script`, `sms`, `spreadsheet`, `team-messaging`, `issue-tracking`, `time-registration`, `transactional-email`, `vault`, `data-warehouse` — example: `crm`
  - `status` `string` **required** — The status of the webhook. — enum: `enabled`, `disabled` — example: `OK`
  - `disabled_reason` `string` — Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update. — enum: `none`, `retry_limit`, `usage_limit`, `delivery_url_validation_failed` — example: `retry_limit`
  - `delivery_url` `string` **required** — The delivery url of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
  - `execute_base_url` `string` **required** — The Unify Base URL events from connectors will be sent to after service id is appended. — format: `uri` — example: `https://unify.apideck.com/webhook/webhooks/1234/execute`
  - `events` `array of string` **required** — The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.
  - `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Update webhook subscription

> **Webhook API** · `PATCH /webhook/webhooks/{id}`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksUpdate

Update a webhook subscription.

**Delivery URL Validation**: When updating the `delivery_url`, it will be validated synchronously by sending an HTTP POST request with an HMAC signature. If validation fails (network error, timeout, non-2xx response), the webhook will still be updated but with `status: "disabled"` and `disabled_reason: "delivery_url_validation_failed"`. Validation only occurs when the URL is changed.

**Important**: Always check the `status` and `disabled_reason` fields in the response to ensure the webhook is active.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |

### Request Body

_Required._

- `description` `string` — A description of the object. — example: `A description`
- `status` `string` — The status of the webhook. — enum: `enabled`, `disabled` — example: `enabled`
- `delivery_url` `string` — The delivery url of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
- `events` `array of string` — The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.

### Responses

#### 200 — Webhooks

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `object` **required**
  - `id` `string` — example: `1234`
  - `description` `string` — A description of the object. — example: `A description`
  - `unified_api` `string` **required** — Name of Apideck Unified API — enum: `accounting`, `ats`, `calendar`, `crm`, `csp`, `customer-support`, `ecommerce`, `email`, `email-marketing`, `expense-management`, `file-storage`, `form`, `hris`, `lead`, `payroll`, `pos`, `procurement`, `project-management`, `script`, `sms`, `spreadsheet`, `team-messaging`, `issue-tracking`, `time-registration`, `transactional-email`, `vault`, `data-warehouse` — example: `crm`
  - `status` `string` **required** — The status of the webhook. — enum: `enabled`, `disabled` — example: `OK`
  - `disabled_reason` `string` — Indicates why the webhook has been disabled. `retry_limit`: webhook reached its retry limit. `usage_limit`: account is over its usage limit. `delivery_url_validation_failed`: delivery URL failed validation during webhook creation or update. — enum: `none`, `retry_limit`, `usage_limit`, `delivery_url_validation_failed` — example: `retry_limit`
  - `delivery_url` `string` **required** — The delivery url of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
  - `execute_base_url` `string` **required** — The Unify Base URL events from connectors will be sent to after service id is appended. — format: `uri` — example: `https://unify.apideck.com/webhook/webhooks/1234/execute`
  - `events` `array of string` **required** — The list of subscribed events for this webhook. [`*`] indicates that all events are enabled.
  - `updated_at` `string` — The date and time when the object was last updated. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
  - `created_at` `string` — The date and time when the object was created. — format: `date-time` — example: `2020-09-30T07:43:32.000Z`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Execute a webhook

> **Webhook API** · `POST /webhook/webhooks/{id}/execute/{serviceId}`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksExecute

Execute a webhook

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. |
| `serviceId` | path | `string` | Yes | Service provider ID. |

### Request Body

_Required._

- One of:
  - Option 1: object

  - Option 2: array of object

### Responses

#### 200 — Execute Webhook

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `object` **required**
  - `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`
  - `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Execute a webhook

> **Webhook API** · `POST /webhook/webhooks/{id}/x/{serviceId}`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksShortExecute

Execute a webhook

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | JWT Webhook token that represents the unifiedApi and applicationId associated to the event source. |
| `serviceId` | path | `string` | Yes | Service provider ID. |
| `l_id` | query | `string` | No | Unique identifier to used to look up consumer/connection when receiving connector events from downstream. |
| `e` | query | `string` | No | The name of downstream event when connector does not supply in body or header |

### Request Body

_Required._

- One of:
  - Option 1: object

  - Option 2: array of object

### Responses

#### 200 — Execute Webhook

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `object` **required**
  - `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`
  - `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Resolve and Execute a connection webhook

> **Webhook API** · `GET /webhook/w/{id}/{serviceId}`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhookVerify

Resolve a webhook based on lookup_id and then execute it

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | JWT Webhook token that represents the connection lookupId. Signed so we know source came from us |
| `serviceId` | path | `string` | Yes | Service provider ID. |
| `e` | query | `string` | No | The name of downstream event when connector does not supply in body or header |

### Responses

#### 200 — Resolve Webhook

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `object` **required**
  - `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`
  - `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# Resolve and Execute a connection webhook

> **Webhook API** · `POST /webhook/w/{id}/{serviceId}`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/webhooksResolve

Resolve a webhook based on lookup_id and then execute it

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | `string` | Yes | JWT Webhook token that represents the connection lookupId. Signed so we know source came from us |
| `serviceId` | path | `string` | Yes | Service provider ID. |
| `e` | query | `string` | No | The name of downstream event when connector does not supply in body or header |
| `validationToken` | query | `string` | No | Validation token for webhook verification |

### Request Body

- One of:
  - Option 1: object

  - Option 2: array of object

### Responses

#### 200 — Resolve Webhook

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `object` **required**
  - `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`
  - `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `request_id` `string` — UUID of the request received — example: `c6af9ac6-7b61-11e6-9a41-93e8deadbeef`
- `timestamp` `string` — ISO Datetime webhook event was received — example: `2021-10-01T08:26:28.039Z`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---

# List event logs

> **Webhook API** · `GET /webhook/logs`
> Canonical URL: https://developers.apideck.com/apis/webhook/reference#tag/Webhooks/operation/eventLogsAll

List event logs

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `x-apideck-app-id` | header | `string` | Yes | The ID of your Unify application |
| `cursor` | query | `string` | No | Cursor to start from. You can find cursors for next/previous pages in the meta.cursors property of the response. |
| `limit` | query | `integer` | No | Number of results to return. Minimum 1, Maximum 200, Default 20 |
| `filter` | query | `object` | No | Filter results |

### Responses

#### 200 — EventLogs

- `status_code` `integer` **required** — HTTP Response Status Code — example: `200`
- `status` `string` **required** — HTTP Response Status — example: `OK`
- `data` `array of object` **required**
  - `id` `string` — example: `1d174c4d-fe9e-4377-a76c-6da22fe9cd87`
  - `status_code` `integer` — HTTP Status code that was returned. — example: `200`
  - `success` `boolean` — Whether or not the request was successful. — example: `true`
  - `application_id` `string` — ID of your Apideck Application — example: `dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX`
  - `consumer_id` `string` — Unique consumer identifier. You can freely choose a consumer ID yourself. Most of the time, this is an ID of your internal data model that represents a user or account in your system (for example account:12345). If the consumer doesn't exist yet, Vault will upsert a consumer based on your ID. — example: `test_consumer_id`
  - `unified_api` `string` — Name of Apideck Unified API — enum: `accounting`, `ats`, `calendar`, `crm`, `csp`, `customer-support`, `ecommerce`, `email`, `email-marketing`, `expense-management`, `file-storage`, `form`, `hris`, `lead`, `payroll`, `pos`, `procurement`, `project-management`, `script`, `sms`, `spreadsheet`, `team-messaging`, `issue-tracking`, `time-registration`, `transactional-email`, `vault`, `data-warehouse` — example: `crm`
  - `service` `object` — Apideck service provider associated with event.
    - `id` `string` **required** — Apideck service provider id. — example: `101-data-solution`
    - `name` `string` **required** — Apideck service provider name. — example: `101 Data Solution`
  - `endpoint` `string` — The URL of the webhook endpoint. — format: `uri` — example: `https://example.com/my/webhook/endpoint`
  - `event_type` `string` — Name of source event that webhook is subscribed to. — example: `vault.connection.updated`
  - `execution_attempt` `number` — Number of attempts webhook endpoint was called before a success was returned or eventually failed — example: `3`
  - `http_method` `string` — HTTP Method of request to endpoint. — example: `GET`
  - `timestamp` `string` — ISO Date and time when the request was made. — example: `2021-07-12T14:26:17.420Z`
  - `entity_type` `string` — Name of the Entity described by the attributes delivered within payload — example: `Connection`
  - `request_body` `string` — The JSON stringified payload that was delivered to the webhook endpoint. — example: `{"entity":{"id":"2222+test_user_id","application_id":"2222","consumer_id":"test_user_id","name":"ActiveCampaign","icon":"https://res.cloudinary.com/apideck/image/upload/v1529455970/catalog/activecampaign/icon128x128.png","logo":"https://www.activecampaign.com/site/assets/social-2x.png","unified_api":"crm","service_id":"activecampaign","auth_type":"apiKey","enabled":true,"tag_line":"Integrated email marketing, marketing automation, and small business CRM. Save time while growing your business with sales automation.","website":"https://www.activecampaign.com/","settings":{"instance_url":"https://eu28.salesforce.com","base_url":"https://updated.api-us1.com"},"metadata":{"plan":"enterprise","account":{"name":"My Company"}},"state":"callable","created_at":"2021-09-10T10:39:49.628Z","updated_at":"2021-09-10T10:39:52.715Z"},"entityType":"Connection"}`
  - `response_body` `string` — The JSON stringified response that was returned from the webhook endpoint. — example: `{"status":"OK"}`
  - `retry_scheduled` `boolean` — If the request has not hit the max retry limit and will be retried. — example: `true`
  - `attempts` `array of object` — record of each attempt to call webhook endpoint
    - `timestamp` `string` — ISO Date and time when the request was made. — example: `2021-07-12T14:26:17.420Z`
    - `execution_attempt` `number` — Number of attempts webhook endpoint was called before a success was returned or eventually failed — example: `3`
    - `status_code` `integer` — HTTP Status code that was returned. — example: `200`
    - `success` `boolean` — Whether or not the request was successful. — example: `true`
- `meta` `object` — Response metadata
  - `items_on_page` `integer` — Number of items returned in the data property of the response — example: `50`
  - `cursors` `object` — Cursors to navigate to previous or next pages through the API
    - `previous` `string` — Cursor to navigate to the previous page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjE=`
    - `current` `string` — Cursor to navigate to the current page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjI=`
    - `next` `string` — Cursor to navigate to the next page of results through the API — example: `em9oby1jcm06OnBhZ2U6OjM=`
- `links` `object` — Links to navigate to previous or next pages through the API
  - `previous` `string` — Link to navigate to the previous page through the API — example: `https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjE%3D`
  - `current` `string` — Link to navigate to the current page through the API — example: `https://unify.apideck.com/crm/companies`
  - `next` `string` — Link to navigate to the previous page through the API — example: `https://unify.apideck.com/crm/companies?cursor=em9oby1jcm06OnBhZ2U6OjM`
- `_raw` `object` — Raw response from the integration when raw=true query param is provided

#### 400 — Bad Request

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 401 — Unauthorized

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 402 — Payment Required

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 404 — The specified resource was not found

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### 422 — Unprocessable

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

#### default — Unexpected error

> Standard error response — see [Error Responses](https://developers.apideck.com/errors)

---
