Documents API
API reference for legal document viewing, listing, and acceptance.
Overview
Legal documents (operating agreements, transfer agreements, subscription agreements, consent forms, opinion letters) are generated automatically during fund formation and settlement. The Documents API provides viewing, listing, and acceptance endpoints.
GET /v1/documents/:id
Retrieve document metadata. Add ?format=html to receive the rendered HTML body instead.
Response (JSON — default)
{
"document_id": "doc-ta-txn-001",
"document_type": "transfer_agreement",
"template_version": "1.0.0",
"parties": ["part-gp-a", "part-buyer-001"],
"positions": ["pos-rd-gp-b-saronic"],
"transfer_id": "txn-001",
"content_hash": "sha256:a1b2c3d4e5...",
"status": "draft",
"required_signers": ["part-gp-a", "part-buyer-001"],
"created_at": "2026-03-20T10:00:00Z"
}Response (HTML — ?format=html)
Returns the rendered HTML of the legal document directly. Content-Type: text/html.
GET /v1/documents/:id/html
Returns the rendered HTML body of the document directly.
POST /v1/documents/:id/accept
Record a signature/acceptance on a document. The signer must be a party to the document.
Request
{
"signer_id": "part-gp-a",
"signer_name": "John Komkov",
"role": "managing_member"
}Response
{
"document_id": "doc-ta-txn-001",
"status": "partially_signed",
"signatures": [
{
"signer_id": "part-gp-a",
"signer_name": "John Komkov",
"role": "managing_member",
"signed_at": "2026-03-20T12:00:00Z"
}
],
"all_signed": false
}Status transitions
| From | To | Condition |
|---|---|---|
draft | partially_signed | First signer accepts |
partially_signed | executed | All required signers have accepted |
When all required signers have accepted, the document transitions to executed and a document.executed event is recorded in the audit chain with the content hash for integrity verification.
GET /v1/documents/
List documents by type or transfer ID. One query parameter is required.
Query parameters
| Parameter | Description |
|---|---|
type | Filter by document type (e.g., transfer_agreement, operating_agreement) |
transfer_id | Filter by associated transfer |
Response
[
{
"document_id": "doc-ta-txn-001",
"document_type": "transfer_agreement",
"status": "draft",
"created_at": "2026-03-20T10:00:00Z"
}
]The html content is excluded from list responses for performance.