Skip to main content

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:

ParameterTypeDescription
idstringApp 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": []
}
Captured from the API examples test suite; ids and timestamps are normalized.

Key Fields:

FieldDescription
embeddedAlways true for app-scoped chats
modelIdThe AI model used (prefers go_everyday, falls back to the first chat-capable model)
appBuilderfalse for the runtime copilot chat; true when the route is addressed at a draft (the builder conversation)
autoRenameAlways false — the chat name stays fixed to the app name
messagesChat 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 self link pointing to /api/chats/{chatId} for subsequent chat interactions

Permissions Required: None (404 if user cannot read the app)