Base URL:
https://www.orgo.ai/api
Auth: Authorization: Bearer $ORGO_API_KEY on every request.
The /v1 surface
List threads
string
required
The computer’s UUID or its instance id. Omitting it returns 400
missing_computer_id.string
Always
list.array
Thread summaries, most recently updated first.
Create thread
201 Created. You rarely need this. A completion with no thread_id creates one for you.
string
required
The computer’s UUID or its instance id. Omitting it returns 400
missing_computer_id.Get thread
Delete thread
GET.
Errors
type is one of invalid_request, authentication_error, permission_error, or not_found.
The /chat surface
Access on this surface is by workspace, not by author. Any member of the computer’s workspace, including a share-link guest, can read, update and delete the workspace’s threads. The
/run endpoints are the exception and are restricted to the thread’s creator.
List threads
status client-side if you want to hide them.
string
required
The computer’s UUID. This surface does not accept an instance id: a non-UUID value returns 500. Omitting it returns 400.
array
Thread objects, most recently updated first.
Create thread
201 Created.
string
required
The computer’s UUID. Omitting it returns 400.
string
Client-side identifier. Echoed back as
externalId so clients can reconcile local and remote threads. When omitted, externalId is absent from the response.string
The new thread’s UUID. Use it as
thread_id in later chat completions.string
Mirror of
localId. Omitted if not supplied.Get thread
string
Thread UUID.
string
regular or archived.string
Title. Omitted if none has been generated.
array
Full message history in chronological order.
Update thread
archive is applied if present, otherwise unarchive, otherwise title and messages together. A body with none of these fields is accepted and changes nothing.
string
New title.
array
Replaces the entire stored message history with this array. A full overwrite, not an append.
boolean
true sets status to archived. Nothing else changes: archived threads still appear in the list response, so filter on status client-side. Any other value is ignored.boolean
true sets status back to regular. Ignored when archive: true is also present. Any other value is ignored.string
Thread UUID.
string
Updated status:
regular or archived.string
Updated title. Omitted if unset.
Delete thread
PATCH with archive: true if you might need the conversation back.
Generate title
array
required
The messages to summarize. Only the first three are read, and the joined text is truncated to 1000 characters. Each message is
{ role, content } where content may be a string or an array of { type: "text", text } blocks. A missing or empty array returns 400.text/plain:
GET returns it in title.
Run state
GET reports whether a completion is running on this thread right now. Use it to decide between rendering a finished transcript and re-attaching to a live one.
running answers for the single server process that handled your request. With several processes behind the load balancer, a run in progress elsewhere reports running: false. Treat true as reliable and false as “not here”.DELETE stops a run you started. It returns 200 in both outcomes:
/run methods are restricted to the thread’s creator; a workspace teammate gets 403.
Errors
Error responses on this surface carry a single string
error field: