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

# Register an agent

`POST /api/v1/agents`

## Request

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

Register a new agent. OWNER may target a specific domain. Requires the admin role.

## Request body

- CreateAgentRequest
  - `name` string, required: Agent name (must be unique per domain)
  - `agent_type` string, nullable: Optional agent type/category
  - `domain` string, nullable: Target domain (owner only; must be in owner domain list)

## Response `201`

The registered agent

- AgentDetail
  - `id` integer, required: Agent primary key
  - `name` string, required: Unique agent name
  - `agent_id` string, required: Unique agent identifier in agent:HEX format
  - `agent_type` string, nullable: Agent type or category
  - `domain` string, required: Email domain the agent belongs to
  - `archived` boolean, required: Whether the agent is archived
  - `created_at` string, date-time, required
  - `user_id` string, required: User ID of the agent creator
  - `updated_at` string, date-time, required: When the agent was last updated

## Other responses

- `400`: The request was invalid
- `401`: Missing or invalid API key
- `403`: The caller's role is not permitted to perform this action
- `409`: The resource already exists or conflicts with current state
- `422`: Request validation failed

---

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