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. |
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
{
"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). |
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
{
"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. |
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
{
"agent_name": "Claude Code",
"status": "healthy",
"last_check_at": "2026-02-25T12:00:00Z",
"history": []
}Response 400 Bad Request
{
"detail": "Query parameter 'agent_name' is required."
}Response 404 Not Found
{
"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). |
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
{
"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. |
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
{
"detail": "Webhook unregistered."
}Response 404 Not Found
{
"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. |
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
{
"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. |
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
[
{
"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
{
"detail": "Query parameter 'agent_name' is required."
}