Skip to content
WebsiteOpen the app

Webhook URL

What a webhook URL accepts, and how Hookspot answers the sender.

A webhook URL is a source’s address, where the service that sends webhooks posts them. This page lists what the URL accepts and how Hookspot answers.

The source’s Overview shows a curl command for its webhook URL. Send any body the same way:

curl <webhook-url> -H 'content-type: application/json' --data-raw '{"type":"order.created"}'
{"status":"ok","request_id":"req_OkxrPJJvJq91H3RdE3rYJFpRAQ"}

request_id is the ID the request has under Requests. The 200 means Hookspot stored the request, not that your app got it. The request can still be Rejected.

  • Any HTTP method.
  • Any query string. Your app gets it with the request.
  • Any body up to 5 MiB, stored byte for byte.
  • Requests with no auth header. Hookspot does not check who sent them.
Status When
200 The source exists, and Hookspot stored the request. The body is the JSON above, or your custom reply.
405 No source has this URL, for example because it was deleted. Hookspot stores nothing and answers {"status":"error"}.
406 The Accept header rules out JSON. Hookspot stores nothing.
413 The body is over 5 MiB. Hookspot stores nothing.
429 The organization reached twice its monthly request limit. Hookspot stores nothing and answers {"status":"error","error":"monthly_request_limit_reached"}.

A paused source, or a source without a route, still answers 200. Hookspot stores the request and marks it Rejected.