Talk to FurniOps AI
Sends your next message, or your decisions on the pending approvals (every one of them), and streams FurniOps AI's answer as the AI SDK UI message stream. It acts as you, with your own permissions: reads run, and every change waits for your approval with its preview. Security operations are never run; it says what to do. One turn at a time per conversation (409), at most 20 steps, 25 tool calls and 120 seconds, in the conversation's mode. Refused when Ask AI is not in the plan (403 feature_unavailable), is off for the organisation or for you, or your role may not use it (403 permission_denied), no model is routed or AI is switched off (503), the month's ai_tokens are used up and no credit may be spent (429 quota_exceeded), or today's allowance is spent with no FurniOps AI credit to spend, or your personal budget is (429 ai_budget_reached). Model calls are paid from today's allowance first, then from the organisation's FurniOps AI credit when it is switched on (D-289). Changes are recorded in the audit log as Ask AI for you, naming the conversation.
- Scopesnone
- Rate classstream
/v1/assistant/conversations/{conversation}/turnsSends your next message, or your decisions on the pending approvals (every one of them), and streams FurniOps AI's answer as the AI SDK UI message stream. It acts as you, with your own permissions: reads run, and every change waits for your approval with its preview. Security operations are never run; it says what to do. One turn at a time per conversation (409), at most 20 steps, 25 tool calls and 120 seconds, in the conversation's mode. Refused when Ask AI is not in the plan (403 feature_unavailable), is off for the organisation or for you, or your role may not use it (403 permission_denied), no model is routed or AI is switched off (503), the month's ai_tokens are used up and no credit may be spent (429 quota_exceeded), or today's allowance is spent with no FurniOps AI credit to spend, or your personal budget is (429 ai_budget_reached). Model calls are paid from today's allowance first, then from the organisation's FurniOps AI credit when it is switched on (D-289). Changes are recorded in the audit log as Ask AI for you, naming the conversation.
Authorization
apiKey An API key (fo_live_… / fo_test_…) as a bearer token
In: header
Path Parameters
Assistant conversation (a person's conversation with FurniOps AI) ID
^asc_[0-9A-Za-z]{22}$Header Parameters
Dated API version; pinned per organisation on first use and overridable per request
Value in
- "2026-10-01"
- "2026-10-04"
The data the request acts on: test is the organisation's sandbox. An OAuth token picks it (live by default); an API key's mode is fixed, and naming the other one is refused
Value in
- "live"
- "test"
This operation cannot be previewed (It changes only your own conversations): 422 preview_unsupported, nothing changes
Value in
- "true"
- "explain"
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Your next message, or your decisions on the pending approvals (all of them: a step's changes are one plan)
Your next message, or your decisions on the pending approvals (all of them: a step's changes are one plan)
Response Body
text/event-stream
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/v1/assistant/conversations/string/turns" \ -H "Content-Type: application/json" \ -d '{ "text": "string" }'"string"Save a memory POST
Saves a note FurniOps AI reads at the start of every turn: plain words, one paragraph, at most 400 characters, no links, addresses, Markdown or code. `scope: org` shares it with every member's FurniOps AI and needs `assistant_memories:write` (403 otherwise). At most 25 per person and 25 per organisation (409 `memory_limit`). Proposed by FurniOps AI, it waits for you to approve the exact words. Expires 365 days after its last edit.
Delete a conversation DELETE
Deletes the conversation, its messages and its approvals; pending approvals are dropped. What FurniOps AI changed stays changed, in the audit log. A turn still running answers 409.