Skip to content

Agent Reports

Public API endpoints for agent activity reports, health checks, webhook registration, and messages. Authentication: X-API-KEY header or Authorization: Bearer <cli_token>.

Reports can include human-readable content and structured data.

MethodEndpointDescription
POST/v1/agent-reports/Submit an agent activity report
POST/v1/agent-health/Submit a health check ping for an agent
GET/v1/agent-health/Get current health status for an agent
POST/v1/agent-webhook/Register a webhook URL for an agent
DELETE/v1/agent-webhook/Unregister the webhook for an agent
POST/v1/agent-messages/Send a message to an agent
GET/v1/agent-messages/List messages for an agent

POST /v1/agent-reports/

POST/v1/agent-reports/API keyCLI Auth

Submits an agent activity report.

Body Parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent (max 128 characters).
contentstringRequiredReport content.
structuredobjectDefault: {}Structured data (e.g. completed, in progress).
metadataobjectDefault: {}Custom metadata.
is_milestonebooleanDefault: falseWhether this report is a milestone.
co_authorsarray of stringsDefault: []List of co-author identifiers.
Request
curl -X POST "https://api.dailybot.com/v1/agent-reports/" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_name": "Claude Code",
    "content": "Implemented user authentication feature",
    "structured": {},
    "metadata": {},
    "is_milestone": false,
    "co_authors": []
  }'
Response201 Created
json
{
  "id": "report-uuid",
  "uuid": "report-uuid",
  "agent_name": "Claude Code",
  "content": "Implemented user authentication feature",
  "structured": {},
  "metadata": {},
  "is_milestone": false,
  "co_authors": [
    {
      "uuid": "user-uuid",
      "name": "Jane"
    }
  ],
  "created_at": "2026-02-25T12:00:00Z"
}

POST /v1/agent-health/

POST/v1/agent-health/API keyCLI Auth

Submits a health check ping for an agent.

Body Parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent (max 128 characters).
okbooleanRequiredWhether the agent is healthy.
messagestringOptionalOptional status message (max 500 characters).
Request
curl -X POST "https://api.dailybot.com/v1/agent-health/" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_name": "Claude Code",
    "ok": true,
    "message": "All systems operational"
  }'
Response200 OK
json
{
  "agent_name": "Claude Code",
  "status": "healthy",
  "last_check_at": "2026-02-25T12:00:00Z",
  "history": [],
  "pending_messages": [
    {
      "id": "message-uuid",
      "uuid": "message-uuid",
      "content": "Please review PR #42",
      "message_type": "text",
      "sender_type": "agent",
      "sender_name": null,
      "metadata": {},
      "created_at": "2026-02-25T11:00:00Z"
    }
  ]
}

GET /v1/agent-health/

GET/v1/agent-health/API keyCLI Auth

Returns the current health status for an agent.

Query Parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent.
Request
curl -X GET "https://api.dailybot.com/v1/agent-health/?agent_name=Claude%20Code" \
  -H "X-API-KEY: your_api_key_here"
Response200 OK
json
{
  "agent_name": "Claude Code",
  "status": "healthy",
  "last_check_at": "2026-02-25T12:00:00Z",
  "history": []
}
Response400 Bad Request
json
{
  "detail": "Query parameter 'agent_name' is required."
}
Response404 Not Found
json
{
  "detail": "No health data found for this agent."
}

POST /v1/agent-webhook/

POST/v1/agent-webhook/API keyCLI Auth

Registers a webhook URL for an agent.

Body Parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent (max 128 characters).
webhook_urlstring (URL)RequiredWebhook URL (max 512 characters).
webhook_secretstringOptionalOptional secret for signing payloads (max 256 characters).
Request
curl -X POST "https://api.dailybot.com/v1/agent-webhook/" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_name": "Claude Code",
    "webhook_url": "https://my-server.com/webhook",
    "webhook_secret": "optional-secret"
  }'
Response200 OK
json
{
  "agent_name": "Claude Code",
  "webhook_url": "https://my-server.com/webhook"
}

DELETE /v1/agent-webhook/

DELETE/v1/agent-webhook/API keyCLI Auth

Unregisters the webhook for an agent.

Body Parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent.
Request
curl -X DELETE "https://api.dailybot.com/v1/agent-webhook/" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_name": "Claude Code"
  }'
Response200 OK
json
{
  "detail": "Webhook unregistered."
}
Response404 Not Found
json
{
  "detail": "Agent worker not found."
}

POST /v1/agent-messages/

POST/v1/agent-messages/API keyCLI Auth

Sends a message to an agent.

Body Parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent (max 128 characters).
contentstringRequiredMessage content.
message_typestringDefault: textOne of: text, command, system.
metadataobjectDefault: {}Custom metadata.
expires_atstring (ISO 8601)OptionalOptional expiration time.
sender_typestringDefault: agentOne of: human, agent, system.
sender_namestringOptionalDisplay name of the sender.
Request
curl -X POST "https://api.dailybot.com/v1/agent-messages/" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_name": "Claude Code",
    "content": "Please review PR #42",
    "message_type": "text",
    "metadata": {},
    "sender_type": "agent",
    "sender_name": null
  }'
Response201 Created
json
{
  "id": "message-uuid",
  "uuid": "message-uuid",
  "agent_name": "Claude Code",
  "content": "Please review PR #42",
  "message_type": "text",
  "sender_type": "agent",
  "sender_name": null,
  "metadata": {},
  "delivered": false,
  "delivered_via": null,
  "delivered_at": null,
  "created_at": "2026-02-25T12:00:00Z"
}

GET /v1/agent-messages/

GET/v1/agent-messages/API keyCLI Auth

Returns messages for an agent, optionally filtered by delivery status.

Query Parameters

NameTypeRequiredDescription
agent_namestringRequiredName of the agent.
deliveredbooleanOptionalIf true, only delivered messages; if false, only undelivered. Omit for all.
Request
curl -X GET "https://api.dailybot.com/v1/agent-messages/?agent_name=Claude%20Code" \
  -H "X-API-KEY: your_api_key_here"
Response200 OK
json
[
  {
    "id": "message-uuid",
    "uuid": "message-uuid",
    "agent_name": "Claude Code",
    "content": "Please review PR #42",
    "message_type": "text",
    "sender_type": "agent",
    "sender_name": null,
    "metadata": {},
    "delivered": false,
    "delivered_via": null,
    "delivered_at": null,
    "created_at": "2026-02-25T12:00:00Z"
  }
]
Response400 Bad Request
json
{
  "detail": "Query parameter 'agent_name' is required."
}