Clatter Labs
Console

Runs

List runs

Your API runs, newest first.

GETapi.agent.clatterlabs.xyz/v1/runsruns:read

Your API runs, newest first.

Only runs started through the Agent API are listed.

Authorizations

Authorizationstringrequired

Your API key as a bearer token: Bearer clsk_.... Create keys in the Console.

X-Clatter-Accountstringrequired

The Account ID that owns the key, like CL-7K2M9QXA. Find it in Console › Settings. A missing value answers 401 missing_account_id; someone else's answers 401 account_mismatch.

Query parameters

limitintegerdefault: 20

How many runs to return, 1 to 100.

beforestring

A created_at timestamp: return runs created before it (for paging).

Response

200 · application/json

objectstring

Always list.

dataRun[]

Runs, newest first. See Get a run for the fields.

has_moreboolean

true when older runs exist. Pass the last run's created_at as before to get them.

curl "https://api.agent.clatterlabs.xyz/v1/runs?limit=10" \
  -H "Authorization: Bearer $CLATTER_API_KEY" \
  -H "X-Clatter-Account: $CLATTER_ACCOUNT_ID"
import os
import requests

headers = {
    "Authorization": f"Bearer {os.environ['CLATTER_API_KEY']}",
    "X-Clatter-Account": os.environ["CLATTER_ACCOUNT_ID"],
}

r = requests.get("https://api.agent.clatterlabs.xyz/v1/runs", params={"limit": "10"}, headers=headers)
print(r.json())
const headers = {
  Authorization: `Bearer ${process.env.CLATTER_API_KEY}`,
  "X-Clatter-Account": process.env.CLATTER_ACCOUNT_ID,
};

const res = await fetch("https://api.agent.clatterlabs.xyz/v1/runs?limit=10", {
  method: "GET",
  headers,
});
console.log(await res.json());
{
  "object": "list",
  "data": [
    {
      "id": "4f0c2a6e-8d1b-4c3a-9f21-6b1e2d7c9a10",
      "object": "run",
      "status": "completed",
      "title": "Hello from the API",
      "input": "Write hello.py that prints the date, run it, and tell me the output.",
      "output": "I wrote hello.py and ran it. It printed: 2026-10-27 21:40:12",
      "error": null,
      "files": [
        {
          "name": "hello.py",
          "bytes": 61
        }
      ],
      "steps": 4,
      "tier": "auto",
      "usage": {
        "tokens": 18342
      },
      "metadata": {
        "ticket": "OPS-112"
      },
      "key_id": "key_7f3a…",
      "created_at": "2026-10-27T18:40:02.114Z",
      "updated_at": "2026-10-27T18:40:31.870Z"
    }
  ],
  "has_more": false
}
{
  "error": {
    "code": "invalid_api_key",
    "message": "This API key is invalid or was revoked."
  }
}
{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit: this key allows 30 requests per minute."
  }
}