Ferndesk

Webhooks

Send a test delivery

Queues a webhook.test event through the real delivery pipeline (signed identically to production events). Delivery is asynchronous: poll GET /webhooks/{id}/deliveries/{delivery_id} for the result. Requires the webhooks:manage scope.

Required scope: webhooks:manage

POST /webhooks/{id}/test

Send a test delivery

curl --request POST \
  --url 'https://api.ferndesk.com/v1/webhooks/{ID}/test' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "delivery_id": "<string>"
}

Test delivery queued

Authorizations

  • Authorization string required header

    All requests require a Bearer token in the Authorization header. API keys are prefixed with fdsk_ and should be kept secret. You can generate and manage keys from the Developer settings page.

    Keys can be restricted to any subset of these scopes (each endpoint lists the scope it requires via x-required-scopes):

    • content:read: Read and search help center articles, collections, sections, and translations
    • content:write: Create and edit article drafts, users, tasks; move articles and collections
    • content:publish: Publish, unpublish, restore, and trash content (make changes live)
    • analytics:read: Read help center reporting, analytics, and article feedback
    • conversations:read: Read AI assistant conversations and transcripts
    • webhooks:manage: Create and manage outbound webhook subscriptions

    Granting content:write or content:publish implies content:read. Keys minted before scoping have null scopes = full access (legacy mode).

Path Parameters

  • id string required

    Webhook endpoint ID (whep_...). Example: whep_01JXY9AZK4KV

Response

application/json
  • delivery_id string

    ID of the queued test delivery. Poll GET /webhooks/{id}/deliveries/{delivery_id} for the result.