# Webhooks Management

TIP

This page covers the API for managing your webhooks programmatically. For documentation on the webhook events that Wolfeo sends to your endpoints, see the Webhooks section.

NOTE

The URI for the API endpoint is often the same for multiple endpoints, the difference being in HTTP methods.

# List Webhooks

GET https://api.wolfeo.me/v1/webhooks

Returns all webhooks registered on your account.

# Example Request

curl --request GET "https://api.wolfeo.me/v1/webhooks" \
  --header "Authorization: Bearer YOUR_API_KEY"

# Sample Return

{
    "success": true,
    "data": [
        {
            "webhook_id": 1,
            "url": "https://example.com/webhook",
            "active": true,
            "created_at": "2024-01-01T09:00:00.000000Z"
        }
    ]
}

# Create Webhook

POST https://api.wolfeo.me/v1/webhook

Registers a new webhook endpoint. A random signing secret is generated automatically.

# Example Request

curl --request POST "https://api.wolfeo.me/v1/webhook" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"url": "https://example.com/webhook"}'

# Parameters

Parameter Type Description
url* string The HTTPS URL to receive events

* denotes a required parameter

# Sample Return

HTTP 201 Created

{
    "success": true,
    "data": {
        "webhook_id": 1,
        "url": "https://example.com/webhook",
        "active": true,
        "secret": "aBcDeFgHiJkLmNoPqRsTuVwXyZ123456"
    }
}

Store your secret

The secret is only returned once at creation time. Store it securely โ€” it is used to verify the signature on incoming webhook events. See Webhooks Overview & Signing for details.

# Possible Errors

Code HTTP Description
WEBHOOK_EXISTS 409 A webhook with this URL already exists
VALIDATION_ERROR 422 url is missing or not a valid URL

# Delete Webhook

DELETE https://api.wolfeo.me/v1/webhook

Removes a webhook. No further events will be sent to that URL.

# Example Request

curl --request DELETE "https://api.wolfeo.me/v1/webhook" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{"webhook_id": 1}'

# Parameters

Parameter Type Description
webhook_id* integer The webhook ID

* denotes a required parameter

# Sample Return

{
    "success": true,
    "data": {
        "webhook_id": 1,
        "deleted": true
    }
}

# Possible Errors

Code HTTP Description
NOT_FOUND 404 Webhook not found

# What's next