API Reference

Job runs

Job runs, which the routes and the admin’s Batch Logs call batches: list them, read one, and run them again.

Job runs in Postman

About job runs

Every start of a job makes a run. Its status is initialized, running, waiting, success, error or skipped; the last three are final. batchEvent says what started it (entity, web, scheduled or hook) and carries the record or request. Which finished runs are kept is the job’s batchPersistence.

Kept Per job

batchPersistence keeps every run, none, or only failed or successful ones.

Debug a job run that failed halfway
Writes Rerun only

Runs are made by their job; the API only reads them and runs them again.

Debug a job run that failed halfway

List a job’s runs#

GET /cdna-api/hooks/batches/{hook.id}

Lists the runs of one job, 100 to a page unless limit says otherwise, up to 1000.

Access
Admin users and integrations, with an OAuth access token or an API key.
Model
Batch, in the Reference

Parameters

hook.idpathrequired
integer
The job id.
propertiesquery
selector
The fields and relations to return, such as {id,status,created,hook{id,name}}.
filtersquery
name=value
Any stored field, or a relation with a dot, such as hook.id=12. Prefix the name with !, >, <, % or |. Use stored field names exactly as in the model, and compare totalCount with the unfiltered list's to confirm a filter applied.
orderByquery
string
field:ASC or field:DESC, comma-separated. Stored fields only.
limitquery
integer
Records per response: 100 when left out, at most 1000. A larger value answers 400.
pagequery
integer
The page to return, counting from 1. offset works too.

Example

List a job’s runs
GET /cdna-api/hooks/batches/45?limit=2&properties={id,status,created,hook{id,name}} HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Response 200 OK
{
  "result": "success",
  "totalCount": 2,
  "data": [
    {
      "id": 26305946,
      "status": "success",
      "created": "2026-09-08T05:26:54+00:00",
      "hook": {
        "id": 45,
        "name": "Agent: content/content-freshness-audit"
      }
    },
    {
      "id": 26305948,
      "status": "error",
      "created": "2026-09-08T05:30:15+00:00",
      "hook": {
        "id": 45,
        "name": "Agent: content/content-freshness-audit"
      }
    }
  ]
}
Open in Postman docs Real response from this documentation site

List every job’s runs#

GET /cdna-api/hooks/batches

Lists the runs of every job. The example keeps the successful ones.

Access
Admin users and integrations, with an OAuth access token or an API key.
Model
Batch, in the Reference

Parameters

propertiesquery
selector
The fields and relations to return, such as {id,status,created,hook{id,name}}.
filtersquery
name=value
Any stored field, or a relation with a dot, such as hook.id=12. Prefix the name with !, >, <, % or |. Use stored field names exactly as in the model, and compare totalCount with the unfiltered list's to confirm a filter applied.
orderByquery
string
field:ASC or field:DESC, comma-separated. Stored fields only.
limitquery
integer
Records per response: 100 when left out, at most 1000. A larger value answers 400.
pagequery
integer
The page to return, counting from 1. offset works too.

Example

List every job’s runs
GET /cdna-api/hooks/batches?status=success&limit=2&properties={id,status,created,hook{id,name}} HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Response 200 OK
{
  "result": "success",
  "totalCount": 1,
  "data": [
    {
      "id": 26305946,
      "status": "success",
      "created": "2026-09-08T05:26:54+00:00",
      "hook": {
        "id": 45,
        "name": "Agent: content/content-freshness-audit"
      }
    }
  ]
}
Open in Postman docs Real response from this documentation site

Show a job run#

GET /cdna-api/hooks/batch/{id}

Reads one run. Without properties it returns its status, dates, job, event and site; customData and batchActions come back only when named.

Access
Admin users and integrations, with an OAuth access token or an API key.
Model
Batch, in the Reference

Parameters

idpathrequired
integer
The job run id.
propertiesquery
selector
The fields and relations to return, such as {id,status,created,modified,hook{id,name}}.

hook, site and batchEvent are objects, not ids. Compare batch.hook.id, not batch.hook, with a job id.

Example

Show a job run
GET /cdna-api/hooks/batch/26305946?properties={id,status,created,modified,hook{id,name}} HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Response 200 OK
{
  "result": "success",
  "data": {
    "id": 26305946,
    "status": "success",
    "created": "2026-09-08T05:26:54+00:00",
    "modified": "2026-09-08T05:27:38+00:00",
    "hook": {
      "id": 45,
      "name": "Agent: content/content-freshness-audit"
    }
  }
}
Open in Postman docs Real response from this documentation site

Run a job run again#

POST /cdna-api/hooks/batch/{id}/rerun

Queues the run again, from the start, with the event that started it. There is no body. Its status is not checked: a run still in progress is queued again too.

Access
Admin users and integrations, with an OAuth access token or an API key.
Returns
The run’s id under data.succeeded, or under forbidden or failed, with 200, 403 or 500.

Parameters

idpathrequired
integer
The run id.

Example

Run a job run again
POST /cdna-api/hooks/batch/101/rerun HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

Run several job runs again#

POST /cdna-api/hooks/batches/rerun

Queues several runs again. The answer sorts their ids by outcome; it is 200 if any was queued, else 403 if any was forbidden, else 500.

Access
Admin users and integrations, with an OAuth access token or an API key.
Returns
The ids under data.succeeded, data.replayed, data.forbidden and data.failed, and a message.

Parameters

idsbodyrequired
list
The run ids. One id on its own is accepted too.

Example

Run several job runs again
POST /cdna-api/hooks/batches/rerun HTTP/1.1
Host: hub.coredna.com
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json
Content-Type: application/json

{
  "ids": [
    101,
    102
  ]
}