/api/v1/archive # Upload one executed contract. Multipart form; PDF and DOCX accepted (60 MB max). Returns immediately with status 'received' — extraction populates the record asynchronously, so poll GET /archive/{id} or list until status is 'ready'.
Auth · Bearer token · member role or above
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| file | form | binary | yes | The document (multipart/form-data) |
curl -X POST https://app.version90.com/api/v1/archive \ -H "Authorization: Bearer $V90_TOKEN" \ -F "file=@Meridian_MSA_signed.pdf"
{
"id": "9d2f4c1a-7e3b-4a90-b1c2-0f6e8d5a3b47",
"original_filename": "Meridian_MSA_signed.pdf",
"file_format": "pdf", // "pdf" | "docx"
"size_bytes": 482133,
"status": "received", // "received" | "analyzing" | "ready" | "failed"
"error": null, // extraction error message when failed
"title": "Meridian_MSA_signed",
"counterparty": "Meridian Robotics, Inc.",
"agreement_type": "Master Services Agreement",
"effective_date": "2024-09-02", // ISO date or null
"executed_date": "2024-08-28",
"expiration_date": "2026-09-01",
"governing_law": "Delaware",
"summary": "Two-year MSA with auto-renewal…",
"risk_count": 2,
"created_at": "2026-07-11T18:04:11+00:00"
} Errors
422empty file, unsupported format, or over the size limit — {code, message}402 allowance_exhaustedarchive capacity full (production, enforcement on)