v45

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-0114775543.6 KB
Knowledge Base

Get a presigned S3 URL for direct file upload

Two-step file upload flow that bypasses Atoms' API for the file bytes themselves — useful when files exceed the multipart upload limit on POST /knowledgebase/{id}/items/upload-media or when you want to upload from the browser without round-tripping through your backend.

Step 1: Call this endpoint with file metadata. Atoms returns a presigned URL + a storage key. Step 2: PUT the file bytes directly to the presigned URL (set Content-Type to the same value you sent here). Step 3: Call POST /knowledgebase/compelete-file-upload with the same key to commit the upload and start processing.

Same end result as POST /knowledgebase/{id}/items/upload-media, just without the multipart-through-our-API hop.

post/knowledgebase/get-presigned-url

Request body

fileNamestring required

Original filename — used for display in the Atoms dashboard. Doesn't have to match the S3 key.

fileSizeinteger required

Size in bytes. Atoms uses this to enforce per-file limits before issuing the URL.

contentTypestring required

MIME type. You must send this EXACT value as Content-Type on the subsequent PUT to the presigned URL.

knowledgeBaseIdstring required

24-char hex ObjectId of the target knowledge base (from GET /knowledgebase).

Example request

{
  "fileName": "company-handbook.pdf",
  "fileSize": 2457600,
  "contentType": "application/pdf",
  "knowledgeBaseId": "6867ca76d0f8f2e0f4201281"
}

Response

Presigned URL ready — upload directly to it.

statusboolean

Example response

{
  "status": true
}