Skip to main content
POST
/
v1
/
documents
Python
import requests

response = requests.post(
    "https://api.docintell.com/v1/documents",
    headers={"Authorization": "Bearer dk_live_YOUR_API_KEY"},
    files={"file": open("invoice.pdf", "rb")},
    data={"retention_years": 7}
)
print(response.json())
{
  "document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "job_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": "pending",
  "vault_uri": "<string>",
  "created_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

API Key authentication. Format: dk_test_ or dk_live_

Body

multipart/form-data
file
file
required

PDF document to ingest

retention_years
integer
default:7

Retention period in years (1-10)

Required range: 1 <= x <= 10
document_type
string | null

Optional document type hint (e.g., 'capital_call', 'invoice', 'k1'). If not provided, the system will auto-classify the document.

Response

Document accepted for processing

Response for document ingestion (POST /v1/documents).

Returns 202 Accepted with job tracking information. Webhooks are configured separately via POST /v1/webhooks.

document_id
string<uuid>
required

Stable identifier for the document asset (use this for status checks and projections)

job_id
string<uuid>
required

Unique identifier for the extraction job

status
enum<string>
required

Current job status ('pending' for new jobs, 'processing' if returning existing in-progress job)

Available options:
pending,
processing
vault_uri
string
required

GCS path to the uploaded document in Cold Vault

created_at
string<date-time>
required

Job creation timestamp (ISO 8601)