# POST /agent-ops/registry

**Resource:** [Agent Ops](./agent-ops.md)  
**Scopes:** `agent-ops:write`  
**Write operation:** yes

Register a new AI agent.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `name` | body | string | yes | Machine name (e.g. sales-report) |
| `display_name` | body | string | yes | Display name shown in Agent Hub |
| `description` | body | string | no | What this agent does |
| `agent_type` | body | string | no | cron_report \| real_time_responder \| scheduled_task \| error_handler |
| `status` | body | string | no | active \| paused \| error \| disabled (default: active) |
| `schedule` | body | string | no | Cron expression (for scheduled agents) |
| `timezone` | body | string | no | IANA timezone (e.g. Australia/Sydney) |
| `capabilities` | body | array | no | e.g. ["email","sms","screenshot"] |
| `configuration` | body | object | no | Agent-specific settings (JSONB) |

## Request example

```bash
{
  "name": "weekly-report",
  "display_name": "Weekly Report Agent",
  "agent_type": "cron_report",
  "schedule": "0 9 * * 1",
  "timezone": "Australia/Sydney",
  "capabilities": ["email", "notepad"]
}
```

## Response example

```json
{
  "data": {
    "id": "a1b2c3d4-...",
    "company_id": "ebeff86e-...",
    "name": "weekly-report",
    "display_name": "Weekly Report Agent",
    "status": "active",
    "created_at": "2026-05-19T07:00:00Z"
  }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`