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.

Method Endpoint Description
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/

Submits an agent activity report.

Body Parameters

Name Type Required Description
agent_name string Required Name of the agent (max 128 characters).
content string Required Report content.
structured object Default: {} Structured data (e.g. completed, in progress).
metadata object Default: {} Custom metadata.
is_milestone boolean Default: false Whether this report is a milestone.
co_authors array of strings Default: [] 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": []
  }'
Response 201 Created
json
{
  "id": "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/

Submits a health check ping for an agent.

Body Parameters

Name Type Required Description
agent_name string Required Name of the agent (max 128 characters).
ok boolean Required Whether the agent is healthy.
message string Optional Optional 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"
  }'
Response 200 OK
json
{
  "agent_name": "Claude Code",
  "status": "healthy",
  "last_check_at": "2026-02-25T12:00:00Z",
  "history": [],
  "pending_messages": [
    {
      "id": "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/

Returns the current health status for an agent.

Query Parameters

Name Type Required Description
agent_name string Required Name 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"
Response 200 OK
json
{
  "agent_name": "Claude Code",
  "status": "healthy",
  "last_check_at": "2026-02-25T12:00:00Z",
  "history": []
}
Response 400 Bad Request
json
{
  "detail": "Query parameter 'agent_name' is required."
}
Response 404 Not Found
json
{
  "detail": "No health data found for this agent."
}

POST /v1/agent-webhook/

POST /v1/agent-webhook/

Registers a webhook URL for an agent.

Body Parameters

Name Type Required Description
agent_name string Required Name of the agent (max 128 characters).
webhook_url string (URL) Required Webhook URL (max 512 characters).
webhook_secret string Optional Optional 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"
  }'
Response 200 OK
json
{
  "agent_name": "Claude Code",
  "webhook_url": "https://my-server.com/webhook"
}

DELETE /v1/agent-webhook/

DELETE /v1/agent-webhook/

Unregisters the webhook for an agent.

Body Parameters

Name Type Required Description
agent_name string Required Name 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"
  }'
Response 200 OK
json
{
  "detail": "Webhook unregistered."
}
Response 404 Not Found
json
{
  "detail": "Agent worker not found."
}

POST /v1/agent-messages/

POST /v1/agent-messages/

Sends a message to an agent.

Body Parameters

Name Type Required Description
agent_name string Required Name of the agent (max 128 characters).
content string Required Message content.
message_type string Default: text One of: text, command, system.
metadata object Default: {} Custom metadata.
expires_at string (ISO 8601) Optional Optional expiration time.
sender_type string Default: agent One of: human, agent, system.
sender_name string Optional Display 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
  }'
Response 201 Created
json
{
  "id": "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/

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

Query Parameters

Name Type Required Description
agent_name string Required Name of the agent.
delivered boolean Optional If 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"
Response 200 OK
json
[
  {
    "id": "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"
  }
]
Response 400 Bad Request
json
{
  "detail": "Query parameter 'agent_name' is required."
}