Embedded Copilot Chat
Looking for the product view?
The Help Center explains this surface as users see it: Using Apps.
Endpoint for managing the per-user AI copilot chat session embedded within an app.
GET /api/apps/{id}/chat
Get or create the embedded AI chat session for the current user within an app. If no chat session exists, one is automatically created.
Authentication: Required
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | App UUID or natural ID |
Get the App's embedded chatGET /api/apps/00000000-0000-4000-8000-000000000001/chat
Find-or-create per (app, user): returns the runtime copilot chat, or the builder chat when addressed at a draft. The chat prefers the go_everyday model when one is configured.
Response · 200
{
"_links": {
"self": [
{
"href": "https://informer.example.com/api/apps/00000000-0000-4000-8000-000000000001/chat"
},
{
"href": "https://informer.example.com/api/chats/00000000-0000-4000-8000-000000000002"
}
],
"inf:messages": {
"href": "https://informer.example.com/api/apps/00000000-0000-4000-8000-000000000001/chat/messages"
},
"inf:chat-schedule": {
"href": "https://informer.example.com/api/apps/00000000-0000-4000-8000-000000000001/chat/schedule"
},
"inf:chat-object": {
"href": "https://informer.example.com/api/apps/00000000-0000-4000-8000-000000000001/chat/_object"
}
},
"permissions": {},
"id": "00000000-0000-4000-8000-000000000002",
"autosuggest": false,
"pinned": false,
"tenant": "acme",
"appId": "00000000-0000-4000-8000-000000000001",
"username": "admin",
"embedded": true,
"appBuilder": false,
"modelId": "00000000-0000-4000-8000-000000000003",
"name": "Order Desk",
"autoRename": false,
"updatedAt": "2026-01-15T16:20:00.000Z",
"createdAt": "2026-01-15T16:20:00.000Z",
"instructions": null,
"web": null,
"error": null,
"stale": true,
"autoRenamedAt": null,
"ownerAssistantId": null,
"datasetId": null,
"reportId": null,
"templateId": null,
"queryId": null,
"visualId": null,
"datasourceId": null,
"jobId": null,
"primaryAssistantId": null,
"outputSize": null,
"memoryRequestedAt": null,
"memoryRequestedReason": null,
"helpCenter": false,
"tier": null,
"informerApi": false,
"messages": []
}
Key Fields:
| Field | Description |
|---|---|
embedded | Always true for app-scoped chats |
modelId | The AI model used (prefers go_everyday, falls back to the first chat-capable model) |
appBuilder | false for the runtime copilot chat; true when the route is addressed at a draft (the builder conversation) |
autoRename | Always false — the chat name stays fixed to the app name |
messages | Chat message history (empty on first creation) |
Behavior:
- Find-or-create per
(app, user). Two chats can coexist for the same pair: the builder chat (appBuilder: true) and the runtime copilot chat — addressing the route at a draft returns the builder one. - Chats are tied to the original app's id even when addressed at a draft, so the builder conversation survives draft discard/commit.
- The response includes a HAL
selflink pointing to/api/chats/{chatId}for subsequent chat interactions
Permissions Required: None (404 if user cannot read the app)