Lev External API v2

Last updated: March 2026

The Lev External API v2 provides the shared REST foundation for deals, CRM records, lender workflows, and account-aware platform operations. This page is the best starting point when you want the shape of the API before diving into a specific resource.

Overview

The Lev External API v2 is a RESTful API that exposes the core Lev platform capabilities to external consumers. It uses JSON request and response bodies, standard HTTP methods, and Bearer token authentication.
The API serves two complementary use cases:
  • Direct REST integration — build custom workflows, sync data with other systems, or automate deal management
  • MCP (Model Context Protocol) server — power AI-assisted CRE workflows through Claude Desktop, Cursor, and other MCP-compatible clients
Both paths use the same endpoints, the same authentication, and the same authorization policies.

Machine-readable Docs

Use these surfaces when you want an agent, a code generator, or your own tooling to consume the docs directly:
  • /platform/llms.txt — compact index of the docs corpus for AI tools.
  • /platform/llms-full.txt — expanded markdown bundle of the docs corpus.
  • /platform/openapi.json — the canonical OpenAPI surface published from the docs app.
  • /platform/lev-api-v2.postman_collection.jsonDownload Postman/Insomnia collection — all endpoints, auth, and example bodies. Import and start testing in one click.
  • /platform/<page>.md — per-page markdown output, for example /platform/deals.md.

Core Integration Patterns

These patterns appear throughout the API and are worth understanding before you implement against a single resource:
  • Authentication — every request uses Authorization: Bearer <token> and X-Origin-App.
  • Stable reads — list endpoints use a shared pagination pattern designed for predictable reads and syncs.
  • Structured envelopes — responses include request_id, timestamp, and data.
  • Bounded writes — write endpoints may support Idempotency-Key and should be handled with explicit retries.
  • Narrow payloads — use fields, include, filtering, and sorting to keep responses intentional.

API Surface

All API requests use the same base URL:
https://api.levcapital.com/api/external/v2
The v2 API is organized into these domains:
DomainEndpointsDescription
DealsGET POST PATCH DELETEDeal CRUD, financials, properties, pipelines
Deal TeamGET POST DELETETeam member assignment
PlacementsGET POST PATCHLender placement management
ContactsGET POST PATCHCRM contact management
CompaniesGET POST PATCHCRM company management
Lender DirectoryGETBrowse lenders and programs
Lender SearchGET POSTAI-powered lender matching
Term SheetsGETTerm sheet data
AccountGETAccount team and settings
Market DataGETBase rates, asset types
AuthGET POSTAuthentication and API key management

Response Format

All successful responses use a consistent envelope:

Single object

json
{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": {
    "id": 123,
    "title": "Example Deal"
  }
}

List with pagination

json
{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": [
    { "id": 1, "title": "Deal A" },
    { "id": 2, "title": "Deal B" }
  ],
  "pagination": {
    "total": 142,
    "limit": 50,
    "cursor": "eyJpZCI6IDJ9",
    "has_more": true,
    "next_cursor": "eyJpZCI6IDUyfQ=="
  }
}
Every response includes a request_id (UUID v4) for support correlation and a timestamp (ISO 8601) indicating when the response was generated.