curl --request POST \
--url https://api.questra.ai/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--header 'X-Org-Id: <x-org-id>' \
--form file='@example-file' \
--form 'survey_id=<string>'{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"mime_type": "<string>",
"org_id": "<string>",
"survey_id": "<string>",
"ai_file_id": "<string>"
}Upload a questionnaire document as a single multipart request. This is the simplest upload method but is limited to ~4.5 MB. For larger files, use the presigned upload flow: POST /files/create-upload → PUT to storage → POST /files/{id}/complete-upload.
Pass survey_id in the form body to attach the file to an existing survey, or omit it to upload without a survey association.
curl --request POST \
--url https://api.questra.ai/files \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--header 'X-Org-Id: <x-org-id>' \
--form file='@example-file' \
--form 'survey_id=<string>'{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"name": "<string>",
"mime_type": "<string>",
"org_id": "<string>",
"survey_id": "<string>",
"ai_file_id": "<string>"
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Unique ID of the uploaded file
Date and time the file was uploaded
Original name of the uploaded file
Mime type of the file
Unique ID of the organization that owns this file
Unique ID of the survey the file was uploaded with
Unique ID of an AI ready copy of the file that was generated and cached to expedite AI processing