visit.host_changed
The people a visit is for changed: a host was added or removed, someone else became the lead host, or someone took a
visit that was waiting. data.object.hosts and host_id are as they are now.
Agoo sends this as a signed POST to every enabled endpoint subscribed to visit.host_changed (or *). Verify the
signature, return any 2xx within 15 seconds, and de-duplicate on webhook-id.
webhook-id*stringThe event's ID. It is the same on every attempt and redelivery, so use it to de-duplicate.
^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$"evt_01m4ww0ezgf2bryg9gxb2gbewx"webhook-timestamp*stringWhen this attempt was signed, in Unix seconds. Reject the request if it is more than 5 minutes from your clock.
^[0-9]+$webhook-signature*stringOne or more space-separated signatures, each v1,<base64>: the base64 HMAC-SHA256 of
{webhook-id}.{webhook-timestamp}.{raw body}, keyed with the base64-decoded part of your whsec_ secret.
During a secret rotation there are two. Accept the request if any one matches.
application/json- body
An event about a visit.
id*EventIdThe event's ID. Webhook deliveries send it as webhook-id.
^evt_[0-7][0-9a-hjkmnp-tv-z]{25}$"evt_01m4ww0ezgf2bryg9gxb2gbewx"created_at*stringWhen the event happened.
date-timeorganisation_id*OrganisationIdAn organisation ID (TypeID with the org prefix).
^org_[0-7][0-9a-hjkmnp-tv-z]{25}$"org_01kjpsrza0etzb0a4vf72x8ang"livemode*booleanfalse for events in test mode.
type*string"visit.created""visit.updated""visit.approval_requested""visit.approved""visit.denied""visit.checked_in""visit.checked_out""visit.cancelled""visit.no_show""visit.needs_someone""visit.host_changed"data*Return any 2xx status within 15 seconds to acknowledge the event. Agoo ignores the response body, so
acknowledge first and do slow work afterwards.
Example Requests
/visit.host_changedvisit.needs_someone Webhook
A visitor is waiting and nobody has taken the visit: a walk-in for a team, for no one in particular, or for someone whose visitors go through their office. `data.object.needs_someone` is `true`; whoever receives the visit has been told. `visit.host_changed` follows when someone takes it. Agoo sends this as a signed `POST` to every enabled endpoint subscribed to `visit.needs_someone` (or `*`). Verify the signature, return any `2xx` within 15 seconds, and de-duplicate on `webhook-id`.
pass.sent Webhook
Agoo sends a visitor their QR pass: when a visit is created with `send_pass`, when you resend it, or when a booking is rescheduled. `data.object` is the visit; `pass.channels` lists where the pass went. Agoo sends this as a signed `POST` to every enabled endpoint subscribed to `pass.sent` (or `*`). Verify the signature, return any `2xx` within 15 seconds, and de-duplicate on `webhook-id`.