API · Private beta

Agents for private markets, over an API.

Spin up vehicles, onboard LPs, draft filings, and run diligence programmatically. Every legal output routes through attorney review before it ships. Build investment management on top.

Request API access

Authentication

Authenticate with a bearer key. Keys are scoped to your tenant and environment: sk_live_ and sk_test_. All requests are JSON over HTTPS.

Base URL: https://api.tryswiftlaw.com

Authentication
curl https://api.tryswiftlaw.com/v1/vehicles \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json"

Vehicles

Spin up a fund or SPV programmatically. One call drafts the full document set.

POST/v1/vehicles

Create a vehicle

Creates the entity plan and starts drafting the document suite from your terms. Returns immediately. Drafting runs in the background and every document lands in attorney review before it can be sent or signed.

Parameters

typeenumrequired

vc_fund, hedge_fund, pe_fund, credit_fund, or spv

namestringrequired

Legal name of the vehicle

jurisdictionstringrequired

Formation jurisdiction, e.g. DE

termsobjectrequired

Economics: target_size, management_fee_bps, carry_bps, term_years

precedent_idstring

Draft from one of your prior vehicles instead of market standard

POST /v1/vehicles
curl https://api.tryswiftlaw.com/v1/vehicles \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "type": "vc_fund",
    "name": "Horizon Capital Fund I, LP",
    "jurisdiction": "DE",
    "terms": {
      "target_size": 10000000,
      "management_fee_bps": 200,
      "carry_bps": 2000,
      "term_years": 10
    }
  }'
Response · 200
{
  "id": "veh_8f2k1",
  "object": "vehicle",
  "status": "drafting",
  "documents": ["lpa", "ppm", "subscription"],
  "attorney_review": "pending",
  "created": 1789622400
}
GET/v1/vehicles/{id}/documents

List documents

Every document on the vehicle, with drafting and review status. Documents are native .docx with tracked changes and can be fetched as signed URLs.

Parameters

idstringrequired

Vehicle id, in the path

statusenum

Filter: drafting, attorney_review, approved, executed

Response · 200
{
  "object": "list",
  "data": [
    { "id": "doc_lpa_01", "type": "lpa",
      "status": "attorney_review", "changes": 14 },
    { "id": "doc_ppm_01", "type": "ppm",
      "status": "drafting" },
    { "id": "doc_sub_01", "type": "subscription",
      "status": "queued" }
  ]
}

LP onboarding

Onboard investors end to end: accreditation, KYC/AML, subscription packets, signatures.

POST/v1/lps

Onboard an LP

Runs accreditation and KYC/AML checks, generates the subscription packet from the vehicle's documents, and sends it for signature. Side-letter terms reconcile against the MFN ledger automatically.

Parameters

vehicle_idstringrequired

The vehicle the LP is subscribing to

emailstringrequired

Investor contact for the signature flow

commitmentintegerrequired

Capital commitment in cents of USD

investor_typeenumrequired

accredited, qualified_client, or qualified_purchaser

side_letterobject

Requested terms; checked against existing MFN obligations

POST /v1/lps
curl https://api.tryswiftlaw.com/v1/lps \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "vehicle_id": "veh_8f2k1",
    "email": "lp@familyoffice.com",
    "commitment": 100000000,
    "investor_type": "qualified_purchaser"
  }'
Response · 200
{
  "id": "lp_3d9x2",
  "object": "lp",
  "status": "kyc_running",
  "subscription_packet": "doc_sub_01",
  "mfn_conflicts": []
}
GET/v1/vehicles/{id}/lps

List LPs

The investor base with commitment, signature, and side-letter status, plus the running committed total.

Response · 200
{
  "object": "list",
  "data": [
    { "id": "lp_3d9x2", "commitment": 100000000,
      "status": "signed", "side_letter": null },
    { "id": "lp_7q1m8", "commitment": 250000000,
      "status": "countersigned",
      "side_letter": "doc_sl_02" }
  ],
  "total_committed": 350000000
}

Compliance

Filings drafted from vehicle data, on a watched calendar. Nothing files without attorney sign-off.

POST/v1/filings

Create a filing

Drafts the filing from the vehicle's data and queues it for attorney review. The compliance calendar tracks the deadline and fires webhooks as it approaches.

Parameters

vehicle_idstringrequired

Vehicle the filing belongs to

typeenumrequired

form_d, form_adv, blue_sky, or annual_update

statesarray

Blue sky notice states, e.g. ["DE", "NY", "CA"]

POST /v1/filings
curl https://api.tryswiftlaw.com/v1/filings \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "vehicle_id": "veh_8f2k1",
    "type": "form_d",
    "states": ["DE", "NY", "CA"]
  }'
Response · 200
{
  "id": "fil_2b7c4",
  "object": "filing",
  "status": "attorney_review",
  "due": "2026-08-04",
  "calendar": "watched"
}

Agents

Long-horizon agent runs: diligence sweeps, document review, deep research. Usage-priced.

POST/v1/agents/runs

Start an agent run

Kicks off a long-running task against your documents or a data room. Poll the run or subscribe to run.finished. Heavy runs bill by usage on top of the platform subscription.

Parameters

taskenumrequired

diligence_memo, document_review, research, or side_letter_audit

inputsobjectrequired

Task-specific inputs, e.g. data_room, focus areas

webhook_urlstring

Override the account-level webhook for this run

POST /v1/agents/runs
curl https://api.tryswiftlaw.com/v1/agents/runs \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "task": "diligence_memo",
    "inputs": {
      "data_room": "dr_5h8n3",
      "focus": ["indemnification", "key_person"]
    }
  }'
Response · 200
{
  "id": "run_9v4t6",
  "object": "agent_run",
  "status": "running",
  "estimated_minutes": 42,
  "billing": "usage"
}

Webhooks

Subscribe to lifecycle events instead of polling. Signed payloads, at-least-once delivery.

document.reviewed

An attorney approves or returns a document

lp.completed

An LP finishes KYC and signs

filing.submitted

A filing clears review and is submitted

run.finished

A long-horizon agent run completes

Event · document.reviewed
{
  "event": "document.reviewed",
  "data": {
    "document": "doc_lpa_01",
    "vehicle": "veh_8f2k1",
    "reviewed_by": "attorney",
    "changes": 14,
    "status": "approved"
  }
}

Errors

Conventional HTTP status codes with a machine-readable body. One error shape everywhere.

401
unauthorized

Missing or invalid API key

400
invalid_request

Malformed body or unknown parameter

404
not_found

The vehicle, LP, or document does not exist

409
attorney_hold

Action blocked pending attorney review

429
rate_limited

Too many requests; retry with backoff

Error · 409
{
  "error": {
    "code": "attorney_hold",
    "message": "doc_lpa_01 is pending attorney
      review and cannot be sent.",
    "doc_url": "https://tryswiftlaw.com/docs#errors"
  }
}

The attorney gate

Every endpoint that produces a legal document returns an attorney_review status, and actions on unreviewed documents fail with attorney_hold. Nothing files, sends, or signs until a licensed attorney approves it. Automate the production. Keep the judgment human. SwiftLaw is a software platform, not a law firm, and API outputs are not legal advice.

Pricing

API access is included in the platform subscription: $10,000 per year, flat. Long-horizon agent runs bill by usage. Attorney review through the Counsel Network is scoped per vehicle. See pricing.