Yearly Pay yearly and get 2 months free on every paid plan. See plans
Sign in Start free

Webhook designer

A production webhook contract: payloads, signatures, retries, idempotency, versioning.

Run this template ≈ 1,000 Runs

Sample: input → output

Input
Events + consumers
payment events: succeeded, failed, refunded — consumers are customer backends
Sample outputMade on 27 October 2026

Payment Webhook System

1. Event Types

  • payment.succeeded
  • payment.failed
  • payment.refunded

Events are delivered via HTTPS POST to a customer-configured endpoint.

2. Event Envelope

{
  "id": "evt_01HTY8Z3N7Y6WQ2WQ4T91P7R5A",
  "type": "payment.succeeded",
  "timestamp": "2025-03-08T14:52:31.482Z",
  "version": "2025-01-01",
  "data": {
    "payment_id": "pay_01HTY8XJ0DQK8TQ3W6A8KJX9P2",
    "amount": 4999,
    "currency": "USD",
    "status": "succeeded",
    "customer_id": "cus_12345",
    "order_id": "order_98765"
  }
}

Field definitions…

Read the full sample →
Run this template The form opens filled with this sample's inputs; change anything.

Similar templates

Sample outputText
Library Management REST API Base URL: https://api.example.com/v1 All request and response bodies use application/json. Dates use ISO 8601 in UTC. Resource IDs are UUIDs. Endpoint Table Books Method Path Purpose Status Codes GET /books List and filter books 200, 400 POST /books Create a book record 201, 400, 409, 422 GET /books/{bookId} Retrieve a book 200, 404 PATCH /books/{bookId} Update book metadata or inventory 200, 400, 404, 409, 422 …
Read the full sample →

REST API designer

Input: a library management API: books, members, loans, reservations

≈ 1,000
Use this
Sample outputText
add(a, b) Adds two values using JavaScript’s + operator. Parameters Name Type Constraints a any None. If either operand is a string, string concatenation may occur. b any None. If either operand is a string, string concatenation may occur. Returns any — The result of evaluating a + b. Errors This function does not explicitly throw errors. JavaScript may throw a TypeError for incompatible operand types, such as mixing a bigint with a number. Example const result = add(2, 3);…
Read the full sample →

API doc writer

Input: function add(a, b) { return a + b; }

≈ 1,000
Use this
Sample outputText
The Cost of Doing Nothing Assumptions Replace these inputs with internal figures as needed: 20 engineers run or wait for CI an average of 2 times per day 220 working days per year Fully loaded engineering cost: $150/hour Current suite duration: 45 minutes Estimated productive time lost per run: 15 minutes due to parallel work, context switching, and delayed feedback 5 flaky-test reruns or investigations per day, averaging 20 minutes each 2 production incidents last quarter traced to untested paths Average incident cost:…
Read the full sample →

Tech debt business case

Input: our test suite takes 45 minutes, flaky tests get skipped, two incidents last quarter traced to untested paths

≈ 1,000
Use this