Skip to content

API reference

API: Desktop

Markdown version

MethodPathWhat it doesScope
GET/v1/desk/itemsThe queue: conversations the AI handed to people (calls, website chats, text threads, escalated emails), offered to you first, then waiting, then with others. Only what you may see in each channelcalls:read
GET/v1/desk/items/:idOne conversation: why the AI handed it off, what it collected, its summary, the conversation so far, the 360° panel (contact, account, deals, history across channels, consent and do-not-contact) and a suggested next action with its sourcesmessages:read
POST/v1/desk/items/:id/acceptTake the conversation (a chat or text thread: the AI stops answering it; an email: it's assigned to you). A call is taken on your phone (web app only)calls:write
POST/v1/desk/items/:id/hand-backGive the conversation back to the AI agent (a chat's visitor is told; a call gets a new voice session, which says the disclosure first) (web app only)messages:send
POST/v1/desk/items/:id/passPass on what's offered to you: it goes to the next available person (web app only)calls:write
POST/v1/desk/items/:id/transferHand the conversation to a teammate with a note. A call rings their own confirmed phone with the context and moves on 1; you stay on until they take it (web app only)messages:send
GET/v1/desk/peopleEveryone's presence and how many conversations they have (for handing one on)calls:read
PUT/v1/desk/presenceYour presence: available (conversations are offered to you, up to your capacity), busy or away (nothing is offered, and transfers skip you)calls:write
GET/v1/desk/settingsDesktop settings: the SLA per channel, how long an offer to one person stands, sales-floor wins in Slack, owners' live listen and the monitoring noticecalls:read
PUT/v1/desk/settingsChange the desktop settings (owner) (web app only)settings:write

Examples

GET /v1/desk/items

The queue: conversations the AI handed to people (calls, website chats, text threads, escalated emails), offered to you first, then waiting, then with others. Only what you may see in each channel

curl -s "https://api.closefinch.com/v1/desk/items" \
  -H "Authorization: Bearer $RA_API_KEY"
const res = await fetch(`https://api.closefinch.com/v1/desk/items`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();

GET /v1/desk/items/$ID

One conversation: why the AI handed it off, what it collected, its summary, the conversation so far, the 360° panel (contact, account, deals, history across channels, consent and do-not-contact) and a suggested next action with its sources

curl -s "https://api.closefinch.com/v1/desk/items/$ID" \
  -H "Authorization: Bearer $RA_API_KEY"
const res = await fetch(`https://api.closefinch.com/v1/desk/items/${id}`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();

GET /v1/desk/people

Everyone's presence and how many conversations they have (for handing one on)

curl -s "https://api.closefinch.com/v1/desk/people" \
  -H "Authorization: Bearer $RA_API_KEY"
const res = await fetch(`https://api.closefinch.com/v1/desk/people`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();

PUT /v1/desk/presence

Your presence: available (conversations are offered to you, up to your capacity), busy or away (nothing is offered, and transfers skip you)

curl -s -X PUT "https://api.closefinch.com/v1/desk/presence" \
  -H "Authorization: Bearer $RA_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'
const res = await fetch(`https://api.closefinch.com/v1/desk/presence`, {
  method: "PUT",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
  body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();

GET /v1/desk/settings

Desktop settings: the SLA per channel, how long an offer to one person stands, sales-floor wins in Slack, owners' live listen and the monitoring notice

curl -s "https://api.closefinch.com/v1/desk/settings" \
  -H "Authorization: Bearer $RA_API_KEY"
const res = await fetch(`https://api.closefinch.com/v1/desk/settings`, {
  method: "GET",
  headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();

Request and response schemas: https://www.closefinch.com/openapi.json. All resources: API reference.

Send feedback

Tell us what's broken, confusing or missing on this page, or an idea. It goes to the team that builds the product.

Please don't include passwords or card numbers.
Only to reply about this. Never added to any mailing list.