Guru SecretaryDashboard

API for assistants

Let an assistant such as Muse read what your secretary heard and give her instructions.

Basics

Endpoints

RequestScopeWhat it does
GET /v1/meanyHarmless check that the key works: account, key scopes, lines, whether outbound calling is on.
GET /v1/calls?from=&to=&direction=&status=&limit=&cursor=read:callsCalls, newest first.
GET /v1/calls/{id}read:callsOne call with transcript and recording_url (signed, good for one hour).
POST /v1/callswrite:callsThe secretary places a call. Body: to, from_line, script (or instructions / purpose), idempotency_key, optional to_name, team. Returns call_id and status. Final once accepted.
GET /v1/voicemailsread:callsAlways empty: calls are answered live. Silent calls are in /v1/calls with status missed.
GET /v1/messages?thread=read:messagesTexts in and out, newest first.
POST /v1/messageswrite:messagesSend a text from the secretary's number. Body: to, text, idempotency_key. Final once sent.
GET /v1/appointmentsread:appointmentsUpcoming appointments.
POST /v1/appointmentswrite:appointmentsBook an open slot. Body: at, service, caller_name, callback_number, note. 409 when the time is not open.
PATCH / DELETE /v1/appointments/{id}write:appointmentsMove (send a new at) or cancel. The id is the appointment's at time.
GET /v1/agentanyGreeting, instructions, services, FAQ, hours, languages, lines.
PATCH /v1/agentwrite:agentChange greeting, instructions, services, faq, name, hours. The voice agent rebuilds in about a minute.

Call fields: id, direction, from, to, team, agent_id, started_at, ended_at, duration_seconds, status, outcome, urgent, caller_name, callback_number, summary, action_items, appointment, read, plus transcript and recording_url on a single call. Status is in_progress, completed, missed or failed.

Outbound calls and texts

curl https://api.gurusecretary.com/v1/me -H "Authorization: Bearer $KEY"

curl -X POST https://api.gurusecretary.com/v1/calls -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{
  "to": "+13135550100", "to_name": "Ali", "from_line": "+13139924441",
  "script": "Confirm the brake appointment for Thursday at 2:00 PM.",
  "idempotency_key": "2026-11-12-ali-confirm" }'

Webhooks

Email summaries

With no connection at all: one email per call to the report address, subject [Guru Secretary] Call - {caller} - {outcome}, then caller, number, time, outcome, summary, action items, appointment and the full transcript below a divider.