Skip to content

List an automation's versions

GET
/v1/automations/{id}/versions
curl --request GET \
--url 'https://api.pixonaut.app/v1/automations/example/versions?page=1&pageSize=50' \
--header 'Authorization: Bearer <token>'

Operation ID: automations.versions

Newest first: who saved each and when, what it changed from the version before, whether it is current, and how many firings are still on it. Versions are never edited or deleted.

id
required
string
page

The page to read, from 1; the first when left out.

integer
default: 1 >= 1 <= 100000

The page to read, from 1; the first when left out.

pageSize
integer
default: 50 >= 1 <= 200

A page of the automation’s versions

Media typeapplication/json
object
page
required
number
pageSize
required
number
total
required

How many there are in all.

number
versions
required
Array<object>
object
changes
required

What it changed from the version before, in words.

Array<object>
object
field
required
string
summary
required
string
current
required
boolean
draft
required

The draft as this version saved it: what a new draft starts from, to save as the next version.

object
body
required

The automation’s tree of steps.

object
conditions
Any of:
object
all
required

Every one holds.

Array
>= 1 items
steps
required

The steps, in the order they run. A step’s type names an action from the catalogue.

Array<object>
object
branches

Further steps, under each branch’s name.

object
key
additional properties
Array
id
required

Its id, unique in the body: what a firing names it by.

string
>= 1 characters <= 64 characters
settings

What its type takes; the draft check refuses settings the type does not.

object
key
additional properties
type
required

Its action (approve, create_print, place_order, reroute, cancel_order, notify, email, webhook) or flow step (only_if, paths, wait_for, delay).

string
>= 1 characters <= 64 characters
name
required
string
runsAs
required
string
sources
required

The sources it acts on: the studio always; designer links, keys and connected stores, each every one or a snapshot. To act on only some, an Only if compares the design’s origin.

object
includeNewKeys
required

On, it acts on designs from every secret and publishable key no store was given, those added later too. Off, only from those in keys.

boolean
includeNewLinks
required

On, it acts on designs from every designer link, those made later too. Off, only from the links in links.

boolean
includeNewStores
required

On, it acts on designs from every connected store, those connected later too. Off, only from those in stores. A store may have its own automated flows on its designs; if it does, the first to move one on wins.

boolean
keys
required

While its switch is off, those that existed when it was switched off; null while it is on. A save that turns it off with none takes it then.

object
sources
required

Each one that existed then, as a design’s origin names it: link:<id>, secret_key:<id> and publishable_key:<id>, or store:<site>.

Array<string>
<= 10000 items
takenAt
required

When its switch was turned off: the snapshot is as of then.

integer
links
required

While its switch is off, those that existed when it was switched off; null while it is on. A save that turns it off with none takes it then.

object
sources
required

Each one that existed then, as a design’s origin names it: link:<id>, secret_key:<id> and publishable_key:<id>, or store:<site>.

Array<string>
<= 10000 items
takenAt
required

When its switch was turned off: the snapshot is as of then.

integer
stores
required

While its switch is off, those that existed when it was switched off; null while it is on. A save that turns it off with none takes it then.

object
sources
required

Each one that existed then, as a design’s origin names it: link:<id>, secret_key:<id> and publishable_key:<id>, or store:<site>.

Array<string>
<= 10000 items
takenAt
required

When its switch was turned off: the snapshot is as of then.

integer
spendLimit
required
number
trigger
required

The event it fires on; null for none yet.

string | null
savedAt
required
number
savedBy
required
One of:
object
kind
required
string
Allowed values: member
name
required
string | null
userId
required
string
unfinishedFirings
required

Firings that started on it and are still running, waiting or paused.

number
version
required
number

Examples

Exampleexample

Example

{
"page": 1,
"pageSize": 50,
"total": 3,
"versions": [
{
"changes": [
{
"field": "body",
"summary": "Added 1 step."
},
{
"field": "spendLimit",
"summary": "Spend limit changed from 20 to 50 a day."
}
],
"current": true,
"draft": {
"body": {
"steps": [
{
"id": "s1",
"settings": {},
"type": "approve"
}
]
},
"name": "Hosted link to printshop",
"runsAs": "author",
"sources": {
"includeNewKeys": true,
"includeNewLinks": false,
"includeNewStores": true,
"keys": null,
"links": {
"sources": [
"link:shl_3f9a1c7e2b4d"
],
"takenAt": 1760000200000
},
"stores": null
},
"spendLimit": 50,
"trigger": "design.committed"
},
"savedAt": 1760000400000,
"savedBy": {
"kind": "member",
"name": "Ada Lewis",
"userId": "u_8b1d2c3e4f5a"
},
"unfinishedFirings": 2,
"version": 3
},
{
"changes": [
{
"field": "sources",
"summary": "Leaves out designer links made from now on."
}
],
"current": false,
"draft": {
"body": {
"steps": []
},
"name": "Hosted link to printshop",
"runsAs": "author",
"sources": {
"includeNewKeys": true,
"includeNewLinks": false,
"includeNewStores": true,
"keys": null,
"links": {
"sources": [
"link:shl_3f9a1c7e2b4d"
],
"takenAt": 1760000200000
},
"stores": null
},
"spendLimit": 20,
"trigger": "design.committed"
},
"savedAt": 1760000200000,
"savedBy": {
"kind": "key",
"label": "Shop server"
},
"unfinishedFirings": 0,
"version": 2
},
{
"changes": [
{
"field": "created",
"summary": "Created."
}
],
"current": false,
"draft": {
"body": {
"steps": []
},
"name": "Hosted link to printshop",
"runsAs": "author",
"sources": {
"includeNewKeys": true,
"includeNewLinks": true,
"includeNewStores": true,
"keys": null,
"links": null,
"stores": null
},
"spendLimit": 20,
"trigger": "design.committed"
},
"savedAt": 1760000000000,
"savedBy": {
"kind": "member",
"name": "Ada Lewis",
"userId": "u_8b1d2c3e4f5a"
},
"unfinishedFirings": 0,
"version": 1
}
]
}
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, forbidden, feature_disabled

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

Media typeapplication/json
object
error
required
string

Examples

Exampleautomation_not_found

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: 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