Skip to main content

Orby API

Orby endpoints exposed by the Devotel CPaaS API Base path: /api/v1/orby Endpoint count: 11

Search the Orbit knowledge base

GET /api/v1/orby/kb/search
Hybrid search over the Orbit product-docs index. Pass query (required) plus an optional limit (default 10, max 50) and a section/category filter. Returns ranked results, each with doc_id, title, section, category, url, snippet, score, and last_updated_at. While the index is cold or reindexing the endpoint degrades to an empty result set with a kb_outage_hint instead of erroring. Operator-session auth only — API-key-authenticated requests are rejected.
string
required
The search query.
integer
Max results to return (default 10, max 50).
string
Restrict results to a single docs section.
string
Restrict results to a single docs category.

Get Orby knowledge-base index status

GET /api/v1/orby/kb/status
Super-admin only. Returns a health snapshot of the Orby docs index: collection name and shape, total and stale chunk counts, last reindex timestamp, current version, and in-process cache statistics. Operator-session auth only — API-key-authenticated requests are rejected.

List the operator’s Orby threads

GET /api/v1/orby/threads
Returns up to the 50 most recent Orby conversation threads for the authenticated operator (the dashboard ‘Past chats’ panel), each with id, title, metadata, and created_at / updated_at / archived_at timestamps. Operator-session auth only — API-key-authenticated requests are rejected.

List an Orby thread’s messages

GET /api/v1/orby/threads/{id}/messages
Replays a thread’s persisted message log (oldest-first) so the dashboard can re-render conversation history on reload. Returns each message’s id, role, content, and created_at; responds 404 if the thread is not owned by the caller. Operator-session auth only — API-key-authenticated requests are rejected.
string
required

Get a pending Orby tool action

GET /api/v1/orby/tool-actions/{id}
Polls the status of a pending Orby tool action (the confirmation card polls this after approve to surface the result and cost). Returns the action’s tool, args, cost_estimate_cents, status, result, error_code / error_message, and created_at / expires_at / executed_at / cancelled_at. A pending row past its 5-minute window is lazily flipped to cancelled. Operator-session auth only — API-key-authenticated requests are rejected.
string
required

Start or continue an Orby assistant turn (SSE stream)

POST /api/v1/orby/assistant
Runs one Orby operator-assistant turn and streams the result as Server-Sent Events (text/event-stream): router, status, token, tool_start, tool_pending, tool_end, refusal, clarify, response, and error frames. Send { message, thread_id?, page? } — omit thread_id to start a new thread. Rate-limited to 60 turns/min per operator. Operator-session auth only — API-key-authenticated requests are rejected.
string
The operator’s message for this turn.
string
Existing thread to continue; omit to start a new thread.
object
Optional context for the dashboard page the operator is viewing, used to ground the turn.

Find the dashboard setting for a described task

POST /api/v1/orby/kb/find-setting
“Where do I configure X” helper — resolves a natural-language description to the dashboard settings that control it. Returns ranked matches, each with setting_path, dashboard_url, label, description, doc_url, snippet, and score. Degrades to an empty result with a kb_outage_hint while the knowledge base is initialising. Operator-session auth only — API-key-authenticated requests are rejected.
string
Natural-language description of the task the operator wants to configure.
integer
Max matches to return (default 10, max 20).

Trigger an Orby knowledge-base reindex

POST /api/v1/orby/kb/reindex
Super-admin only. Triggers a manual reindex of the Orbit docs corpus. Runs inline when the docs source is mounted on the pod, otherwise schedules the reindex for the background worker. Returns { scheduled, ran_inline, error }. Operator-session auth only — API-key-authenticated requests are rejected.

Create an Orby thread

POST /api/v1/orby/threads
Pre-allocates a new Orby conversation thread before the first user message (the FE pre-allocation flow). Accepts an optional title and page context and returns the new thread’s id, title, and created_at / updated_at timestamps. Operator-session auth only — API-key-authenticated requests are rejected.
string
Optional thread title.
object
Optional page context to seed the thread.

Approve a pending Orby tool action

POST /api/v1/orby/tool-actions/{id}/approve
Approves and executes a pending Orby tool action that paused a turn on a confirmation gate (the tool_pending SSE event). Ownership is enforced on the original operator and organization, and the persisted arguments are re-validated and re-authorized before execution. Returns the pending action id, terminal status, and the executor result. The approval window expires 5 minutes after the gate was raised. Operator-session auth only — API-key-authenticated requests are rejected.
string
required

Reject a pending Orby tool action

POST /api/v1/orby/tool-actions/{id}/reject
Cancels a pending Orby tool action raised by a confirmation gate, marking it cancelled without executing it. Same ownership rules as approve. Returns the action id and status. Operator-session auth only — API-key-authenticated requests are rejected.
string
required