Skip to content

Pull the tenant's events after a given one

GET
/v1/events
curl --request GET \
--url 'https://api.pixonaut.app/v1/events?limit=100' \
--header 'Authorization: Bearer <token>'

Operation ID: events.list

Catch up on events, for example after downtime: give after the id of the last event handled and follow nextCursor until it is null, which means nothing more is available yet; continue from the last id later. Events come in the order they were recorded, each in the envelope a webhook delivery’s body carries; dedupe them by id.

after

The id of the last event the caller handled; the answer starts after it. Omitted, it starts at the tenant’s first event.

string
>= 1 characters

The id of the last event the caller handled; the answer starts after it. Omitted, it starts at the tenant’s first event.

types

Comma-separated event types to narrow the answer to. Omitted, every type.

string

Comma-separated event types to narrow the answer to. Omitted, every type.

limit

The most events to answer.

integer
default: 100 >= 1 <= 100

The most events to answer.

A page of events

Media typeapplication/json
object
events
required

The events, in the order they were recorded, each in the envelope its type’s webhook delivery carries, with the payload that type sends.

Array
One of: discriminator: type
object
automation

The automation that caused the event, beside via.

object
id
required

The automation’s id.

string
name
required

What the automation was called when it acted.

string
createdAt
required

When the event happened, in milliseconds since the Unix epoch.

integer
id
required

The event’s id. A retry or a redelivery carries the same id, so a receiver can drop one it has already handled.

string
payload
required
object
apiKeyId
required
string | null
designId
required
string
origin

Where the design came from: the door it was committed through. A duplicate’s is whoever duplicated it.

object
id
required

The designer link’s id, the key’s id, or the connected store’s site address. Null for studio, and for a key set in the deployment’s configuration rather than made in the workspace.

string | null
kind
required

link: a designer link’s page made it. studio: a member made it, in the studio or through an MCP key. secret_key and publishable_key: committed with one of your keys. store: committed by a connected store, with any key its site was given.

string
shareLinkId
string | null
templateId
required
string
type
required
string
Allowed values: design.committed
via

automation when one of your automations caused the event; absent otherwise.

string
Allowed values: automation
nextCursor
required

Pass it as after for the next page. Null when nothing more is available yet: continue from the last event’s id later. A pull looks through at most 1000 events, so with types a page can be short, or empty, with a cursor that still moves on.

string | null

Examples

A connected store, from connect to delivery: 7. Hear what happened, and catch up

{
"events": [
{
"createdAt": 1790086400000,
"id": "1790086400000-0f1e2d3c-4b5a-4968-8776-655443322110",
"payload": {
"orderId": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
"previousStatus": "printed",
"printId": "c4d5e6f7-a8b9-4c0d-9e1f-2a3b4c5d6e7f",
"status": "shipped"
},
"type": "order.status_changed"
}
],
"nextCursor": null
}
X-Request-Id
required
string

Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.

Refused: unknown_event, invalid_event_type

Media typeapplication/json
object
error
required
string
type

Always sent with invalid_event_type.

string

Examples

invalid_event_type

{
"error": "invalid_event_type",
"type": "string"
}
X-Request-Id
required
string

Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.

Refused: unauthorized

Media typeapplication/json
object
error
required
string

Examples

Exampleunauthorized

unauthorized

{
"error": "unauthorized"
}
X-Request-Id
required
string

Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.

Refused: origin_forbidden, secret_key_required, feature_disabled, forbidden

Media typeapplication/json
object
error
required
string
feature

The feature the tenant does not have. Always sent with feature_disabled.

string

Examples

feature_disabled

{
"error": "feature_disabled",
"feature": "api"
}
X-Request-Id
required
string

Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.

Refused: invalid_query

Media typeapplication/json
object
error
required
string

Examples

Exampleinvalid_query

invalid_query

{
"error": "invalid_query"
}
X-Request-Id
required
string

Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.

Refused: db_error. A request that failed unexpectedly answers as text instead.

object
error
required
string

Examples

Exampledb_error

db_error

{
"error": "db_error"
}
X-Request-Id
required
string

Every response names the request it answers in X-Request-Id: the id the request was sent with in that header, when it is well formed, else one the API gave it. Quote it when reporting a refusal or a failure: the API’s log lines for that request carry it.

Questions? Write to [email protected].

Status · Terms of service · Privacy policy · Subprocessors