# List webhook subscriptions

## List all webhook subscriptions

> This endpoint allows you to list all webhook subscriptions for a workspace. You can filter the subscriptions by interactionType, status, and other filters.\
> This will return a maximum of 100 webhook subscriptions per page, but 10 as default. You can use the \`limit\` and \`cursor\` query parameters to paginate the results. Learn more about pagination in the Common API Usage pagination section.<br>

```json
{"openapi":"3.0.3","info":{"title":"Notifications","version":"1.0.0"},"tags":[{"name":"Webhooks","description":"Manage webhooks"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token","scheme":"AccessKey","type":"http"}},"parameters":{"querySearchFilters":{"name":"SearchFilters","description":"You can use this parameter to filter the results based on the search criteria. \nTo get all subscriptions for the service channels, you can use it like this: SearchFilter[service]=channels\n","in":"query","required":false,"schema":{"type":"object","additionalProperties":{"type":"string"}}},"pagination.param.limit":{"description":"Limits the number of results to return.","in":"query","name":"limit","schema":{"default":25,"maximum":100,"type":"integer"}},"pagination.param.pageToken":{"description":"The cursor that keeps track of the current position in the results.","in":"query","name":"pageToken","schema":{"type":"string"}}},"schemas":{"WebhookSubscriptionsList":{"type":"object","additionalProperties":false,"properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/WebhookSubscription"}}}},"WebhookSubscription":{"type":"object","required":["id","organizationId","workspaceId","service","event","url","status"],"additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier for the webhook subscription. This identifier is used to reference the webhook subscription in other API calls.\n"},"organizationId":{"$ref":"#/components/schemas/WebhookOrganizationId"},"workspaceId":{"$ref":"#/components/schemas/WebhookWorkspaceId"},"service":{"$ref":"#/components/schemas/WebhookService"},"event":{"$ref":"#/components/schemas/WebhookEvent"},"eventFilters":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventFilter"}},"template":{"$ref":"#/components/schemas/Template"},"url":{"$ref":"#/components/schemas/Url"},"signingKey":{"$ref":"#/components/schemas/SigningKey"},"status":{"$ref":"#/components/schemas/WebhookSubscriptionStatus"},"statusReason":{"type":"string","description":"A human-readable explanation for the current status of the webhook subscription.\n"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}}},"WebhookOrganizationId":{"type":"string","format":"uuid"},"WebhookWorkspaceId":{"type":"string","format":"uuid"},"WebhookService":{"type":"string","enum":["channels","numbers","payments","conversations","templates"],"description":"The service that the webhook is subscribed to. For example, to get events regarding channels, the service would be `channels`.\n"},"WebhookEvent":{"type":"string","description":"The event name identifies the webhook event, such as `sms.outbound` for notifications about SMS messages being sent."},"WebhookEventFilter":{"type":"object","required":["key","value"],"additionalProperties":false,"properties":{"key":{"type":"string","enum":["channelId","platformId","channelStatus","interactionType","messageStatus","status","eventDestination","navigatorId"]},"value":{"type":"string"}},"description":"Filters used to narrow down events sent to the webhook. For example, if you want to receive events for a specific platform,\na valid filterKey would be `platformId` with a value of `sms`."},"Template":{"type":"string","description":"Used for our Exit APIs for Twilio and Sinch.\nMore information can be found [here](https://docs.bird.com/api/channels-api/supported-channels/programmable-sms/twilio-exit-api) for Twilio and [here](https://docs.bird.com/api/channels-api/supported-channels/programmable-sms/sinch-exit-api) for Sinch.\n"},"Url":{"type":"string","pattern":"^https://([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}(:[0-9]+)?(/[^\\s]*)?$","description":"The URL of the webhook is used to send events to the webhook. The URL must be a valid URL that respects the established pattern and is accessible from the internet.\n"},"SigningKey":{"type":"string","description":"The signing key for the webhook and can be used to verify the authenticity of the webhook.\n"},"WebhookSubscriptionStatus":{"type":"string","enum":["active","inactive"]},"paginationResponse":{"type":"object","properties":{"nextPageToken":{"type":"string","description":"The token that can be passed as pageToken in URL to retrieve the next set of results. If missing, no more results to display."}}}}},"paths":{"/workspaces/{workspaceId}/webhook-subscriptions":{"get":{"summary":"List all webhook subscriptions","operationId":"listWebhookSubscriptions","description":"This endpoint allows you to list all webhook subscriptions for a workspace. You can filter the subscriptions by interactionType, status, and other filters.\nThis will return a maximum of 100 webhook subscriptions per page, but 10 as default. You can use the `limit` and `cursor` query parameters to paginate the results. Learn more about pagination in the Common API Usage pagination section.\n","tags":["Webhooks"],"parameters":[{"$ref":"#/components/parameters/querySearchFilters"},{"$ref":"#/components/parameters/pagination.param.limit"},{"$ref":"#/components/parameters/pagination.param.pageToken"}],"responses":{"200":{"description":"A list of webhook subscriptions was returned. The list can be empty if no webhook subscriptions are found.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/WebhookSubscriptionsList"},{"$ref":"#/components/schemas/paginationResponse"}]}}}}}}}}}
```

***

## Examples

Let's establish some of our data that will be used in the following example:

* **Workspace ID**: a1405560-c8d3-4b1a-877d-3f449ad95352
* **AccessKey:** abcd

{% tabs %}
{% tab title="Request" %}

```bash
curl -X GET "https://api.bird.com/workspaces/a1405560-c8d3-4b1a-877d-3f449ad95352/webhook-subscriptions" \
-H "Content-Type: application/json" \
-H "Authorization: AccessKey abcd"
```

{% endtab %}

{% tab title="Response (200 -  OK)" %}

```json
{
  "nextPageToken": "WyJvcmdhbml6YXRpb25zI2ZmMWE1OTQ5LWE3MDQtNDhkMi05OWQ5LWIyY2RmYjdmZWYzZSN3b3Jrc3BhY2VzI2IyZDdhMDEzLTg2ZGYtNGFhNy04MjQ1LThmMzcxNWM4N2FlMiN3ZWJob29rLXN1YnNjcmlwdGlvbnMiLCJ3ZWJob29rLXN1YnNjcmlwdGlvbiNhNWMzOWE1Mi0wMDViLTQwOWUtOTM3ZC0yNzE3YzkxODk3OWMiLCJvcmdhbml6YXRpb25zI2ZmMWE1OTQ5LWE3MDQtNDhkMi05OWQ5LWIyY2RmYjdmZWYzZSN3b3Jrc3BhY2VzI2IyZDdhMDEzLTg2ZGYtNGFhNy04MjQ1LThmMzcxNWM4N2FlMiN3ZWJob29rLXN1YnNjcmlwdGlvbnMiLCJ3ZWJob29rLXN1YnNjcmlwdGlvbiNhNWMzOWE1Mi0wMDViLTQwOWUtOTM3ZC0yNzE3YzkxODk3OWMiXQ==",
  "results": [
    {
      "id": "b02e99b2-dc38-4e2d-b349-d9e1fd772c44",
      "organizationId": "823fbfaf-f14e-4693-b55a-8ec1c17d649e",
      "workspaceId": "a1405560-c8d3-4b1a-877d-3f449ad95352",
      "service": "payments",
      "event": "intent",
      "template": "",
      "url": "https://www.test.com",
      "status": "active",
      "createdAt": "2024-09-30T12:31:36.106613753Z",
      "updatedAt": "2024-09-30T12:31:36.106613843Z"
    },
    {
      "id": "a5c39a52-005b-409e-937d-2717c918979c",
      "organizationId": "823fbfaf-f14e-4693-b55a-8ec1c17d649e",
      "workspaceId": "a1405560-c8d3-4b1a-877d-3f449ad95352",
      "service": "channels",
      "event": "whatsapp.interaction",
      "eventFilters": [
        {
          "key": "channelId",
          "value": "f788aecc-4886-5ee9-b392-de28bc2fd063"
        },
        {
          "key": "interactionType",
          "value": "read"
        }
      ],
      "template": "",
      "url": "https://webhook.site/68be485e-5faa-4363-8033-2e3d236830db",
      "status": "active",
      "createdAt": "2024-11-21T10:44:38.824639879Z",
      "updatedAt": "2024-11-21T10:44:38.824640035Z"
    }
  ]
```

{% endtab %}
{% endtabs %}

**Note**: if you have more than 10 webhook subscriptions, the results may be paginated. To know more about how to use the nextPageToken to get the following results, refer to this [pagination documentation](/api/api-access/common-api-usage.md#pagination).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/api/notifications-api/api-reference/webhook-subscriptions/list-webhook-subscriptions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
