---
title: "Register an agent"
method: POST
path: "/v1/agents"
tags: ["Agents"]
---

# Register an agent

`POST /v1/agents`

## Request

- Base URL: `https://api.chronary.ai`
- URL: `https://api.chronary.ai/v1/agents`
- Auth: HTTP bearer

Registers your AI agent with Chronary, creating a Chronary identity it can use to own calendars, events, and webhooks. The agent itself already exists in your system — this gives it a Chronary record.

## Request body

- CreateAgent
  - `name` string, required
  - `type` 'ai' | 'human' | 'resource', required
  - `description` string
  - `metadata` object

## Response `201`

Agent registered

- Agent
  - `id` string, required
  - `orgId` string, required
  - `name` string, required
  - `type` 'ai' | 'human' | 'resource', required
  - `description` string, nullable, required
  - `status` 'active' | 'paused' | 'decommissioned', required
  - `metadata` object, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400`: Validation error — invalid request body or query parameters
- `401`: Unauthorized — missing or invalid API key
- `403`: Forbidden — quota exceeded or operation not permitted
- `429`: Rate limited — 10 requests per second per key exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/chronary/apis/chronary-api.md) · [All operations](https://skmtc.dev/chronary/apis/chronary-api/llms.txt) · [OpenAPI document](https://skmtc.dev/chronary/apis/chronary-api/revisions/0d1a330294ae?raw)
