---
title: "Get a webhook subscription"
method: GET
path: "/api/external/v2/webhook_subscriptions/{id}"
tags: ["Webhooks"]
---

# Get a webhook subscription

`GET /api/external/v2/webhook_subscriptions/{id}`

## Request

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

This endpoint allows you to retrieve a webhook subscription by ID.
Note that the secret is not included in the response.

## Path parameters

- `id` integer, required

## Response `200`

A webhook subscription

- object
  - `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

## Other responses

- `400`: Bad request
- `401`: Access token is missing or invalid
- `403`: Access to this resource forbidden
- `404`: The resource was not found

## Changes

- **2026-11-03** `871f863307e5`: 1 warning, 2 info
  - added the new `supplier_invoice.e_invoicing_received` enum value to the `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/:id/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)
