Skip to content
AchaduDevelopers
Operational APIGo to website ↗
Dashboard →
Developers/API/webhook_create
Webhooks

Create webhook

Creates an HTTPS destination and reveals the secret once.

POST/webhookswebhooks:write
BEHAVIOR

The change is validated and persisted in the key account before responding. Query the returned resource as the source of truth.

EFFECT

It can change the resource and emit the corresponding domain event.

REPETITION

On network failure, confirm the resource status before retrying. Automatically redo only 429 and 5xx with backoff and jitter.

Request

namestring · bodyDestination name.mandatory
urlstring · bodyPublic HTTPS URL.urimandatory
eventsarray · bodyEvents or *.mandatory
activeboolean · bodyActivates the destination.optional
AuthorizationBearer ach_live_...
Acceptapplication/json
Scopewebhooks:write

Executable example

curl
curl -X POST 'https://achadu.com/api/v1/webhooks' \
  -H 'Authorization: Bearer ach_live_...' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  --data '{
  "name": "My integration",
  "url": "https://example.com/product",
  "events": [
    "offer.created"
  ],
  "active": true
}'

Response and errors

Every response includes request_id. Lists add pagination; mutable resources return the persisted state after the operation.

201 application/json
{
  "data": {
    "id": "wh_01J...",
    "name": "Production",
    "url": "https://example.com/webhooks/achadu",
    "events": [
      "offer.created"
    ],
    "active": true,
    "created_at": "2026-08-31T18:20:00.000Z"
  },
  "created": true,
  "request_id": "req_01J..."
}
201Resource created and persisted.
400Invalid parameter, body or transition.
401Missing, invalid, expired or revoked key.
402The account plan does not release this interface.
403A chave precisa do escopo webhooks:write.
404Feature does not exist in this account.
409The current state prevents this operation.
413The JSON body exceeds 128 KB.
429The 120 requests per minute window has been exceeded.