Webhook events

Event rejected

An event was sent with an idempotency key that already belongs to an event with a different payload. Scrip sends this request to every endpoint subscribed to event.rejected, signed with both the Standard Webhooks headers (webhook-id, webhook-timestamp, webhook-signature) and the Scrip-Signature header; verify either one.

postWebhookevent.rejected

Payload

api_versionstring required

The payload contract that data follows. Scrip adds fields without changing it, so ignore fields you do not know.

created_atstring date-time required

When Scrip created the event, as an RFC 3339 timestamp.

idstring uuid required

The id of the webhook event. It is the same for every endpoint that receives the event.

organization_idstring uuid required

The organization that owns the event.

testboolean

True on a delivery from a test send. It is absent on a real delivery.

type'event.rejected' required

The event type.

Example payload

{
  "api_version": "2026-10-07",
  "created_at": "2027-01-15T10:30:00Z",
  "data": {
    "idempotency_key": "order-1001-completed",
    "organization_id": "b6c2e8f4-9a1d-4d37-8e52-7c0a9f3b1d20",
    "original_event_id": "e5dc1b6a-7f3d-4e2a-8c1b-9a0f4d7e6c05",
    "program_id": "8f14e45f-ceea-4e70-9df8-2a7d1b3c9f01",
    "reason": "idempotency_conflict",
    "rejected_at": "2027-01-15T10:30:00Z"
  },
  "id": "0e7c2f3a-4f6e-4a39-9a0b-6f1d3c8b2e11",
  "organization_id": "b6c2e8f4-9a1d-4d37-8e52-7c0a9f3b1d20",
  "test": true,
  "type": "event.rejected"
}

Response

Return any 2xx status to acknowledge the delivery. Scrip retries any other status except 410 Gone, which ends the delivery as FAILED.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.