Agents
Agents are the top-level entity in Chronary. Each agent can own multiple calendars and has its own availability.
Create an agent
Section titled “Create an agent”POST /v1/agentsRequest body
Section titled “Request body”| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | 1–255 characters |
type | string | Yes | ai, human, or resource |
description | string | No | Free-text description |
metadata | object | No | Key-value pairs, max 16KB JSON |
Example
Section titled “Example”curl -X POST https://api.chronary.ai/v1/agents \ -H "Authorization: Bearer chr_sk_test_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "name": "Sales Agent - Acme Corp", "type": "ai", "description": "Handles meeting scheduling for the sales team", "metadata": { "team": "sales" } }'Response 201 Created
Section titled “Response 201 Created”{ "id": "agt_a1b2c3d4", "org_id": "org_abc", "name": "Sales Agent - Acme Corp", "type": "ai", "status": "active", "description": "Handles meeting scheduling for the sales team", "metadata": { "team": "sales" }, "created_at": "2026-04-04T12:00:00Z", "updated_at": "2026-04-04T12:00:00Z"}Triggers an agent.created webhook.
Errors
Section titled “Errors”| Status | Type | Cause |
|---|---|---|
429 | quota_exceeded | Agent limit reached on your plan |
List agents
Section titled “List agents”GET /v1/agentsQuery parameters
Section titled “Query parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
type | string | — | Filter by ai, human, or resource |
status | string | — | Filter by active, paused, or decommissioned |
limit | integer | 50 | 1–200 |
offset | integer | 0 | Pagination offset |
Example
Section titled “Example”curl "https://api.chronary.ai/v1/agents?type=ai&status=active&limit=10" \ -H "Authorization: Bearer chr_sk_test_your_key_here"Response 200 OK
Section titled “Response 200 OK”{ "data": [ { "id": "agt_a1b2c3d4", "name": "Sales Agent - Acme Corp", "type": "ai", "status": "active", ... } ], "total": 3, "limit": 10, "offset": 0}Get an agent
Section titled “Get an agent”GET /v1/agents/:idExample
Section titled “Example”curl https://api.chronary.ai/v1/agents/agt_a1b2c3d4 \ -H "Authorization: Bearer chr_sk_test_your_key_here"Errors
Section titled “Errors”| Status | Type | Cause |
|---|---|---|
404 | not_found | Agent not found |
Update an agent
Section titled “Update an agent”PATCH /v1/agents/:idRequest body
Section titled “Request body”| Field | Type | Description |
|---|---|---|
name | string | 1–255 characters |
description | string | null | Set to null to clear |
metadata | object | Replaces existing metadata |
status | string | active or paused |
At least one field must be provided.
Example
Section titled “Example”curl -X PATCH https://api.chronary.ai/v1/agents/agt_a1b2c3d4 \ -H "Authorization: Bearer chr_sk_test_your_key_here" \ -H "Content-Type: application/json" \ -d '{ "status": "paused" }'Triggers an agent.updated webhook.
Errors
Section titled “Errors”| Status | Type | Cause |
|---|---|---|
404 | not_found | Agent not found |
Delete (decommission) an agent
Section titled “Delete (decommission) an agent”DELETE /v1/agents/:idSets the agent status to decommissioned. Returns 204 No Content.
Example
Section titled “Example”curl -X DELETE https://api.chronary.ai/v1/agents/agt_a1b2c3d4 \ -H "Authorization: Bearer chr_sk_test_your_key_here"Errors
Section titled “Errors”| Status | Type | Cause |
|---|---|---|
404 | not_found | Agent not found |