Create a webhook

POST/api/v1/webhooks

Registers an https endpoint. The response carries the signing secret exactly once; store it. Every plan allows as many webhooks as you need, and each one receives every alert.

Request

Body parameters

urlstring

Absolute https URL on a public host.

namestring

Optional label, up to 80 characters.

Response

Returns a JSON object with a data field containing the result.

Response fields

dataobject

The webhook (same shape as List webhooks).

secretstring

The HMAC key for X-Webhook-Signature. Shown once.

curl -X POST https://redship.io/api/v1/webhooks \
-H "Authorization: Bearer rsp_your_key" \
-H "Content-Type: application/json" \
-d '{"name":"prod","url":"https://example.com/reddit-alerts"}'
Success response201
{
"data": {
  "id": "8d1f…",
  "name": "prod",
  "url": "https://example.com/reddit-alerts",
  "active": true,
  "last_delivery_at": null,
  "total_deliveries": 0,
  "last_error": null,
  "consecutive_failures": 0,
  "created_at": "2026-08-26T09:00:00+00:00"
},
"secret": "3f9a…64 hex characters…"
}

Errors: 422 invalid_body when the URL is not https or points at a private host. See Webhook payload for what arrives and how to verify it.