Skip to main content
POST

Authorizations

Authorization
string
header
required

API key starting with sk_case_

Headers

Idempotency-Key
string

Optional stable key for safely retrying upload initialization

Maximum string length: 200

Path Parameters

id
string
required

Vault ID to upload the file to

Body

application/json
filename
string
required

Name of the file to upload

contentType
string
required

MIME type of the file (e.g., application/pdf, image/jpeg)

metadata
object

Additional metadata to associate with the file

auto_index
boolean
default:true

Whether to automatically process and index the file for search

is_ai_generated
boolean
default:false

Marks the file as AI-generated work product (e.g. uploaded by an agent) rather than a user-provided source document. Persisted on the object and returned by object listings so clients can distinguish provenance.

sizeBytes
integer

File size in bytes (optional, max 5GB for single PUT uploads). When provided, enforces exact file size at S3 level.

Required range: 1 <= x <= 5368709120
path
string

Optional folder path for hierarchy preservation. Allows integrations to maintain source folder structure from systems like NetDocs, Clio, or Smokeball. Example: '/Discovery/Depositions/2024'

Response

Upload URL generated successfully

objectId
string

Unique identifier for the uploaded object

uploadUrl
string | null

Presigned URL for uploading the file

alreadyUploaded
boolean

True when this idempotency key already identifies a confirmed upload

expiresIn
number

URL expiration time in seconds

s3Key
string

S3 object key for the file

path
string | null

Folder path for hierarchy if provided

auto_index
boolean

Whether the file will be automatically indexed

is_ai_generated
boolean

Whether the file is marked as AI-generated work product

enableIndexing
boolean

Whether the vault supports indexing. False for storage-only vaults.

instructions
object | null
next_step
string | null

Next API endpoint to call for processing