Eridian

Legal API

REST reference for matters, contracts, clauses, mappings, and redlines.

Base URL: https://api.geteridian.com/v1. Keys: eridian_sk_. Models: gpt, gemini, auto. Send project_id or X-Eridian-Project.

Scopes

ScopeAccess
legal:readGET matters, contracts, clauses, mappings, redlines
legal:writeCreate and mutate the same objects
audit:readEvidence export (shared with Core)

Matters and documents

MethodPath
POST/v1/legal/matters
GET/v1/legal/matters
GET/v1/legal/matters/{id}
PUT/v1/legal/matters/{id}/members
POST/v1/legal/matters/{id}/close
POST/v1/legal/matters/{id}/legal-hold
POST/v1/legal/documents
GET/v1/legal/documents/{id}

Contracts

MethodPath
POST/v1/legal/contracts
POST/v1/legal/contracts/batch
GET/v1/legal/contracts/{id}
POST/v1/legal/contracts/{id}/brief
POST/v1/legal/contracts/{id}/reparse

Clauses, mapping, precedent, redlines

MethodPath
POST/v1/legal/clauses/extract
POST/v1/legal/clauses/search
POST/v1/legal/clauses/compare
GET/v1/legal/catalogs
POST/v1/legal/mappings
POST/v1/legal/mappings/{id}/report
POST/v1/legal/precedents/search
POST/v1/legal/redlines
POST/v1/legal/redlines/{id}/confirm
POST/v1/legal/redlines/{id}/revise
GET/v1/legal/redlines/{id}/content

Objects

objectId prefix
eridian.legal.mattermtr_
eridian.legal.documentdoc_
eridian.legal.contractctr_
eridian.legal.clausecls_
eridian.legal.mappingmap_
eridian.legal.redlinerdl_
eridian.legal.precedent.searchpre_

Errors

HTTPCodeWhen
413document_too_largeUpload or page cap
403residency_violationMatter vs document region
409matter_closedWrite on a closed matter
409legal_holdDestructive action under hold
422structured_output_failedParse schema invalid after retry

Python

from eridian import Eridian

client = Eridian(api_key="eridian_sk_...", project_id="prj_legal_001")

contract = client.legal.contracts.create(
    matter_id="mtr_4821",
    document_id="doc_msa_4821",
    model="auto",
    features=["pii_redaction", "structured_output"],
)
print(contract.id, contract.parties, contract.eridian.route)

TypeScript

import { Eridian } from "@eridian/sdk";

const client = new Eridian({
  apiKey: process.env.ERIDIAN_API_KEY!,
  projectId: "prj_legal_001",
});

const mapping = await client.legal.mappings.create({
  matterId: "mtr_4821",
  contractId: "ctr_4821",
  catalogIds: ["cat_pdpl_uae", "cat_gdpr"],
  model: "gpt",
});

List endpoints use Pagination. Idempotent POSTs: Idempotency.

Production API credentials are issued with an institution workspace. Contact sales if you need access.