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
AI Workflows
AI workflows are the AI agents of Tellagent: a chain of blocks (read pages, ask a model, wait for a person, write into a project) that runs on a schedule, from chat, by hand or through the API. List and read them here, across every project of the account; start and follow them under Runs. They are built in the hub, in Tellagent → AI Workflows.
List workflows
GET
/v1/workflowsworkflows:readEvery 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
| Name | Type | Description |
|---|---|---|
limitquery | integer | How many to return. 1 to 100. Default 25. |
cursorquery | string | The next_cursor from the previous page. Leave it out for the first page. |
statusquery | string | Only workflows with this status. One of draft, active, paused. |
project_idquery | string (uuid) | Only the workflows in this project. |
Response 200
| Field | Type | Description |
|---|---|---|
data | array of object | |
data[].id | string (uuid) | |
data[].name | string | |
data[].description | string | |
data[].status | string | |
data[].project_id | string or null (uuid) | null for a workflow not yet in a project. |
data[].updated_at | string (date-time) | |
data[].last_run | object or null | |
data[].last_run.id | string (uuid) | |
data[].last_run.status | string | queued, running, succeeded, failed, awaiting_approval or cancelled. |
data[].last_run.at | string (date-time) | When the run was created (UTC). |
has_more | boolean | |
next_cursor | string 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:readOne workflow, with its most recent run.
Parameters
| Name | Type | Description |
|---|---|---|
idpath, required | string (uuid) | The workflow's id. |
Response 200
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
name | string | |
description | string | |
status | string | |
project_id | string or null (uuid) | null for a workflow not yet in a project. |
updated_at | string (date-time) | |
last_run | object or null | |
last_run.id | string (uuid) | |
last_run.status | string | queued, running, succeeded, failed, awaiting_approval or cancelled. |
last_run.at | string (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"
}
}