Skip to content

Chat Upload

POST
/api/multimodal/chat-upload

Accept a multipart chat upload and return the analysis summary.

Args: request: The incoming FastAPI request (carries tenant context). file: Uploaded file from the multipart body. agent_role: Which C-suite agent is analysing the upload. context_prompt: Prompt passed to the vision model. analyzer: Injected analyzer dependency.

Returns: :class:MultimodalResponse carrying the analysis summary and attachment record id.

Raises: HTTPException: 422 on MIME / size violations or security failures.

Authorizations

Request Body required

object
agent_role
string
default: ceo
context_prompt
string
default: Analyze this uploaded file.
file
required
string

Responses

200

Successful Response

Canonical response body for all /api/multimodal/* endpoints.

Attributes: analysis_id: Opaque UUID for the analysis turn. summary: PII-redacted analysis summary. source_channel: Which ingestion surface this came from. mime_type: MIME type of the analyzed content. model_used: LLM model id used. credits_consumed: Total credits billed (model + 8-credit surcharge). pii_flags: QualityGate PII hits (metadata only — never raw PII). attachment_record_id: Persisted AttachmentRecord id. vision_upgrade: Tier upgrade metadata from the router.

object
analysis_id
required
string
attachment_record_id
Any of:
string
credits_consumed
required
integer
mime_type
required
string
model_used
required
string
pii_flags
Array<object>
object
key
additional properties
any
source_channel
required
string
summary
required
string
vision_upgrade
Any of:
object
key
additional properties
any

422

Validation Error

object
detail
Array<object>
object
ctx
object
input
loc
required
Array
msg
required
string
type
required
string