Skip to main content
WEBHOOK
New to pass issuance forms? See the Custom Pass Issuance Forms guide.
Sent when someone submits a pass form and their pass is created. If the submission fails (for example, a duplicate external ID or the pass limit is reached), nothing is sent.
  • Answers – every field on the form, in the order shown. Dates are always in ISO8601 format (YYYY-MM-DD). The pass in included shows values as saved on the pass, so dates there use the date format chosen on the form field.
  • Non-pass fields – answers with nonPassField: true aren’t saved on the pass. This webhook is the only place you get them.
  • Consents – a copy of the consent text the person saw. checkbox means they ticked the box to agree, notice means the text was shown without a checkbox.
  • Telling forms apart – use form.templateId. The form slug can be changed in the dashboard.
  • Answers are not stored – PassEntry doesn’t keep form answers after the webhook is delivered. If your endpoint keeps failing until the last retry, the answers can’t be sent again.

Authorizations

X-Webhook-Signature
string
header
required

The X-Webhook-Signature header is generated using the webhook payload and shared secret key. To verify that the webhook is authentic, you can encrypt the webhook payload using the SHA-256 encryption algorithm and your secret key. If your generated signature matches the signature included in the X-Webhook-Signature header, you can confirm that the webhook is authentic.

Body

application/json
data
object
included
object[]

The created pass. passContent shows the values as saved on the pass, so dates use the date format chosen on the form field.

Response

200 - application/json

Return a 200 status to indicate that the data was received successfully