/api/v1/projects/{project_id}/briefings
Endpoints
| Method | Path | Auth | Description |
|---|---|---|---|
GET | .../briefings | Yes | List all briefings for a project |
POST | .../briefings | Yes | Upload a new briefing file |
GET | .../briefings/{briefing_id} | Yes | Get briefing metadata |
DELETE | .../briefings/{briefing_id} | Yes | Delete a briefing and its file |
GET /briefings
List all briefings belonging to a project.Path parameters
UUID of the parent project.
Example
POST /briefings
Upload a briefing document to a project. Briefings are uploaded asmultipart/form-data.
Supported file types
| Format | Notes |
|---|---|
PDF (.pdf) | Text is extracted from all pages |
Image (.jpg, .png) | Text is extracted via OCR |
Plain text (.txt) | Ingested as-is |
Word document (.docx) | Text is extracted from the document body |
Text is automatically extracted from the uploaded file at upload time. The extracted text is stored alongside the file and used in simulation prompts. You do not need to pre-process files before uploading.
Request parameters
The briefing file. Must be one of the supported types listed above. Upload using
multipart/form-data.A human-readable title for the briefing, e.g.
"Chili-Lime Relaunch Brief — April 2026".Response
UUID of the newly created briefing.
The title you provided.
Original filename of the uploaded file.
Detected file type:
"pdf", "image", "text", or "docx".An AI-generated summary of the briefing content. This is what personas see during simulations.
null if the document was too short to summarise.ISO 8601 UTC timestamp of when the briefing was uploaded.
Example
Response
GET /briefings/
Retrieve a single briefing’s metadata, including its auto-generated summary.Path parameters
UUID of the parent project.
UUID of the briefing.
Example
DELETE /briefings/
Permanently delete a briefing and its associated file from storage.Path parameters
UUID of the parent project.
UUID of the briefing to delete.
Example
Attaching briefings to simulations
When you create a simulation, pass an array of briefing IDs in thebriefing_ids field. Personas will read the briefing content before responding.
