Skip to main content
A briefing is the stimulus material your personas will react to during a simulation. It can be a product brief, campaign concept description, packaging proposal, pricing sheet, or any other document that gives personas context before they respond. Text is automatically extracted from uploaded files and injected into simulation prompts. Long documents are auto-summarised so the most relevant content reaches the personas without overwhelming the model’s context window. All briefing endpoints are nested under a project: /api/v1/projects/{project_id}/briefings

Endpoints

MethodPathAuthDescription
GET.../briefingsYesList all briefings for a project
POST.../briefingsYesUpload a new briefing file
GET.../briefings/{briefing_id}YesGet briefing metadata
DELETE.../briefings/{briefing_id}YesDelete a briefing and its file

GET /briefings

List all briefings belonging to a project.

Path parameters

project_id
string
required
UUID of the parent project.

Example

curl https://api.temujintechnologies.com/api/v1/projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/briefings \
  -H "Authorization: Bearer <access_token>"

POST /briefings

Upload a briefing document to a project. Briefings are uploaded as multipart/form-data.

Supported file types

FormatNotes
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

file
file
required
The briefing file. Must be one of the supported types listed above. Upload using multipart/form-data.
title
string
required
A human-readable title for the briefing, e.g. "Chili-Lime Relaunch Brief — April 2026".

Response

id
string
UUID of the newly created briefing.
title
string
The title you provided.
file_name
string
Original filename of the uploaded file.
file_type
string
Detected file type: "pdf", "image", "text", or "docx".
summary_text
string
An AI-generated summary of the briefing content. This is what personas see during simulations. null if the document was too short to summarise.
created_at
string
ISO 8601 UTC timestamp of when the briefing was uploaded.

Example

curl -X POST https://api.temujintechnologies.com/api/v1/projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/briefings \
  -H "Authorization: Bearer <access_token>" \
  -F "title=Chili-Lime Relaunch Brief" \
  -F "file=@/path/to/brief.pdf"
Response
{
  "id": "d4e5f6a7-0000-0000-0000-000000000030",
  "title": "Chili-Lime Relaunch Brief",
  "file_name": "brief.pdf",
  "file_type": "pdf",
  "summary_text": "A chili-lime flavoured corn chip targeting young adults in Metro Manila, priced at PHP 35 per 55g pack. Key messaging pillars: bold local flavour, eco-friendly packaging, and everyday affordability.",
  "created_at": "2026-04-07T09:00:00"
}

GET /briefings/

Retrieve a single briefing’s metadata, including its auto-generated summary.

Path parameters

project_id
string
required
UUID of the parent project.
briefing_id
string
required
UUID of the briefing.

Example

curl https://api.temujintechnologies.com/api/v1/projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/briefings/d4e5f6a7-0000-0000-0000-000000000030 \
  -H "Authorization: Bearer <access_token>"

DELETE /briefings/

Permanently delete a briefing and its associated file from storage.
Deleting a briefing removes the file and its extracted text. Simulations that have already completed and reference this briefing retain their results, but new simulations cannot reference a deleted briefing.

Path parameters

project_id
string
required
UUID of the parent project.
briefing_id
string
required
UUID of the briefing to delete.

Example

curl -X DELETE https://api.temujintechnologies.com/api/v1/projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/briefings/d4e5f6a7-0000-0000-0000-000000000030 \
  -H "Authorization: Bearer <access_token>"

Attaching briefings to simulations

When you create a simulation, pass an array of briefing IDs in the briefing_ids field. Personas will read the briefing content before responding.
{
  "persona_group_id": "b2c3d4e5-0000-0000-0000-000000000010",
  "simulation_type": "concept_test",
  "prompt_question": "How do you respond to this new product?",
  "briefing_ids": ["d4e5f6a7-0000-0000-0000-000000000030"]
}
You can attach multiple briefings to a single simulation — useful when you want personas to consider both a product brief and a visual stimulus at the same time.