Get a presigned URL to upload a file | Comp AI API
Returns a presigned S3 URL plus the s3Key the file lands at. PUT the raw file bytes to that URL, then call the feature tool (e.g. upload-and-parse) with the.
Documentation Index
Fetch the complete documentation index at: https://www.trycomp.ai/docs/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
API key for authentication
Headers
Organization ID (required for session auth, optional for API key auth)
Body
What the file is for. Controls where the file is stored and which feature is expected to consume the returned s3Key.
questionnaire, policy_pdf, evidence, attachment, general "questionnaire"
Original filename, used for the stored object name. Non-alphanumeric characters are replaced with underscores.
"vendor-security-questionnaire.xlsx"
MIME type of the file (e.g. application/pdf, text/csv). Recorded as metadata and passed to the feature endpoint; the PUT itself is content-type agnostic, so the upload never fails on a header mismatch.
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
Response
Presigned S3 URL. Send the raw file bytes with a plain HTTP PUT to this URL — no Content-Type or auth headers are required (the signature is in the URL). Then call the feature endpoint with the s3Key below.
"https://bucket.s3.us-east-1.amazonaws.com/org_x/uploads/...?X-Amz-Signature=..."
The S3 key the file will land at. Pass this to the feature endpoint (e.g. questionnaire upload-and-parse) instead of base64 file data.
"org_abc/uploads/questionnaire/1735000000-questionnaire.xlsx"
Seconds until the presigned URL expires.
900

