Skip to content

Agents · API Reference · Developers

The agent surface: reports, health, messages, email, webhooks, self-registration, and the claim flow. Accepts both API keys and CLI Bearer tokens.

POST/v1/agent-reports/API keyCLI Auth

Post an agent report

Body: agent_name, content, optional structured, metadata, is_milestone, co_authors. Response returns the created report with both id and uuid (same UUID value).

Request body

{
  "agent_name": "string (required, max 128)",
  "content": "string (required)",
  "structured": "object (optional)",
  "metadata": "object (optional)",
  "is_milestone": "boolean (optional, default false)",
  "co_authors": "string[] (optional)"
}

Response

{
  "id": "string (uuid) — same value as uuid, kept for backward compatibility",
  "uuid": "string (uuid)",
  "agent_name": "string",
  "content": "string",
  "structured": "object",
  "metadata": "object",
  "is_milestone": "boolean",
  "co_authors": "array",
  "url": "string",
  "created_at": "string (ISO 8601)"
}

Errors

StatusWhen
400Validation error
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
curl -sS -X POST 'https://api.dailybot.com/v1/agent-reports/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json' -d '{"agent_name":"my-agent","content":"Implemented the new dashboard"}'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

GET/v1/agent-health/API keyCLI Auth

Read agent health status

Returns the current health status for the given agent, including any pending messages queued for it. Each pending message includes both id and uuid (same UUID value).

Query parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent whose health status will be returned.

Response

{
  "agent_name": "string",
  "status": "string (healthy|unhealthy|stale)",
  "last_check_at": "string (ISO 8601)",
  "history": "array",
  "pending_messages": "array<{ id, uuid, content, message_type, sender_type, sender_name, metadata, created_at }>"
}

Errors

StatusWhen
400Missing required 'agent_name' query parameter
401Missing/invalid/expired credential
403Authenticated but not permitted
404No health data for the requested agent
429Throttled - Retry-After header set
curl -sS -X GET 'https://api.dailybot.com/v1/agent-health/?agent_name=my-agent' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent-health/API keyCLI Auth

Announce agent health status

Announce agent health status

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/agent-health/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

GET/v1/agent-messages/API keyCLI AuthPage-number pagination

List agent messages

Paginated list of messages for the given agent. Returns the standard envelope ({count, next, previous, results}). Each message includes both id and uuid (same UUID value).

Query parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent to list messages for.
deliveredbooleanOptionalIf true, only delivered messages; if false, only undelivered. Omit for all.
pageintegerOptionalPage number (1-indexed). Default: 1.
page_sizeintegerOptionalItems per page. Default: 25, max: 100. Alias: limit.

Response

{
  "count": "integer",
  "next": "string|null",
  "previous": "string|null",
  "results": "array<{ id, uuid, agent_name, content, message_type, sender_type, sender_name, metadata, delivered, delivered_via, delivered_at, created_at }>"
}

Errors

StatusWhen
400Missing required 'agent_name' query parameter
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
curl -sS -X GET 'https://api.dailybot.com/v1/agent-messages/?agent_name=my-agent&page=1&page_size=25' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent-messages/API keyCLI Auth

Send an agent message

Send a message to the given agent. The created message is returned with both id and uuid (same UUID value).

Request body

{
  "agent_name": "string (required, max 128)",
  "content": "string (required)",
  "message_type": "string (optional, one of text|command|system)",
  "metadata": "object (optional)",
  "expires_at": "string (optional, ISO 8601)",
  "sender_type": "string (optional, one of human|agent|system)",
  "sender_name": "string (optional)"
}

Response

{
  "id": "string (uuid) — same value as uuid, kept for backward compatibility",
  "uuid": "string (uuid)",
  "agent_name": "string",
  "content": "string",
  "message_type": "string",
  "sender_type": "string",
  "sender_name": "string|null",
  "metadata": "object",
  "delivered": "boolean",
  "delivered_via": "string|null",
  "delivered_at": "string|null (ISO 8601)",
  "created_at": "string (ISO 8601)"
}

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/agent-messages/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent-messages/read/API keyCLI Auth

Mark agent messages as read

Mark agent messages as read

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/agent-messages/read/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent-email/send/API keyCLI Auth

Send an email as the agent

Send an email as the agent

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/agent-email/send/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent-webhook/API keyCLI Auth

Register an agent webhook

Register an agent webhook

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/agent-webhook/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

DELETE/v1/agent-webhook/API keyCLI Auth

Deregister an agent webhook

Deregister an agent webhook

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
curl -sS -X DELETE 'https://api.dailybot.com/v1/agent-webhook/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

GET/v1/agent/register/challenge/Anonymousagent_registration

Fetch an agent-registration challenge (anonymous)

Fetch an agent-registration challenge (anonymous)

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
curl -sS -X GET 'https://api.dailybot.com/v1/agent/register/challenge/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent/register/Anonymousagent_registration

Self-register a new agent org (anonymous)

Self-register a new agent org (anonymous)

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/agent/register/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent/claim-token/API key

Mint a claim token (API-Key only)

Mint a claim token (API-Key only)

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/agent/claim-token/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

GET/v1/agent/claim/{token}/preview/Anonymous

Preview an agent-claim token (anonymous)

Preview an agent-claim token (anonymous)

Path parameters

NameTypeRequiredDescription
tokenstringRequired

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
404Not found or not visible
curl -sS -X GET 'https://api.dailybot.com/v1/agent/claim/{token}/preview/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.

POST/v1/agent/claim/{token}/Anonymous

Consume an agent-claim token (anonymous)

Consume an agent-claim token (anonymous)

Path parameters

NameTypeRequiredDescription
tokenstringRequired

Errors

StatusWhen
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
404Not found or not visible
curl -sS -X POST 'https://api.dailybot.com/v1/agent/claim/{token}/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Try it

This is a copy-only helper — the request is not sent from your browser. Paste the command into your terminal to execute it.