> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gateway.connexease.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Webhook

> Read the webhook configuration currently active for an application.

## What it does

Returns the webhook configuration that is currently active for the application — the destination URL, the custom headers the Gateway attaches when it calls you, and which event types you are subscribed to. Read-only; nothing is changed.

Use it to verify a configuration after an update, or to check which events an app is receiving before you debug a missing payload.

<Note>
  `GET` and the update call share the same path. Sending the path with no body reads the configuration; sending a body updates it — see [Update Webhook](/public-api-reference/developers/update-webhook).
</Note>

***

## Endpoint

```text theme={null}
GET /api/v1/apps/{app_id}/webhook
```

### Headers

<ParamField header="Authorization" type="string" required>
  Secret key in `Bearer sk_...` format. See [Secret Key authentication](/essentials/authentication#secret-key).
</ParamField>

### Path parameters

<ParamField path="app_id" type="string" required>
  Application ID. Must belong to the organization (otherwise `404`).
</ParamField>

***

## Response

<ResponseField name="isSuccess" type="boolean">
  `true` when the configuration was read successfully.
</ResponseField>

<ResponseField name="data" type="object">
  The active webhook configuration.

  <Expandable title="data">
    <ResponseField name="id" type="string">
      UUID of the webhook configuration.
    </ResponseField>

    <ResponseField name="url" type="string">
      The HTTPS endpoint the Gateway posts events to.
    </ResponseField>

    <ResponseField name="headers" type="object">
      Custom headers sent with every delivery, as a key → value map. Empty object when none are configured.
    </ResponseField>

    <ResponseField name="subscribedEvents" type="object">
      Event name → boolean map. See [Webhook Event](/public-api-reference/developers/reference/enums#webhook-event) for the five values.
    </ResponseField>

    <ResponseField name="isActive" type="boolean">
      Whether deliveries are currently enabled for this configuration.
    </ResponseField>

    <ResponseField name="createdAt" type="string">
      ISO-8601 timestamp of creation.
    </ResponseField>

    <ResponseField name="updatedAt" type="string">
      ISO-8601 timestamp of the last change.
    </ResponseField>
  </Expandable>
</ResponseField>

***

## Examples

<AccordionGroup>
  <Accordion title="Demo 1 — read the active webhook">
    ```text theme={null}
    GET /api/v1/apps/app_7poyXj8GXuv76e/webhook
    Authorization: Bearer sk_...
    ```

    ```json theme={null}
    {
      "data": {
        "id": "bb17a17e-9ce1-4c78-88ac-b48f53d322bc",
        "url": "https://webhook.site/89ac1ca8-22cc-42c3-9f07-49a47f8f6a13",
        "headers": {
          "X-Signature-Token": "s3cr3t"
        },
        "subscribedEvents": {
          "messages": true,
          "message_status": true,
          "message_template_status": false,
          "read": true,
          "account": false
        },
        "isActive": true,
        "createdAt": "2026-08-10T22:45:42.314912Z",
        "updatedAt": "2026-08-20T13:36:56.564277Z"
      },
      "isSuccess": true
    }
    ```
  </Accordion>

  <Accordion title="Demo 2 — app not in the organization → 404">
    ```text theme={null}
    GET /api/v1/apps/app_notMine/webhook
    Authorization: Bearer sk_...
    ```

    ```json theme={null}
    { "errors": { "code": "APPLICATION_004", "group": "NOT_FOUND", "description": "Application not found." }, "isSuccess": false }
    ```
  </Accordion>
</AccordionGroup>

***

## Errors

<ResponseField name="errors" type="object">
  Error details with `code`, `group`, and `description`; `isSuccess` is `false`.
</ResponseField>

| HTTP | Code                      | Group       | When                                          |
| ---- | ------------------------- | ----------- | --------------------------------------------- |
| 401  | `ORGANIZATION_SECRET_010` | `NOT_FOUND` | Authorization / secret key is missing.        |
| 401  | `ORGANIZATION_SECRET_011` | `NOT_FOUND` | Secret key is invalid.                        |
| 404  | `APPLICATION_004`         | `NOT_FOUND` | `app_id` does not belong to the organization. |

***

## Next steps

<CardGroup cols={2}>
  <Card title="Update Webhook" icon="link" href="/public-api-reference/developers/update-webhook">
    Change the URL, headers, or event subscriptions.
  </Card>

  <Card title="Webhook payloads" icon="bell" href="/api-reference/webhooks">
    What each event body looks like and how retries work.
  </Card>
</CardGroup>
