Webhook

Test delivery to your endpoint

​

Sent synchronously by POST /v1/webhook_endpoints/{id}/test, signed exactly like a real event. Not part of the business event feed. The attempt is recorded in delivery history; it is a connection check between Roster and your receiver.

Headers

  • t={unix_seconds},v1={hmac_sha256("{t}.{body}", secret)}, keyed with the whole whsec_ secret as UTF-8 — reject a t more than 300 seconds away from your clock, in either direction. The header carries one t and one or more v1, comma-separated: today exactly one, and you accept the delivery when any v1 matches, so a delivery signed with more than one secret (for example during a secret rotation) still verifies.

  • Id of the endpoint this delivery was sent to (we_...), as POST /v1/webhook_endpoints returned it. It is not a secret, and it is not covered by Roster-Signature: use it to pick that endpoint's secret, and trust it only after the signature verifies with that secret.

Body

required
application/json
  • Unique identifier of this notice. If it arrives again with the same identifier, do not count it as a new change.

  • Kind of change reported by this notice.

  • true when the test was sent from production (sk_live_ keys), false when it was sent from the sandbox (sk_test_ keys), as on every event.

  • Date and time the reported change happened, in UTC.

  • Fields describing the change. The contents depend on the kind of notice.

    Properties: 1

Responses

  • Return any 2xx to acknowledge the delivery.

Request Example for postwebhookTest
{
  "event_id": "",
  "event_type": "webhook.test",
  "occurred_at": "",
  "livemode": true,
  "payload": {
    "message": "Roster webhook test delivery"
  }
}
No Body