Skip to content

Executions

An execution outlives its workflow’s retention window and can be filtered by journey, release, status, and profile in one place. Its detail carries everything the journey logged with api.log. Temporal stays the source of truth for the run itself; this is the record of it.

List executions, newest first

Auth: Clerk session token, or an org deploy key.

Query parameters

{
"cursor": "string",
"limit": 50,
"journey": "string",
"release": "string",
"status": "running",
"profileId": "string",
"since": "2026-01-15T09:30:00.000Z"
}
Field Type Required Constraints
cursor string no
limit integer no default 50; 1 ≤ x ≤ 100
journey string no length 1–200
release string no length 1–200
status “running” | “waiting” | “completed” | “failed” | “cancelled” no
profileId string no length 1–200
since string (date-time) no

Response 200

{
"data": [
{
"id": "string",
"orgId": "string",
"environment": "development",
"journeyKey": "string",
"profileId": "string",
"workflowId": "string",
"runId": "string",
"releaseId": "string",
"status": "running",
"step": "string",
"timerDeadline": "2026-01-15T09:30:00.000Z",
"journalEntries": 42,
"error": "string",
"startedAt": "2026-01-15T09:30:00.000Z",
"updatedAt": "2026-01-15T09:30:00.000Z",
"endedAt": "2026-01-15T09:30:00.000Z"
}
],
"meta": {
"requestId": "string",
"nextCursor": "string",
"hasMore": true
}
}
Field Type Required Constraints
data object[] yes
data[] object yes
data[].id string yes
data[].orgId string yes
data[].environment “development” | “production” yes
data[].journeyKey string yes
data[].profileId string yes
data[].workflowId string yes
data[].runId string yes
data[].releaseId string yes
data[].status “running” | “waiting” | “completed” | “failed” | “cancelled” yes
data[].step string | null yes
data[].timerDeadline string (date-time) | null yes
data[].journalEntries integer yes -2147483648 ≤ x ≤ 2147483647
data[].error string | null yes
data[].startedAt string (date-time) yes
data[].updatedAt string (date-time) yes
data[].endedAt string (date-time) | null yes
meta object no
meta.requestId string no
meta.nextCursor string | null no
meta.hasMore boolean no

Errors follow the shared envelope and code table.

Inspect one execution, with its logs

Auth: Clerk session token, or an org deploy key.

Response 200

{
"data": {
"id": "string",
"orgId": "string",
"environment": "development",
"journeyKey": "string",
"profileId": "string",
"workflowId": "string",
"runId": "string",
"releaseId": "string",
"status": "running",
"step": "string",
"timerDeadline": "2026-01-15T09:30:00.000Z",
"journalEntries": 42,
"error": "string",
"startedAt": "2026-01-15T09:30:00.000Z",
"updatedAt": "2026-01-15T09:30:00.000Z",
"endedAt": "2026-01-15T09:30:00.000Z",
"journal": [
{
"call": {
"name": "sleep",
"args": {
"duration": "string"
}
},
"result": {
"ok": true,
"value": {}
},
"at": 42
}
],
"logs": [
{
"seq": 42,
"level": "debug",
"message": "string",
"createdAt": "2026-01-15T09:30:00.000Z"
}
]
},
"meta": {
"requestId": "string",
"nextCursor": "string",
"hasMore": true
}
}
Field Type Required Constraints
data object yes
data.id string yes
data.orgId string yes
data.environment “development” | “production” yes
data.journeyKey string yes
data.profileId string yes
data.workflowId string yes
data.runId string yes
data.releaseId string yes
data.status “running” | “waiting” | “completed” | “failed” | “cancelled” yes
data.step string | null yes
data.timerDeadline string (date-time) | null yes
data.journalEntries integer yes -2147483648 ≤ x ≤ 2147483647
data.error string | null yes
data.startedAt string (date-time) yes
data.updatedAt string (date-time) yes
data.endedAt string (date-time) | null yes
data.journal object[] yes
data.journal[] object yes
data.journal[].call one of yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “sleep” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.duration string | integer yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “waitForEvent” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.event string | string[] yes
data.journal[].call〈variant〉.args.timeout string | integer yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “email.send” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.template string yes length 0–64
data.journal[].call〈variant〉.args.props record<string, any> yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “webhook.send” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.destination string yes length 1–∞
data.journal[].call〈variant〉.args.payload record<string, any> yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “traits.set” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.key string yes length 1–∞
data.journal[].call〈variant〉.args.value any yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “traits.unset” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.key string yes length 1–∞
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “profile.get” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “profiles.get” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.id string yes length 1–∞
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “events.track” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.event string yes length 1–∞
data.journal[].call〈variant〉.args.properties record<string, any> yes
data.journal[].call〈variant〉 object yes
data.journal[].call〈variant〉.name “restart” yes
data.journal[].call〈variant〉.args object yes
data.journal[].call〈variant〉.args.event object no
data.journal[].result one of yes
data.journal[].result〈variant〉 object yes
data.journal[].result〈variant〉.ok true yes
data.journal[].result〈variant〉.value any yes
data.journal[].result〈variant〉 object yes
data.journal[].result〈variant〉.ok false yes
data.journal[].result〈variant〉.error object yes
data.journal[].result〈variant〉.error.code string yes length 1–∞
data.journal[].result〈variant〉.error.message string yes
data.journal[].at integer yes 0 ≤ x ≤ ∞
data.logs object[] yes
data.logs[] object yes
data.logs[].seq integer yes -2147483648 ≤ x ≤ 2147483647
data.logs[].level “debug” | “info” | “warn” | “error” yes
data.logs[].message string yes
data.logs[].createdAt string (date-time) yes
meta object no
meta.requestId string no
meta.nextCursor string | null no
meta.hasMore boolean no

Errors follow the shared envelope and code table.