---
title: "List webhook subscriptions"
method: GET
path: "/api/external/v2/webhook_subscriptions"
tags: ["Webhooks"]
---

# List webhook subscriptions

`GET /api/external/v2/webhook_subscriptions`

## Request

- Base URL: `https://app.pennylane.com`
- URL: `https://app.pennylane.com/api/external/v2/webhook_subscriptions`
- Auth: OAuth 2
  - Authorization code: `https://app.pennylane.com/oauth/authorize`
  - Token URL: `https://app.pennylane.com/oauth/oauth/token`

Returns all webhook subscriptions for the authenticated token, paginated.
Note that the secret is not included in the response.

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

A paginated list of webhook subscriptions

- object
  - `items` object[], required
    - `id` integer, required: ID of the webhook subscription
    - `callback_url` string, uri, required: HTTPS URL where webhook events are sent
    - `events` string[], required: Array of event types to subscribe to. - `customer_invoice.e_invoicing_status_updated`: the event is triggered when a customer invoice e-invoicing status is updated. - `dms_file.created`: the event is triggered when a dms file is created. - `supplier_invoice.e_invoicing_received`: the event is triggered when a supplier e-invoice is received via the Pennylane PA (Plateforme Agrée).
    - `enabled` boolean, required: Indicates whether the webhook subscription is active
    - `disabled_at` string, date-time, nullable, required: Timestamp when the subscription was disabled
    - `disabled_reason` 'permanent_error' | 'repeated_failure' | 'manual', nullable, required: Reason the subscription was disabled. - `permanent_error`: disabled due to a permanent delivery error (HTTP 401, 403, 404, or 410). - `repeated_failure`: disabled after repeated delivery failures over a sustained period. - `manual`: disabled manually via the API.
    - `last_failure_status` integer, nullable, required: HTTP status code of the last failed delivery attempt
    - `last_failure_at` string, date-time, nullable, required: Timestamp of the last failed delivery attempt
    - `consecutive_failures` integer, required: Number of consecutive delivery failures since the last successful delivery
    - `created_at` string, date-time, required: Creation date of the webhook subscription
    - `updated_at` string, date-time, required: Last update date of the webhook subscription
  - `has_more` boolean, required: Indicates whether additional results are available
  - `next_cursor` string, nullable, required: Cursor to retrieve the next set of results

## Other responses

- `400`: Bad request
- `401`: Access token is missing or invalid
- `403`: Access to this resource forbidden

## Changes

- **2026-11-03** `871f863307e5`: 1 warning, 2 info
  - added the new `supplier_invoice.e_invoicing_received` enum value to the `items/items/events/items/` response property for the response status `200`
  - api tag `Webhooks` added
  - api tag `Hidden` removed

[Operation history](https://skmtc.dev/pennylane/apis/company-v2/changes/api/external/v2/webhook_subscriptions/get.md)

---

[API](https://skmtc.dev/pennylane/apis/company-v2.md) - [All operations](https://skmtc.dev/pennylane/apis/company-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/pennylane/apis/company-v2/revisions/871f863307e5?raw)
