---
api: 'Merchant API'
---

# Retrieve a webhook

Get the details of a specific webhook, including its `signing_secret`.

## Endpoint

GET `/api/webhooks/{webhook_id}`

## Returns

### 200

OK

#### Response attributes

- `id` (string)
    The ID of the webhook.
- `url` (string)
    Your webhook's URL to which event notifications will be sent. 
    
    Must be a valid HTTP or HTTPS URL, capable of receiving `POST` requests.
    
    :::warning
    Restrictions:
    - Must be a valid URI as defined by [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986)
    - URI scheme is required and must be either `http` or `https`
    - URI host is required and cannot be `localhost` or an IP address
    - Max length: `2000`
    - Reserved or invalid characters must be percent-encoded (for example, use `%20` instead of a space)
    :::
- `events` (array of enum)
    List of event types that the webhook is configured to listen to.
    
    Each event is related to status changes of a specific object in the Merchant API:
    
      | Object | Event types |
      | --------- | ----------- |
      | `Order`   | <ul> <li>`ORDER_COMPLETED`</li> <li>`ORDER_AUTHORISED`</li> <li>`ORDER_CANCELLED`</li> <li>`ORDER_FAILED`</li> <li>`ORDER_INCREMENTAL_AUTHORISATION_AUTHORISED`</li> <li>`ORDER_INCREMENTAL_AUTHORISATION_DECLINED`</li> <li>`ORDER_INCREMENTAL_AUTHORISATION_FAILED`</li> </ul> |
      | `Payment` | <ul> <li>`ORDER_PAYMENT_AUTHENTICATION_CHALLENGED`</li> <li>`ORDER_PAYMENT_AUTHENTICATED`</li> <li>`ORDER_PAYMENT_DECLINED`</li> <li>`ORDER_PAYMENT_FAILED`</li> </ul> |
      | `Subscription`  | <ul> <li>`SUBSCRIPTION_INITIATED`</li> <li>`SUBSCRIPTION_FINISHED`</li> <li>`SUBSCRIPTION_CANCELLED`</li> <li>`SUBSCRIPTION_OVERDUE`</li></ul> |
      | `Payout`  | <ul> <li>`PAYOUT_INITIATED`</li> <li>`PAYOUT_COMPLETED`</li> <li>`PAYOUT_FAILED`</li> </ul> |
      | `Dispute`  | <ul> <li>`DISPUTE_ACTION_REQUIRED`</li> <li>`DISPUTE_UNDER_REVIEW`</li> <li>`DISPUTE_WON`</li> <li>`DISPUTE_LOST`</li></ul> |
- `signing_secret` (string)
    The signing secret for the webhook. Use it to verify the signature for the webhook request's payload.

## Error responses

| HTTP status code | Description |
| --- | --- |
| 401 | Unauthorized |
| 404 | Not Found |
