Skip to content
AutomatedOn Help Centre

Run History API: records

A record is one row of a process's dataset, handled during a run, with the steps that acted on it. Steps whose condition didn't match aren't listed.

The record object

FieldTypeDescription
idintegerUnique record identifier.
processRunIdintegerThe run this record belongs to.
processIdstring (UUID)The process that ran.
recordKeystringThe value of the record's first field in the dataset, such as a learner reference.
statusstringSuccess or Failed.
startedAttimestampWhen handling of the record started.
finishedAttimestampWhen handling of the record finished.
errorMessagestring or nullThe first error, if any.
stepCountintegerNumber of steps actioned. Returned on list endpoints.
stepsarray of stepsThe full step breakdown. Returned by GET /records/{recordId}, or on lists with include=steps.

Each step has step (the step's label as set on the process), success (boolean), error (string or null) and actions (array of actions, or null).

Each action has action (the action type, such as sendEmail), name (the template or item name), executed (false when the step stopped before this action ran), success (boolean, only meaningful when executed is true) and error (string or null).

{
  "id": 98761,
  "processRunId": 4182,
  "processId": "8b1f2c3d-6e7a-4b9c-a0d1-2e3f4a5b6c7d",
  "recordKey": "LRN-00451",
  "status": "Failed",
  "startedAt": "2026-10-21T07:01:03+00:00",
  "finishedAt": "2026-10-21T07:01:04+00:00",
  "errorMessage": "SMTP 550: mailbox unavailable",
  "stepCount": 1,
  "steps": [
    {
      "step": "Send first reminder",
      "success": false,
      "error": "SMTP 550: mailbox unavailable",
      "actions": [
        { "action": "sendEmail", "name": "Reminder 1", "executed": true, "success": false, "error": "SMTP 550: mailbox unavailable" },
        { "action": "sendMessage", "name": "Tutor alert", "executed": false, "success": false, "error": null }
      ]
    }
  ]
}

Search records

GET /records returns records across all runs and processes, newest first. Use it to trace one record's history, such as every action taken for a learner.

Query parameterTypeDescription
processIdUUIDOnly records from this process.
recordKeystringExact match on the record key.
statusstring listSuccess, Failed, or both.
searchstringMatches part of recordKey or errorMessage.
fromdate or timestampRecords started at or after this time.
todate or timestampRecords started before this time.
includestringsteps to return the full step breakdown on each record.
pageintegerDefault 1.
pageSizeintegerDefault 25, maximum 200.
curl "https://{tenantname}.automatedon.io/api/v1/records?recordKey=LRN-00451&from=2026-09-01" \
  -H "X-Api-Key: $AO_API_KEY"

Response 200 OK: a page of record objects, without steps unless you set include=steps.

Get a record

GET /records/{recordId} returns one record object with its full steps, or 404 Not Found if the record doesn't exist or has been cleared from history.

curl "https://{tenantname}.automatedon.io/api/v1/records/98761" \
  -H "X-Api-Key: $AO_API_KEY"

Was this guide helpful?