Skip to content

Cancel a waiting or paused firing

POST
/v1/automations/{id}/firings/{firingId}/cancel
curl --request POST \
--url https://api.pixonaut.app/v1/automations/example/firings/example/cancel \
--header 'Authorization: Bearer <token>'

Operation ID: automations.firings.cancel

It stops where it is and does nothing more.

id
required
string
firingId
required
string

The firing as it is now

Media typeapplication/json
object
chain
required
object
causedBy
required

The automation whose action set it off; null when nobody’s did.

object
automationId
required
string
automationName
required

What the automation was called when it acted.

string
firingId
required
string
depth
required

How many firings deep it is, from 1.

number
rootEventId
required

The event that started the chain.

string
event
required

The event that set it off.

object
at
required
number | null
id
required
string
type
required
string
finishedAt
required
number | null
id
required
string
manualActions
required

What members did to it, oldest first.

Array<object>
object
action
required
string
at
required
number
by
required
One of:
object
kind
required
string
Allowed values: member
name
required
string | null
userId
required
string
ranAs
required
One of:
object
kind
required
string
Allowed values: member
name
required
string | null
userId
required
string
reason
required

Why it failed, paused or was cancelled, in Pixonaut’s words. For an MCP key, a reason that may carry a printshop’s own answer (an email’s or a printshop step’s) is replaced: it can name the order’s customer.

string | null
startedAt
required
number
state
required
string
step
required

The step it got to, and that step’s reason; null before any. For an MCP key, a reason that may carry a printshop’s own answer (an email’s or a printshop step’s) is replaced: it can name the order’s customer.

object
reason
required
string | null
state
required
string
stepId
required
string
type
required
string
steps
required

Every step of its version, in order, branches after their step; one it never got to is not_reached.

Array<object>
object
at
required
number | null
attempts
required
number
branch
required

The branches it sits in, from the top; empty for a step of the body itself.

Array<string>
label
required
string | null
nextTryAt
required

When it is tried again, while it is retrying.

number | null
reason
required

For an MCP key, a reason that may carry a printshop’s own answer (an email’s or a printshop step’s) is replaced: it can name the order’s customer.

string | null
state
required
string
stepId
required
string
subjects
required
object
designId
string
orderId
string
printId
string
printshopId
string
type
required
string
unsent
required

The email it would have sent, done in a sandbox, which sends no email to anyone who is not a member; null otherwise, and for an MCP key.

object
filled
required

False when its texts name a customer’s personal data, which a firing never keeps: subject and text are then as written.

boolean
subject
required
string
text
required
string
to
required
Array<string>
waitingUntil
required

When it stops waiting, while it waits.

number | null
subject
required

What it acts on, by id.

object
designId
required
string | null
orderId
required
string | null
printId
required
string | null
templateName
required

The name of the template its design was made from, which is how a design is named; null once the design is gone.

string | null
touched
required

Every design, print file and order id it touched.

Array<string>
version
required

The version it runs on.

number

Examples

Exampleexample

Example

{
"chain": {
"causedBy": null,
"depth": 1,
"rootEventId": "evt_5a1c9e7b2d4f"
},
"event": {
"at": 1760000300000,
"id": "evt_5a1c9e7b2d4f",
"type": "design.committed"
},
"finishedAt": 1760000440000,
"id": "fir_1a2b3c4d5e6f",
"manualActions": [
{
"action": "cancelled",
"at": 1760000440000,
"by": {
"kind": "member",
"name": "Ada Lewis",
"userId": "u_8b1d2c3e4f5a"
}
}
],
"ranAs": {
"kind": "member",
"name": "Ada Lewis",
"userId": "u_8b1d2c3e4f5a"
},
"reason": "Ada Lewis cancelled it.",
"startedAt": 1760000300000,
"state": "cancelled",
"step": {
"reason": "It reached its limit of 50 spend actions in 24 hours.",
"state": "paused",
"stepId": "order",
"type": "place_order"
},
"steps": [
{
"at": 1760000310000,
"attempts": 1,
"branch": [],
"label": null,
"nextTryAt": null,
"reason": null,
"state": "done",
"stepId": "print",
"subjects": {
"designId": "des_2b4d8a9f6c1e",
"printId": "prt_9e1b3d5f7a2c"
},
"type": "create_print",
"unsent": null,
"waitingUntil": null
},
{
"at": 1760000320000,
"attempts": 1,
"branch": [],
"label": "Order one copy",
"nextTryAt": null,
"reason": "It reached its limit of 50 spend actions in 24 hours.",
"state": "paused",
"stepId": "order",
"subjects": {
"printId": "prt_9e1b3d5f7a2c"
},
"type": "place_order",
"unsent": null,
"waitingUntil": null
},
{
"at": null,
"attempts": 0,
"branch": [
"onFailure"
],
"label": null,
"nextTryAt": null,
"reason": null,
"state": "not_reached",
"stepId": "tell",
"subjects": {},
"type": "notify",
"unsent": null,
"waitingUntil": null
}
],
"subject": {
"designId": "des_2b4d8a9f6c1e",
"orderId": "ord_6c1d2e3f4a5b",
"printId": "prt_9e1b3d5f7a2c",
"templateName": "Classic Tee"
},
"touched": [
"des_2b4d8a9f6c1e",
"prt_9e1b3d5f7a2c",
"ord_6c1d2e3f4a5b"
],
"version": 3
}
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: feature_disabled, origin_forbidden, 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: automation_not_found, firing_not_found

Media typeapplication/json
object
error
required
string

Examples

automation_not_found

{
"error": "automation_not_found"
}
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: firing_control_refused

Media typeapplication/json
object
error
required
string
reason

Always sent with firing_control_refused.

string

Examples

Examplefiring_control_refused

firing_control_refused

{
"error": "firing_control_refused",
"reason": "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: payload_too_large

Media typeapplication/json
object
bytes
number
error
required
string
maxBytes

Always sent with payload_too_large.

number

Examples

Examplepayload_too_large

payload_too_large

{
"error": "payload_too_large",
"maxBytes": 0
}
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