Ricky logorickyDocs

Create an agent

POST
/agents

Creates an AI agent with its instructions, model, voice and capabilities. It answers no conversation until you assign it to one or make it a channel default in Ricky.

Scope: agents:write.

Authorization

bearerAuth
headerAuthorizationBearer <token>

An organization API key, rky_live_…, created in Settings → API. Send it only from a server.

Idempotency-Key?string

Optional. A value you choose, unique per logical write, 8–200 characters: a UUID or an ID from your system such as order-10482-ready. Retrying with the same key and body replays the first response instead of repeating the write.

Length8 <= length <= 200

Request Body

application/json
  1. body

Only name is required; it does not connect the agent to any channel.

name*string

Name the team sees.

Length1 <= length <= 120
description?|

What the agent is for.

instructions?|

How the agent answers customers.

model?string

A model id of GET /agent-options. Without one, the default model.

Lengthlength <= 200
voice?string

A voice of GET /agent-options. Without one, the default voice.

Lengthlength <= 100
capabilities?array<>

The complete set of capability names. Replaces the current ones.

Itemsitems <= 200
handoff_user_ids?array<>

The complete set of members who receive handed-off conversations. Required with ricky.handoff.request.

Itemsitems <= 100

Response Body

Success.

application/json
  1. response
data*

An AI agent that answers conversations alongside the team.

curl -X POST 'https://getricky.ai/api/v1/agents' \  -H 'Idempotency-Key: order-10482-ready' \  -H 'Content-Type: application/json' \  -d '{  "name": "Asistente de ventas",  "instructions": "Saluda por el nombre y confirma el pedido antes de dar la fecha de entrega.",  "capabilities": [    "ricky.handoff.request"  ],  "handoff_user_ids": [    "2d4f6a8c-1b3d-4e5f-8a7b-9c0d1e2f3a4b"  ]}'
{  "data": {    "id": "7e8f9a0b-1c2d-4e3f-a4b5-c6d7e8f9a0b1",    "name": "Asistente de ventas",    "description": "Atiende consultas de pedidos y horarios.",    "instructions": "Saluda por el nombre y confirma el pedido antes de dar la fecha de entrega.",    "model": "deepseek/deepseek-v4.1-flash",    "voice": "diana",    "capabilities": [      "ricky.handoff.request"    ],    "handoff_user_ids": [      "2d4f6a8c-1b3d-4e5f-8a7b-9c0d1e2f3a4b"    ],    "created_at": "2026-10-14T15:30:00.000Z",    "updated_at": "2026-10-14T15:30:00.000Z",    "archived_at": "2026-10-14T15:30:00.000Z"  }}