Integration Summary

When to use
  • Access base rates and asset type reference data.
  • Use this page as the source of truth for reads, filters, pagination, and object shape.
Required scopes
  • Access is inherited from the connected user or JWT session.
  • Inspect GET /me or the validate-api-key response to confirm the scopes available to the current token.
Headers
  • Authorization: Bearer <token>
  • X-Origin-App: <client-name>
  • Content-Type: application/json when the endpoint accepts a body
Request schema
Use the path and query parameter tables below or /platform/openapi.json for the machine-readable schema surface.
Response schema
Responses use the standard request_id/timestamp/data envelope documented in the API overview.
Enums & values
  • Enum-like values and filter operators are documented inline on the page where available.
  • When a value set is account- or tier-dependent, validate against live responses before hard-coding assumptions.
Rate limits
See /rate-limits. Page intentionally through list endpoints and apply backoff on 429 responses.
Examples
curl, TypeScript, Python

Starter example: GET /api/external/v2/market/base-rates

bash
curl -X GET "https://api.levcapital.com/api/external/v2/market/base-rates" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Origin-App: my-integration"

Market Data

Last updated: March 2026

Market data endpoints provide reference data including current base rates (SOFR, CMT) and asset type definitions used across the platform.
Connect your API key to explore

Stored in your browser session only. Never sent to our docs server.

GET/api/external/v2/market/base-rates
https://api.levcapital.com/api/external/v2/market/base-rates

Base Rates

GET/api/external/v2/market/base-rates
Get current base rates (SOFR, CMT, Prime, etc.)
Response (200):
json
{
  "request_id": "...",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": [
    {
      "code": "sofr_30",
      "name": "SOFR 30-Day",
      "rate": 4.33
    },
    {
      "code": "cmt_5y",
      "name": "5-Year CMT",
      "rate": 3.95
    },
    {
      "code": "cmt_10y",
      "name": "10-Year CMT",
      "rate": 4.15
    }
  ]
}
Each base rate object contains:
FieldTypeDescription
codestringRate identifier code
namestringDisplay name
ratenumber|nullCurrent rate value

Error responses

401unauthorized

When: Missing or invalid Authorization header

{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "error": {
    "status": 401,
    "type": "unauthorized",
    "message": "Authentication required",
    "details": {}
  }
}

Asset Types

GET/api/external/v2/market/asset-types
Get available asset type definitions
Response (200):
json
{
  "request_id": "...",
  "timestamp": "2026-03-20T15:30:45Z",
  "data": [
    {
      "id": 1,
      "description": "Multifamily",
      "property_sub_types": ["garden", "mid-rise", "high-rise"]
    },
    {
      "id": 2,
      "description": "Office",
      "property_sub_types": ["CBD", "suburban"]
    },
    {
      "id": 3,
      "description": "Retail",
      "property_sub_types": ["strip_center", "mall", "single_tenant"]
    },
    {
      "id": 4,
      "description": "Industrial",
      "property_sub_types": ["warehouse", "flex"]
    },
    {
      "id": 5,
      "description": "Mixed-Use",
      "property_sub_types": null
    }
  ]
}
Each asset type object contains:
FieldTypeDescription
idintegerAsset type identifier
descriptionstring|nullAsset type name/description
property_sub_typesarray|nullSub-type classifications
Asset type IDs are used when creating deal properties (asset_type_id field).

Error responses

401unauthorized

When: Missing or invalid Authorization header

{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "error": {
    "status": 401,
    "type": "unauthorized",
    "message": "Authentication required",
    "details": {}
  }
}