API Reference
Contracts

Contracts API

Create, manage, and AI-draft legal contracts.

Endpoints

MethodPathDescription
GET/contractsList all contracts
POST/contractsCreate a contract
GET/contracts/:idGet contract details
PUT/contracts/:idUpdate a contract
DELETE/contracts/:idDelete a contract
POST/contracts/:id/draft-aiAI-draft contract content
POST/contracts/:id/analyzeAI risk analysis

List Contracts

GET /api/v1/contracts?page=1&page_size=20&status=draft

Query Parameters:

ParameterTypeDescription
pageintPage number (default: 1)
page_sizeintItems per page (default: 20)
statusstringFilter: draft, active, completed, expired
typestringFilter: nda, service_agreement, employment, etc.
searchstringSearch by title or counterparty

Response:

{
  "contracts": [
    {
      "id": "c3f8a1b2-...",
      "title": "NDA - Acme Corp",
      "type": "nda",
      "status": "draft",
      "counterparty": "Acme Corporation",
      "risk_score": 35,
      "created_at": "2026-03-08T12:00:00Z"
    }
  ],
  "total": 42,
  "page": 1,
  "page_size": 20
}

Create Contract

POST /api/v1/contracts

Request Body:

{
  "title": "NDA - Acme Corp",
  "type": "nda",
  "counterparty": "Acme Corporation",
  "party_name": "My Company LLC",
  "content": "Optional pre-existing content",
  "vendor_id": "optional-vendor-uuid"
}
FieldTypeRequiredDescription
titlestringContract title
typestringnda, service_agreement, employment, consulting, lease
counterpartystringOther party name
party_namestringYour party name
contentstringPre-existing content (if not AI-drafting)
vendor_idstringLink to existing vendor

AI Draft

Generate contract content using AI.

POST /api/v1/contracts/:id/draft-ai
{
  "prompt": "Draft a standard mutual NDA for a 2-year software development partnership",
  "party_name": "My Company LLC"
}

Response: Returns the updated contract with AI-generated content.

AI drafting uses GPT-5.1 by default. Complex multi-document analysis may use GPT-5.4 for higher accuracy.


AI Risk Analysis

Analyze a contract for risks, missing clauses, and compliance issues.

POST /api/v1/contracts/:id/analyze

Response:

{
  "risk_score": 65,
  "analysis": {
    "risk_level": "medium",
    "key_risks": [
      {
        "clause": "Indemnification",
        "risk": "Unlimited liability exposure",
        "recommendation": "Add a cap on indemnification at 2x contract value"
      }
    ],
    "missing_clauses": ["Force Majeure", "Data Protection"],
    "compliance_flags": ["GDPR Article 28 - Missing DPA reference"]
  }
}

Update Contract

PUT /api/v1/contracts/:id
{
  "title": "Updated Title",
  "status": "active",
  "content": "Updated contract content..."
}

Delete Contract

DELETE /api/v1/contracts/:id

Returns 204 No Content on success.