Your threads, most recently active first
const url = 'http://localhost:11044/api/v1/threads';const options = {method: 'GET', headers: {'X-Embabel-Api-Key': '<X-Embabel-Api-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:11044/api/v1/threads \ --header 'X-Embabel-Api-Key: <X-Embabel-Api-Key>'Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”The threads
The caller’s threads with their agents; answered by GET /threads
object
The caller’s threads, most recently active first
A conversation the caller shares with their agents. GET /threads lists them, POST /threads answers the one it started, and GET /threads/{id} carries it with its messages.
object
When the thread was started, as an ISO-8601 instant
Thread id, a UUIDv7 string; the {id} in /threads/{id}
User id of the person who owns the thread; always the caller, since only the owner can read it
Title as given when the thread was started, trimmed; “Untitled” when none was given
Last activity in the thread, as an ISO-8601 instant; the list is sorted on it, newest first
Example generated
{ "threads": [ { "createdAt": "2026-04-15T12:00:00Z", "id": "example", "ownerId": "example", "title": "example", "updatedAt": "2026-04-15T12:00:00Z" } ]}No authenticated principal
A refusal with a machine-readable code and a plain-language message. ApiErrorAdvice answers it for a failed validation, a missing resource or a conflicting state, and some controllers answer it directly
object
Machine-readable key to branch on, such as validation_failed, unknown_field, not_found or conflict. Open: a surface may answer codes of its own
Extra context where there is some, such as the fields a body may carry; null otherwise
A plain-language explanation, written to be shown. Never carries an exception message
The body the servlet error dispatch answers for a status raised by an exception rather than written by the endpoint. Every failure except 404, which answers the not-found HTML page
object
The status’s standard reason phrase, such as Bad Request or Forbidden
The request path that failed
The HTTP status code, repeated from the status line
Example generated
{ "code": "example", "detail": "example", "message": "example"}
