Builder API
Sessions
List chat sessions and retrieve messages from your Chipp app
1 min read
# api # builder-api # rest # sessions # messages # chat-logs # transcripts
Sessions represent individual chat conversations with your app. Each session contains messages exchanged between a consumer and your AI.
List Sessions
plaintext
GET /api/v1/apps/{appId}/sessionsReturns a paginated list of chat sessions, newest first.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 25 | Results per page (1-100) |
cursor | string | — | Pagination cursor from previous response |
source | string | — | Filter by channel |
consumer_id | UUID | — | Filter by consumer |
started_after | ISO 8601 | — | Sessions started after this date |
started_before | ISO 8601 | — | Sessions started before this date |
search | string | — | Case-insensitive substring search on session titles (max 200 chars) |
Source values: APP, API, WHATSAPP, SLACK, EMAIL, VOICE, WIDGET, ACP
Example
bash
curl "https://build.chipp.ai/api/v1/apps/YOUR_APP_ID/sessions?limit=10&source=APP" \
-H "Authorization: Bearer chipp_YOUR_API_KEY"Response
json
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"consumer_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"consumer": {
"email": "jane@example.com",
"name": "Jane Smith"
},
"title": "Help with onboarding",
"source": "APP",
"mode": "default",
"is_bookmarked": false,
"is_multiplayer": false,
"message_count": 12,
"started_at": "2025-06-15T14:30:00Z",
"ended_at": "2025-06-15T14:45:00Z",
"last_activity_at": "2025-06-15T14:45:00Z"
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJpZCI6IjU1MGU4NDAw...",
"limit": 10
}
}Filtering by Date Range
bash
curl "https://build.chipp.ai/api/v1/apps/YOUR_APP_ID/sessions?started_after=2025-06-01T00:00:00Z&started_before=2025-06-30T23:59:59Z" \
-H "Authorization: Bearer chipp_YOUR_API_KEY"Filtering by Consumer
bash
curl "https://build.chipp.ai/api/v1/apps/YOUR_APP_ID/sessions?consumer_id=7c9e6679-7425-40de-944b-e07fc1f90ae7" \
-H "Authorization: Bearer chipp_YOUR_API_KEY"Get Session
plaintext
GET /api/v1/apps/{appId}/sessions/{sessionId}Returns a single session by ID.
Example
bash
curl "https://build.chipp.ai/api/v1/apps/YOUR_APP_ID/sessions/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer chipp_YOUR_API_KEY"Response
json
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"consumer_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"consumer": {
"email": "jane@example.com",
"name": "Jane Smith"
},
"title": "Help with onboarding",
"source": "APP",
"mode": "default",
"is_bookmarked": false,
"is_multiplayer": false,
"message_count": 12,
"started_at": "2025-06-15T14:30:00Z",
"ended_at": "2025-06-15T14:45:00Z",
"last_activity_at": "2025-06-15T14:45:00Z"
}
}Error: Session Not Found (404)
json
{
"error": {
"code": "not_found",
"message": "Session not found"
}
}List Session Messages
plaintext
GET /api/v1/apps/{appId}/sessions/{sessionId}/messagesReturns the messages in a session, ordered chronologically.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 25 | Results per page (1-100) |
cursor | string | — | Pagination cursor from previous response |
role | string | — | Filter by role: user, assistant, system, or tool |
created_after | ISO 8601 | — | Messages created after this date |
created_before | ISO 8601 | — | Messages created before this date |
include | string | — | Comma-separated list of extra fields to include |
Include values:
tool_details— Addstool_callsandtool_resultsfields to each message. These are arrays when the message invoked tools, ornullwhen it did not
Example
bash
curl "https://build.chipp.ai/api/v1/apps/YOUR_APP_ID/sessions/550e8400-e29b-41d4-a716-446655440000/messages?limit=50" \
-H "Authorization: Bearer chipp_YOUR_API_KEY"Response
json
{
"data": [
{
"id": "msg-001",
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"role": "user",
"content": "How do I get started with your platform?",
"model": null,
"token_count": 42,
"latency_ms": null,
"audio_url": null,
"audio_duration_ms": null,
"tags": [],
"feedback": null,
"created_at": "2025-06-15T14:30:00Z"
},
{
"id": "msg-002",
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"role": "assistant",
"content": "Welcome! Here's how to get started...",
"model": "gpt-4.1",
"token_count": 150,
"latency_ms": 1200,
"audio_url": null,
"audio_duration_ms": null,
"tags": [{ "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "onboarding", "color": "#3b82f6" }],
"feedback": null,
"created_at": "2025-06-15T14:30:05Z"
}
],
"pagination": {
"has_more": false,
"next_cursor": null,
"limit": 50
}
}Response Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique message identifier |
session_id | UUID | The session this message belongs to |
role | string | user, assistant, system, or tool |
content | string | Message text content |
model | string or null | LLM model used (null for user messages) |
token_count | integer or null | Token count for this message |
latency_ms | integer or null | Response latency in milliseconds |
audio_url | string or null | URL to audio recording, if applicable |
audio_duration_ms | integer or null | Audio duration in milliseconds |
tags | array of objects | Tags applied to this message. Each object has id (UUID), name (string), and color (hex string) |
feedback | object or null | Feedback on this message, if any |
created_at | ISO 8601 | When the message was created |
With Tool Details
bash
curl "https://build.chipp.ai/api/v1/apps/YOUR_APP_ID/sessions/SESSION_ID/messages?include=tool_details" \
-H "Authorization: Bearer chipp_YOUR_API_KEY"json
{
"data": [
{
"id": "msg-003",
"session_id": "550e8400-e29b-41d4-a716-446655440000",
"role": "assistant",
"content": "Let me look that up for you.",
"model": "gpt-4.1",
"token_count": 180,
"latency_ms": 2400,
"audio_url": null,
"audio_duration_ms": null,
"tags": [],
"feedback": null,
"created_at": "2025-06-15T14:31:00Z",
"tool_calls": [
{
"tool_name": "search_knowledge",
"status": "completed"
}
],
"tool_results": [
{
"tool_name": "search_knowledge",
"result": "..."
}
]
}
],
"pagination": {
"has_more": false,
"next_cursor": null,
"limit": 25
}
}Filtering by Role
To retrieve only user messages (useful for extracting questions/feedback):
bash
curl "https://build.chipp.ai/api/v1/apps/YOUR_APP_ID/sessions/SESSION_ID/messages?role=user" \
-H "Authorization: Bearer chipp_YOUR_API_KEY"