Social0|Docs
API

Webhooks (management)

Create, list, update, and delete webhook subscriptions via the Social0 API.

Overview

Manage webhook subscriptions programmatically. For delivery format, signature verification, and events, see the Webhooks guide.

MethodPathDescription
GET/v1/webhooksList subscriptions
POST/v1/webhooksCreate; returns secret once
PATCH/v1/webhooks/:idUpdate URL, events, or active
DELETE/v1/webhooks/:idRemove subscription

GET /v1/webhooks

List webhook subscriptions for the authenticated user.

Auth: Bearer API key (required)

Response 200

{
  "data": [
    {
      "id": "uuid",
      "url": "https://your-server.com/webhooks/social0",
      "events": ["post.published", "post.failed"],
      "active": true,
      "created_at": "2026-07-11T14:00:00.000Z"
    }
  ]
}

The signing secret is not returned on list — it is shown only at creation time.

cURL

curl https://api.social0.app/v1/webhooks \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

POST /v1/webhooks

Create a webhook subscription.

Auth: Bearer API key (required)

Request body

{
  "url": "https://your-server.com/webhooks/social0",
  "events": ["post.published", "post.failed", "post.scheduled", "post.deleted"]
}
FieldTypeRequiredDescription
urlstringYesHTTPS endpoint URL (public, no localhost)
eventsstring[]YesEvents to subscribe to

Available events: post.published, post.failed, post.scheduled, post.deleted

Response 201

{
  "id": "uuid",
  "url": "https://your-server.com/webhooks/social0",
  "events": ["post.published", "post.failed"],
  "active": true,
  "secret": "whsec_…",
  "created_at": "2026-07-11T14:00:00.000Z"
}

The secret is shown once. Store it immediately for signature verification.

cURL

curl -X POST https://api.social0.app/v1/webhooks \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-server.com/webhooks/social0",
    "events": ["post.published", "post.failed"]
  }'

PATCH /v1/webhooks/:id

Update a webhook subscription.

Auth: Bearer API key (required)

Request body

Any combination of:

{
  "url": "https://new-url.com/webhooks",
  "events": ["post.published"],
  "active": false
}
FieldTypeDescription
urlstringNew endpoint URL
eventsstring[]Updated event list
activebooleanEnable or disable delivery

Response 200

Returns the updated webhook object (without secret).

cURL

curl -X PATCH https://api.social0.app/v1/webhooks/WEBHOOK_UUID \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"active": false}'

DELETE /v1/webhooks/:id

Remove a webhook subscription.

Auth: Bearer API key (required)

Response 204

Empty body on success.

cURL

curl -X DELETE https://api.social0.app/v1/webhooks/WEBHOOK_UUID \
  -H "Authorization: Bearer sk_live_YOUR_KEY"

Errors

HTTPCodeWhen
401invalid_api_keyMissing or invalid API key
404not_foundWebhook not found

On this page