Skip to content
Levr API Documentation
Download OpenAPI specOpenAPI

Hand off to an AI agent

Copy instructions to your AI agent

Copy this guide into your AI agent. It links to the current REST API and MCP documentation.

You are helping someone integrate their system with Levr. Use Levr's published documentation and machine-readable contracts as the source of truth. Do not invent endpoints, fields, or MCP tools.

  1. Start with the Levr API documentation to choose between a server-to-server REST integration and a user-authorized MCP connection.
  2. For REST, read the Markdown REST API guide, choose the user’s task, then fetch only the relevant resource guide and operation Markdown. Resource indexes include task guidance. For funding recommendations, start with the Matchmaking guide. Use the OpenAPI specification for exact paths, authentication, parameters, and envelope schemas.
  3. For REST client intake, Deal applications, or project Criteria, fetch that resource's contract_url. Its Application Contract is the authority for the current questions, stable keys, repeatable groups, file-transfer steps, accepted answer shapes, conditional visibility, supported operation URLs, and integration instructions. Repeatable fields require the returned item_id. File bytes use the expiring upload_url and multipart field named file; they never belong in JSON. Do not substitute a static example or the latest application definition.
  4. For an AI client acting with a signed-in user's access, read the MCP connection instructions in Markdown first, then the Model Context Protocol guide if needed. Let the connected MCP server expose its current tools and input contracts; do not infer tools from the REST API. Read the relevant MCP resource guide and follow the discovered tool’s revision, file-transfer, and confirmation requirements.
  5. Use URLs from the record handoff when supplied; otherwise use this documentation environment. Keep API keys and file-transfer credentials out of browser code, logs, prompts, and source control.
  6. Before implementing a write, verify authentication, required inputs, idempotency, error responses, and retry guidance in the current contract. If an operation is not documented, do not assume it exists.

Early access

Request an integration

Tell us what your integration needs to do. Add an email if you want a reply.

Deals

Update Deal financing terms

Read as Markdown
PATCH/deals/{deal_id}/terms/

Patch financing details with the current revision. Omitted fields stay unchanged. equipment_entries replaces the complete equipment list; [] clears it. Application answers and lifecycle decisions use their own operations.

Required permissions
deals:write
Available scopes
Entire Portal or Selected source channels

Headers and URL parameters

NameLocationTypeRequired
deal_id
View parameter schema
pathstringYes
If-Match
View parameter schema
headerstringYes
Idempotency-Key
View parameter schema
headerstringYes

Request body

application/json · Required body

FieldTypeRequired
actual_interest_rateSee schemaNo
additional_notesSee schemaNo
advance_rate_percentSee schemaNo
advisory_fee_amountSee schemaNo
advisory_fee_percentSee schemaNo
buy_rateSee schemaNo
commission_actual_payment_dateSee schemaNo
commission_notesSee schemaNo
commission_statusSee schemaNo
currencySee schemaNo
deal_length_intervalSee schemaNo
deal_length_valueSee schemaNo
deal_revenueSee schemaNo
deal_statusSee schemaNo
deal_typeSee schemaNo
disbursed_dateSee schemaNo
equipment_entriesThe complete equipment list. Replaces the existing list when supplied; [] clears it.arrayNo
factor_rateSee schemaNo
financing_typeSee schemaNo
funded_amountSee schemaNo
is_stacked_dealSee schemaNo
is_syndicationSee schemaNo
maturity_dateSee schemaNo
net_funded_amountSee schemaNo
not_applicable_fieldsarrayNo
notes_to_accountingSee schemaNo
nr_paymentsSee schemaNo
offered_amountSee schemaNo
origination_fee_amountSee schemaNo
origination_fee_percentSee schemaNo
other_feeSee schemaNo
other_fee_descriptionSee schemaNo
payment_frequency_intervalSee schemaNo
processing_feeSee schemaNo
property_loan_to_valueSee schemaNo
property_typeSee schemaNo
property_useSee schemaNo
property_valueSee schemaNo
proposed_amountSee schemaNo
real_estate_property_addressSee schemaNo
renewal_followup_dateSee schemaNo
repayment_holdback_percentageSee schemaNo
repayment_payment_amountSee schemaNo
requested_amountSee schemaNo
sell_rateSee schemaNo
stacked_withSee schemaNo
syndication_amountSee schemaNo
syndication_percentSee schemaNo
target_interest_rateSee schemaNo
total_repayment_amountSee schemaNo
View request schema

Example request

cURL
curl --request PATCH \
  --url "https://api.staging.levr.ai/v1/deals/$DEAL_ID/terms/" \
  --header "Authorization: Bearer $LEVR_API_KEY" \
  --header "If-Match: $IF_MATCH" \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --header "Content-Type: application/json" \
  --data "@request.json"

Responses

StatusWhat it means
200

Successful response.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
400

Correct the request fields and try again.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
401

Provide a valid API key and try again.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
403

This API key does not allow the requested action.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
404

The requested resource was not found or is not available to this API key.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
409

The request conflicts with the resource's current state. Refresh it before trying again.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
412

The request was not completed.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
429

Too many requests were sent. Wait before trying again.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response
500

Levr could not complete the request. Keep the request ID and retry when safe.

View response headers

application/json

View response schema

Illustrative data. Use the identifiers, cursors, and URLs returned by your requests.

View example response