Webhooks

Create a webhook subscription

Subscribes a public https endpoint to events (Zapier REST Hooks contract). The secret (whsec_…) is returned only here: keep it to check the signatures. Delivery format, headers, signature and retries are described in the Webhooks section above. At most 25 active subscriptions per workspace. Role permission: integrations.manage.

post/webhooks

Request

  • Base URL: https://joinways.app/api/v1
  • URL: https://joinways.app/api/v1/webhooks
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://joinways.app/oauth/authorize, token URL https://joinways.app/api/oauth/token, scopes: mcp.write)

Headers

Idempotency-Keystring

Optional client-generated key (1 to 255 characters, e.g. a UUID v4) that makes the request idempotent for 24 hours: a retry with the same key replays the recorded response (marked Idempotency-Replayed: true) instead of executing the operation again. Same key with another body: 422 idempotency_key_reuse; while the first request runs: 409 idempotency_conflict. See the Idempotency section.

Request body

target_urlstring uri required

Public https endpoint that receives the deliveries.

event_typesWebhookEventType[] required
source'zapier' | 'custom'

Response

Subscription created. secret is only returned here.

idstring uuid
target_urlstring

The endpoint; only its origin (https://host/…) without integrations.manage.

event_typesWebhookEventType[]
source'zapier' | 'custom'
disabled_atstring date-time nullable

Set after 10 failed deliveries in a row.

disabled_reasonstring nullable
last_delivery_atstring date-time nullable
created_atstring date-time
secretstring required

Example response

{
  "target_url": "https://hooks.example.com/joinways",
  "secret": "whsec_3f9a…"
}

Changes

No recorded changes to this operation across all 1 revision of this API.