---
title: "List webhook subscriptions"
method: GET
path: "/subscriptions"
tags: ["Subscriptions"]
---

# List webhook subscriptions

`GET /subscriptions`

## Request

- Base URL: `https://api.textla.com/v1`
- URL: `https://api.textla.com/v1/subscriptions`
- Auth: HTTP bearer

Returns the cursor-paginated webhook subscriptions for the authenticated account.

## Query parameters

- `cursor` string: Opaque next_cursor from a prior page; omit to start at the beginning.
- `limit` integer: Maximum subscriptions to return in the page.

## Response `200`

OK

- SubscriptionPage
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `items` Subscription[], nullable, required: Subscriptions in this page.
    - `$schema` string, uri: A URL to the JSON Schema for this object.
    - `account_id` string, required: Account that owns the subscription.
    - `action` string, required: What a matched event does: deliver a signed webhook, or send a notification to a user.
    - `custom_headers` object, nullable, required: Additive request headers applied to each delivery. Advisory: the delivery sink drops any that would shadow a reserved header or carry an unsafe value. Values are NOT secret — stored in plaintext and returned on read, so do not put credentials here.
    - `disabled` boolean, required: A disabled subscription matches nothing.
    - `id` string, required: Service-minted subscription id.
    - `notification` NotificationActionOutput, required
      - `cadence` string
      - `channels` string[], nullable, required: Delivery channels for the notification: at least one of email, in_app.
      - `filters` FilterOutput[], nullable, required: Optional payload predicates; dispatch drops a subscription whose filter does not match the event.
        - `op` string, required: Comparison operator: eq, ne, in, nin, matches or not_matches.
        - `path` string, required: Dotted path into the event payload.
        - `value` unknown, required
      - `recipient_user_id` string, nullable, required: The notified user, resolved to a channel-scoped address at send time.
      - `send_at` string
    - `target_url` string, required: Absolute https webhook destination. Empty for a notification subscription.
    - `types` string[], nullable, required: Event types this subscription wants.
  - `next_cursor` string, nullable, required: Cursor for the next page. Null when this is the last page.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `412`: Precondition Failed
- `422`: Unprocessable Entity
- `500`: Internal Server Error
- `502`: Bad Gateway
- `503`: Service Unavailable
- `504`: Gateway Timeout

---

[API](https://skmtc.dev/textla/apis/textla-api.md) - [All operations](https://skmtc.dev/textla/apis/textla-api/llms.txt) - [OpenAPI document](https://skmtc.dev/textla/apis/textla-api/revisions/473f03350bc1?raw)
