# List webhooks

Retrieves a paginated list of webhook endpoints.

Endpoint: POST /webhooks/list
Version: 2.0.0
Security: bearerAuth

## Request fields (application/json):

  - `pagination` (object)
    Pagination details.

  - `pagination.page_size` (integer, required)
    Number of items returned in this response.
    Example: 20

  - `pagination.next_page_token` (string)
    Token to retrieve the next page of results. It is empty on the last page.
    Example: "eyJMYXN0SUQiOiIxYTYyYjQ0Ni01ZDM0LTRiYTQtOGRlZS02NTM5NTU0NjY2MTQifQ=="

## Response 200 fields (application/json):

  - `items` (array)
    List of webhook endpoints for the current page.
    Example: [{"id":"wep_e2ab41b4-ffa6-490b-9cff-bd3288425aa0","name":"Billing webhook endpoint","description":"Receives billing events for integration","url":"https://mycompany.com/solidgate/webhook","event_types":["INVOICE_CREATED","CUSTOMER_UPDATED"],"status":"ACTIVE","included_channel_ids":["12345","67890"],"created_at":"2024-01-01T10:00:00.000000Z","updated_at":"2024-01-02T15:00:00.000000Z"}]

  - `items.id` (string, required)
    Unique webhook endpoint identifier.
    Example: "wep_e2ab41b4-ffa6-490b-9cff-bd3288425aa0"

  - `items.url` (string, required)
    URL where the webhook events are sent.
    Example: "https://mycompany.com/solidgate/webhook"

  - `items.event_types` (array, required)
    List of event types the webhook subscribes to.
    Example: ["INVOICE_CREATED","CUSTOMER_UPDATED"]

  - `items.status` (string, required)
    Webhook endpoint status.
    Enum: "ACTIVE", "INACTIVE"

  - `items.created_at` (string, required)
    Date and time when the webhook endpoint was created.
    Example: "2024-01-01T10:00:00.000000Z"

  - `items.updated_at` (string, required)
    Date and time when the webhook endpoint was last updated.
    Example: "2024-01-02T15:00:00.000000Z"

  - `items.name` (string, required)
    Webhook endpoint name.
    Example: "Billing webhook endpoint"

  - `items.description` (string)
    Webhook endpoint description.
    Example: "Receives billing events for integration"

  - `items.included_channel_ids` (array)
    List of channel IDs to include in the webhook events.
Cannot be used together with excluded_channel_ids.
    Example: ["chn_01ARZ3NDEKTSV4RRFFQ69G5FAV","chn_01KTXHKMEXBM5JMEQAHBCV6802"]

  - `items.excluded_channel_ids` (array)
    List of channel IDs to exclude from the webhook events.
Cannot be used together with included_channel_ids.
    Example: ["chn_01ARZ3NDEKTSV4RRFFQ69G5FAV","chn_01KTXHKMEXBM5JMEQAHBCV6802"]

  - `items.rotate_at` (string)
    Date and time when the previous secret expires, and the new secret becomes the only valid secret. Present while a secret rotation is in progress.
    Example: "2026-04-08T12:11:10.877301Z"

  - `pagination` (object)
    Pagination details.

  - `pagination.page_size` (integer, required)
    Number of items returned in this response.
    Example: 20

  - `pagination.next_page_token` (string)
    Token to retrieve the next page of results. It is empty on the last page.
    Example: "eyJMYXN0SUQiOiIxYTYyYjQ0Ni01ZDM0LTRiYTQtOGRlZS02NTM5NTU0NjY2MTQifQ=="

## Response 400 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "VALIDATION"

  - `message` (string, required)
    Message describing the error.
    Example: "One or more fields failed validation due to constraints"

  - `context` (object, required)
    Additional context about the validation error, including specific constraints.
    Example: {"constraints":{"email":{"type":"TYPE","message":"The 'email' field must be a valid email address"},"age":{"type":"MIN","message":"The 'age' field must be a number greater than or equal to 18"}}}

  - `context.constraints` (object, required)
    Failed constraints keyed by the field name.
    Example: {"email":{"type":"TYPE","message":"The 'email' field must be a valid email address"},"age":{"type":"MIN","message":"The 'age' field must be a number greater than or equal to 18"}}

## Response 401 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "UNAUTHENTICATED"

  - `message` (string, required)
    Message describing the error.
    Example: "Credentials are invalid or missing"

## Response 403 fields (application/json):

  - `code` (string, required)
    Code identifying the error type.
    Enum: "PERMISSION_DENIED"

  - `message` (string, required)
    Message describing the error.
    Example: "Permission denied"


