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.

REST API reference

Deals

Follow a business's funding request to a recipient, manage its stage, and open its application.

Read as Markdown

Create a deal

A deal tracks a business's funding request to one recipient. Its Deal application collects the answers and documents that recipient needs.

If you already know who should receive the Deal, use List Deal recipients (GET /deal-recipients/). It includes your own team, Marketplace lenders, connected partners, and custom recipients available to your Portal. This needs Deals read access. Search by name and follow next_cursor for more results. Choose a recipient with can_create_deal: true; otherwise, unavailable_reason explains what needs attention.

If you need recommendations, start with Matchmaking and review the results before choosing a recipient.

Use Create a Deal (POST /deals/) with the Business ID and recipient_id. Copy the recipient's id from the recipient list, or recipient.id from a matchmaking result. For a Deal your team will process, choose your own team from the recipient list. Include project_id to link a Project belonging to this Business. Match result IDs are for saving your shortlist.

Creation uses the recipient's current published application and your default Deal pipeline, and starts Autofill. The application stays private to your team and is not submitted. Save the returned Deal and application IDs, then complete the application.

Send a unique Idempotency-Key with each creation request. Reuse the same key and body when retrying to receive the original Deal. Use a new key only when you intend to create another Deal.

Complete and follow the deal

Open the linked Deal application to complete answers, attach documents, use Autofill, check readiness, and submit. A submission receipt does not establish lender acceptance, approval, or funding.

Check the deal name, linked project/application IDs, and pipeline stage. Read the linked records when you need more context to distinguish similarly named deals.

status describes application progress. workflow.stage describes placement on your Portal's board. Moving a stage does not submit an application or change its application status.

To move a deal on your board, discover stages through workflow.stages_url and update the stage with the deal ETag.

Record an application decision

To decline, mark funded, withdraw, mark timed out, reopen, or record submitted/not-submitted status, follow Application decisions.

Update participants or the linked project

Deal participants are a complete replacement set. Read its ETag, choose people available in your Portal, and include the primary person in person_ids. Null clears the primary designation; an empty set clears participants. Read back the result.

To move a deal to another project, use Move a Deal to a Project.

Available operations

Deal applications

View overview →
POSTDecline a Deal application/deal-applications/{application_id}/decline/POSTMark a Deal application funded/deal-applications/{application_id}/fund/POSTMark a Deal application timed out/deal-applications/{application_id}/timeout/POSTRecord a Deal application as not submitted/deal-applications/{application_id}/mark-not-submitted/POSTRecord a Deal application as submitted/deal-applications/{application_id}/mark-submitted/POSTReopen a Deal application/deal-applications/{application_id}/reopen/POSTWithdraw a Deal application/deal-applications/{application_id}/withdraw/GETList available Deal application decisions/deal-applications/{application_id}/decision-options/GETRetrieve a Deal Application/deal-applications/{application_id}/GETRetrieve a Deal Application contract/deal-applications/{application_id}/contract/GETList Deal Application answers/deal-applications/{application_id}/answers/PATCHUpdate Deal Application answers/deal-applications/{application_id}/answers/GETList repeatable answer items/deal-applications/{application_id}/answers/repeatable-items/POSTCreate a repeatable answer item/deal-applications/{application_id}/answers/repeatable-items/PATCHUpdate a repeatable answer item/deal-applications/{application_id}/answers/repeatable-items/DELETEDelete a repeatable answer item/deal-applications/{application_id}/answers/repeatable-items/GETList answer files/deal-applications/{application_id}/answers/files/POSTRequest an answer-file upload/deal-applications/{application_id}/answers/files/POSTUpload an answer file/deal-applications/{application_id}/answers/files/{upload_id}/DELETEDelete an answer file/deal-applications/{application_id}/answers/files/GETGet Deal Application autofill preparation/deal-applications/{application_id}/autofill-preparation/POSTStart Deal Application autofill/deal-applications/{application_id}/autofill-runs/PATCHUpdate Deal Application autofill preparation/deal-applications/{application_id}/autofill-preparation/POSTUpload a Deal Application autofill preparation file/deal-applications/{application_id}/autofill-preparation/files/GETGet a Deal Application autofill run/deal-application-autofill-runs/{run_id}/GETList Deal Application autofill suggestions/deal-application-autofill-runs/{run_id}/suggestions/POSTAccept autofill suggestion/deal-application-autofill-runs/{run_id}/suggestions/{suggestion_id}/accept/POSTRetry Deal Application autofill/deal-application-autofill-runs/{run_id}/retry/POSTShare a Deal Application with recipients by email/deal-applications/{application_id}/share/GETCheck Deal Application submission readiness/deal-applications/{application_id}/submission-readiness/POSTSubmit a Deal Application/deal-applications/{application_id}/submit/