API reference
Early access. The VeraGen API is not open yet: this reference shows what it will do, and keys cannot be created until it opens. Request early access.

API reference

Workflows

The agentic workflows in the account, across every project.

List workflows

GET/v1/workflowsworkflows:read

Every workflow in the account, across all its projects, most recently updated first. Each one carries its most recent run, if it has been run.

Parameters

NameTypeDescription
limit
query
integerHow many to return. 1 to 100. Default 25.
cursor
query
stringThe next_cursor from the previous page. Leave it out for the first page.
status
query
stringOnly workflows with this status. One of draft, active, paused.
project_id
query
string (uuid)Only the workflows in this project.

Response 200

FieldTypeDescription
dataarray of object
data[].idstring (uuid)
data[].namestring
data[].descriptionstring
data[].statusstring
data[].project_idstring or null (uuid)null for a workflow not yet in a project.
data[].updated_atstring (date-time)
data[].last_runobject or null
data[].last_run.idstring (uuid)
data[].last_run.statusstringqueued, running, succeeded, failed, awaiting_approval or cancelled.
data[].last_run.atstring (date-time)When the run was created (UTC).
has_moreboolean
next_cursorstring or null

Errors

  • 400 The request is not valid.
  • 401 No valid API key.
  • 403 The key may not do this.
  • 404 Not found in this account.
  • 429 Too many requests.
  • 500 Something went wrong on our side.

The codes are listed under Errors.

cURL
curl "https://api.veragen.ai/v1/workflows?limit=25" \
  -H "Authorization: Bearer $VERAGEN_API_KEY"
JavaScript
const res = await fetch("https://api.veragen.ai/v1/workflows?limit=25", {
  headers: { Authorization: `Bearer ${process.env.VERAGEN_API_KEY}` },
});
const data = await res.json();
Python
import os, requests

res = requests.get(
    "https://api.veragen.ai/v1/workflows",
    params={"limit": 25},
    headers={"Authorization": f"Bearer {os.environ['VERAGEN_API_KEY']}"},
)
data = res.json()
Response 200
{
  "data": [
    {
      "id": "3f6c1d2e-8a4b-4f7e-9c21-5d0e7a1b2c3d",
      "name": "Weekly competitor digest",
      "description": "Reads five competitor blogs and writes a summary page.",
      "status": "active",
      "project_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
      "updated_at": "2026-10-02T15:04:05.123Z",
      "last_run": {
        "id": "c0ffee00-1234-4abc-9def-0123456789ab",
        "status": "succeeded",
        "at": "2026-10-03T06:00:00.000Z"
      }
    },
    {
      "id": "7b2e9f40-6c1d-4e8a-b3f5-2a9d0c7e1f64",
      "name": "Lead enrichment",
      "description": "",
      "status": "draft",
      "project_id": null,
      "updated_at": "2026-09-30T09:12:44.000Z",
      "last_run": null
    }
  ],
  "has_more": true,
  "next_cursor": "WyIyMDI2LTA5LTMwVDA5OjEyOjQ0LjAwMDAwMFoiLCI3YjJlOWY0MC02YzFkLTRlOGEtYjNmNS0yYTlkMGM3ZTFmNjQiXQ"
}

Get a workflow

GET/v1/workflows/{id}workflows:read

One workflow, with its most recent run.

Parameters

NameTypeDescription
id
path, required
string (uuid)The workflow's id.

Response 200

FieldTypeDescription
idstring (uuid)
namestring
descriptionstring
statusstring
project_idstring or null (uuid)null for a workflow not yet in a project.
updated_atstring (date-time)
last_runobject or null
last_run.idstring (uuid)
last_run.statusstringqueued, running, succeeded, failed, awaiting_approval or cancelled.
last_run.atstring (date-time)When the run was created (UTC).

Errors

  • 400 The request is not valid.
  • 401 No valid API key.
  • 403 The key may not do this.
  • 404 Not found in this account.
  • 429 Too many requests.
  • 500 Something went wrong on our side.

The codes are listed under Errors.

cURL
curl "https://api.veragen.ai/v1/workflows/{id}" \
  -H "Authorization: Bearer $VERAGEN_API_KEY"
JavaScript
const res = await fetch("https://api.veragen.ai/v1/workflows/{id}", {
  headers: { Authorization: `Bearer ${process.env.VERAGEN_API_KEY}` },
});
const data = await res.json();
Python
import os, requests

res = requests.get(
    "https://api.veragen.ai/v1/workflows/{id}",
    headers={"Authorization": f"Bearer {os.environ['VERAGEN_API_KEY']}"},
)
data = res.json()
Response 200
{
  "id": "3f6c1d2e-8a4b-4f7e-9c21-5d0e7a1b2c3d",
  "name": "Weekly competitor digest",
  "description": "Reads five competitor blogs and writes a summary page.",
  "status": "active",
  "project_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "updated_at": "2026-10-02T15:04:05.123Z",
  "last_run": {
    "id": "c0ffee00-1234-4abc-9def-0123456789ab",
    "status": "succeeded",
    "at": "2026-10-03T06:00:00.000Z"
  }
}