Skip to main content
POST
Create an agent

Authorizations

Authorization
string
header
required

The id_token from POST /auth/v1/signin, sent as Authorization: Bearer <id_token>. Not the access_token — that one does not carry the identity Cloud Chat authorizes on.

Headers

cloudchat-instance
integer
required

Your Cloud Chat instance ID — an integer, fixed for your company, told at onboarding. The API overview explains how instances work, how to find yours, and the errors a wrong or missing value produces.

Example:

1

Path Parameters

accountId
integer
required

Your Cloud Chat account. It has to be an account your token grants membership on, and it has to live on the instance in the cloudchat-instance header — the two travel together. Account numbers are only unique within an instance, so the same number is a different company on another instance. Usually a mismatched pair fails closed with a 401, because your user does not exist on the other instance — but if your identity happens to exist on both, the call succeeds against the other company's data, silently. Read it and you are looking at the wrong help center; write it and you have stored into the wrong account. Send the two values that were given to you together, and never try a number to see what answers.

Example:

1

Body

application/json

The agent goes under an agent wrapper. Administrator only.

agent
object
required

Response

Created.

A human or AI agent of the account. A hidden admin — the platform's own support user — never appears here, on the list or by id.

id
integer
required
Example:

7

name
string
required
Example:

"Jane Doe"

email
string
required
Example:

"jane@acme.com"

role
enum<string>
required
Available options:
agent,
administrator,
supervisor,
assistant,
cx_engineer
Example:

"agent"

availability_status
enum<string> | null
required
Available options:
online,
offline,
busy
Example:

"online"

auto_offline
boolean
required

Whether the agent is moved to offline automatically after a period of inactivity.

Example:

true

assignment_limit
integer | null
required

Per-agent override of the account's default conversation assignment limit. null when the agent uses the account default.

Example:

null

is_ai_agent
boolean
required
Example:

false

team_ids
integer[]
required

Teams the agent belongs to, scoped to this account.

Example:
inbox_ids
integer[]
required

Inboxes the agent is a member of, scoped to this account.

Example:
created_at
string<date-time>
required
Example:

"2026-05-02T11:04:17.000Z"

updated_at
string<date-time>
required
Example:

"2026-08-10T14:32:05.123Z"

display_name
string | null

The name that belongs to this account only, when there is one. It is what name shows; null means name comes from the user's global record.