---
title: "Create a new Agent"
method: POST
path: "/agents"
tags: ["agents"]
---

# Create a new Agent

`POST /agents`

## Request body

- AgentCreateReqSchema
  - `name` string, required — A unique name label
  - `orb_tags` object — User defined key/values that will define the members of the group by matching against Agent tags

## Response `201`

Agent object

- AgentObjSchema
  - `id` string, uuid, required — Unique identifier (UUID)
  - `name` string — A unique name label
  - `agent_tags` object — Orb tags field sent in by the agent when it connects group by matching against Agent tags
  - `orb_tags` object — Orb tags field defined through the API or UI
  - `ts_created` string, date-time — Timestamp of creation
  - `agent_metadata` object — JSON object sent in by the agent representing its Capabilities
  - `state` string — Current connection status of the agent, one of 'new', 'online', 'offline', 'stale', 'removed'
  - `last_hb_data` object — JSON object sent in by the agent as its last heartbeat
  - `ts_last_hb` string, date-time — A time stamp of the last heartbeat that was received
  - `key` string, uuid — Agent key is a secret key that is generated at agent creation for authentication purposes
  - `channel_id` string, uuid — Communication channel ID (UUIDv4), unique to this agent and created at agent creation

## Other responses

- `400` — Failed due to malformed JSON.
- `401` — Missing or invalid access token provided.
- `409` — Entity already exist.
- `415` — Missing or invalid content type.
- `422` — Database can't process request.
- `500` — Unexpected server-side error occurred.

## Changes

- **2026-07-17** `53154347a3c8` — 2 breaking, 1 warning
  - added the new required `header` request parameter `Authorization` to all path's operations
  - added the new required `header` request parameter `Authorization`
  - deleted the `header` request parameter `Bearer authorization`
- **2022-10-04** `111e8df6206d` — 2 breaking, 1 warning
  - added the new required `header` request parameter `Bearer authorization` to all path's operations
  - added the new required `header` request parameter `Bearer authorization`
  - deleted the `header` request parameter `Authorization`
- **2021-11-26** `57efbcb25619` — 2 info
  - added the optional property `channel_id` to the response with the `201` status
  - added the optional property `key` to the response with the `201` status
- **2021-08-25** `c2a7000136b8` — 2 warning
  - removed the optional property `channel_id` from the response with the `201` status
  - removed the optional property `key` from the response with the `201` status

[Change history](https://skmtc.dev/orb-community/apis/orb-fleet/changes/agents/post.md)

---

[API](https://skmtc.dev/orb-community/apis/orb-fleet.md) · [All operations](https://skmtc.dev/orb-community/apis/orb-fleet/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/orb-community/orb-fleet/revisions/53154347a3c8/schema)
