Skip to content

API reference

API: Live

Markdown version

MethodPathWhat it doesScope
PUT/v1/recordings/:id/liveYour bot's live options: live transcript and prompts (before it joins), the AI participant in chat, mute ittranscripts:write
GET/v1/recordings/:id/live/itemsThe live panel so far (the seller only): transcript lines, commitments, prompts and the AI participant's answerstranscripts:read
POST/v1/recordings/:id/live/items/:item/:decisionSend (as your message) or discard a drafted AI assistant answer (in the app) (web app only)messages:send
POST/v1/roleplayStart a practice conversation against a buyer persona built from your org's real buyers and objections (or one deal's)transcripts:write
GET/v1/roleplay/:idA practice session (yours, or a report's for their managers)transcripts:read
POST/v1/roleplay/:id/endEnd the practice and get your score (the coaching rubrics)transcripts:write
POST/v1/roleplay/:id/messagesSay something in your practice conversation; the buyer answerstranscripts:write
GET/v1/roleplay/reps/:idA rep's practice sessions and progress (the rep and their managers)transcripts:read

Examples

PUT /v1/recordings/$ID/live

Your bot's live options: live transcript and prompts (before it joins), the AI participant in chat, mute it

curl -s -X PUT "https://api.closefinch.com/v1/recordings/$ID/live" \
  -H "Authorization: Bearer $RA_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'
const res = await fetch(`https://api.closefinch.com/v1/recordings/${id}/live`, {
  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/recordings/$ID/live/items

The live panel so far (the seller only): transcript lines, commitments, prompts and the AI participant's answers

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

POST /v1/roleplay

Start a practice conversation against a buyer persona built from your org's real buyers and objections (or one deal's)

curl -s -X POST "https://api.closefinch.com/v1/roleplay" \
  -H "Authorization: Bearer $RA_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'
const res = await fetch(`https://api.closefinch.com/v1/roleplay`, {
  method: "POST",
  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/roleplay/$ID

A practice session (yours, or a report's for their managers)

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

POST /v1/roleplay/$ID/end

End the practice and get your score (the coaching rubrics)

curl -s -X POST "https://api.closefinch.com/v1/roleplay/$ID/end" \
  -H "Authorization: Bearer $RA_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'
const res = await fetch(`https://api.closefinch.com/v1/roleplay/${id}/end`, {
  method: "POST",
  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();

POST /v1/roleplay/$ID/messages

Say something in your practice conversation; the buyer answers

curl -s -X POST "https://api.closefinch.com/v1/roleplay/$ID/messages" \
  -H "Authorization: Bearer $RA_API_KEY" \
  -H "content-type: application/json" \
  -d '{}'
const res = await fetch(`https://api.closefinch.com/v1/roleplay/${id}/messages`, {
  method: "POST",
  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/roleplay/reps/$ID

A rep's practice sessions and progress (the rep and their managers)

curl -s "https://api.closefinch.com/v1/roleplay/reps/$ID" \
  -H "Authorization: Bearer $RA_API_KEY"
const res = await fetch(`https://api.closefinch.com/v1/roleplay/reps/${id}`, {
  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.