A transcript is a single conversation — a sequence ofDocumentation Index
Fetch the complete documentation index at: https://docs.bigspin.ai/llms.txt
Use this file to discover all available pages before exploring further.
user / assistant (and optionally tool / system / human_agent) turns — that you upload into a project. The Transcripts API lets you push conversations from your AI system into Bigspin programmatically, list the transcripts in a project, and fetch a single transcript with its turns and AI-generated annotations.
Prerequisites
- An API key from your workspace with the
projects-writepermission (forPOST) orprojects-readpermission (forGET). See Authentication. - A project ID (
hp-{uuid}format). Create one withPOST /projectsif you don’t have one yet. - The base URL:
https://app.bigspin.ai/public/api/v1
Endpoints
| Method | Path | Permission | Purpose |
|---|---|---|---|
POST | /projects/{projectId}/transcripts | projects-write | Upload a transcript into a project |
GET | /projects/{projectId}/transcripts | projects-read | List transcripts in a project (paginated, filterable) |
GET | /transcripts/{transcriptId} | projects-read | Get a single transcript with turns and annotations |
Upload a transcript — POST /projects/{projectId}/transcripts
Request
Path parameter
The ID of the project to upload into. Must match the
hp-{uuid} format. The project must belong to the same workspace as your API key.Request body
A human-readable name for the transcript. 1–500 characters.
Array of conversation turns. At least 1 turn, at most 1000.Each turn has:
role— one ofuser,assistant,system,tool,human_agentcontent— string, up to 1 MB per turntoolCalls— (optional) array of{ name, args }objects for assistant tool callstoolResults— (optional) array of{ name, result }objects for tool responsesmetadata— (optional) arbitrary objectcreatedAt— (optional) ISO 8601 timestamp for the turn
The name of the model that produced the assistant turns. Max 100 characters.
Optional language code. Max 10 characters.
Optional source system identifier. Max 100 characters.
Your system’s identifier for this conversation. Max 500 characters. Useful for cross-referencing.
Optional end-user identifier from your system. Max 500 characters.
Arbitrary metadata object stored alongside the transcript.
ISO 8601 timestamp of when the conversation took place.
Whether to run Bigspin’s annotation pipeline (structural + LLM annotation + pattern detection) after upload. Set to
false to upload without analysis — useful for backfills.Total request body size is capped at approximately 5 MB. For larger datasets, split into multiple requests or use the dashboard’s file upload (which supports up to 500 MB per file).
Response — 201 Created
The transcript ID. Use this in subsequent calls to fetch detail.
One of:
queued— the annotation job was submitted to the pipelineskipped—process: falsewas set; no analysis will runerror— the annotation job could not be submitted (the transcript was still created successfully)
Error responses
| Status | Type | When |
|---|---|---|
400 | invalid_request_error | The projectId path parameter is not in hp-{uuid} format, the request body is malformed, or a required field is missing. |
401 | authentication_error | The API key is missing or invalid. |
403 | authorization_error | The key does not have the projects-write permission, or the project belongs to a different workspace. |
404 | not_found_error | The project does not exist. |
413 | invalid_request_error | The request body is too large (a single turn exceeds 1 MB, or the total payload exceeds the platform body limit). |
List transcripts in a project — GET /projects/{projectId}/transcripts
Query parameters
Page number (1-indexed).
Results per page. Max 100.
Full-text search across transcript content.
Filter by model name.
Filter by language code.
Filter by source system.
Filter by annotation, formatted as
key:value.ISO 8601 lower bound (inclusive) on
source_timestamp.ISO 8601 upper bound (inclusive) on
source_timestamp.Get a single transcript — GET /transcripts/{transcriptId}
404 not_found_error if the transcript ID is unknown or belongs to a different workspace.
Next steps
- Authentication — set up your API key.
- Projects API — create the project you’ll upload into.
- Upload transcripts via the dashboard — for CSV/JSONL bulk loads up to 500 MB.