Events
Poll the event feed
The same events your webhooks receive, oldest first. Read-only: walking it acknowledges nothing. Filters combine.
get/events
Request
- Base URL: https://api.layout.link/v1
- URL: https://api.layout.link/v1/events
- Auth: HTTP bearer
Query parameters
cursorstring
nextCursor from a previous page. Continues that walk.
afterstring
An event_id you already handled, or a nextCursor: the page starts with the next event after it. Pass the last event_id you processed to catch up.
sincestring date-time
Only events Layout recorded at or after this time.
order_idstring
Only this order's events.
user_idstring
Only this person's events, by the usr_ id the payload carries.
event'order.building' | 'order.carted' | 'order.placing' | 'order.placed' | 'order.failed' | 'order.unconfirmed' | 'order.needs_approval' | 'order.challenge' | 'order.updated'
Only this event type.
limitinteger
Default 50.
Headers
Layout-Version'2026-10-01'
The API version you code against. Optional; without it you get 2026-10-01, the current version. Layout answers with the version it used.
Response
A page of events.
Example response
{
"events": [
{
"event_id": "evt_87228f5aa7b9_placed",
"delivery_id": "dl_351eacf74201",
"order": {
"id": "ord_7c21e4b9a0d3",
"store": "Layout test kitchen",
"store_address": "1 Sandbox Way, San Francisco, CA 94107",
"currency": "usd"
},
"user": {
"id": "usr_4b8e9a01c2d3"
},
"occurred_at": "2026-10-01T17:01:05Z",
"sent_at": "2026-09-13T10:14:03Z"
}
]
}Changes
No recorded changes to this operation across all 1 revision of this API.