Auboz API

Upload

Upload documents to your knowledge base via presigned URLs.

Document upload uses a two-step process: initialize to get presigned S3 URLs, then confirm after uploading.

Initialize Upload

POST /upload/init

Returns presigned URLs for uploading files directly to S3.

Scope: kb:write

Requires: Active subscription + sufficient storage quota

Request Body
{
  "workspace_id": "ws_abc123",
  "files": [
    {
      "filename": "report.pdf",
      "size": 1048576,
      "hash": "sha256-hex-hash"
    }
  ]
}
Response
[
  {
    "document_id": "doc_xyz",
    "upload_url": "https://s3.amazonaws.com/...",
    "headers": {
      "Content-Type": "application/pdf",
      "x-amz-meta-hash": "sha256-hex-hash"
    },
    "expires_at": "2026-03-09T12:05:00Z"
  }
]

Upload Flow

  1. Call POST /upload/init with file metadata
  2. Upload each file to the returned presigned URL with required headers
  3. Call POST /upload/complete to verify and start processing

Complete Upload

POST /upload/complete

Verifies uploaded files exist in S3 and enqueues them for processing (OCR, chunking, embedding).

Scope: kb:write

Request Body
{
  "document_ids": ["doc_xyz"]
}

Limits

LimitValue
Max files per upload10
Max file size100 MB
Presigned URL expiry5 minutes

Supported File Types

PDF, DOCX, PPTX, TXT, MD, CSV, and common image formats (PNG, JPG — processed via OCR).

On this page