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

Read as Markdown

Choose an action to read its inputs, results, and usage guidance. Your connection determines which tools are available to you.

A Deal connects a business with one funding recipient and its application. Create the Deal first, then complete and submit the application as a separate action.

Create a Deal

If you know who should receive the Deal, call deals.list_recipients with your Portal’s provider_slug. It includes your own team, Marketplace lenders, connected partners, and custom recipients available to your Portal. 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. Choose your own team for a Deal your team will process.

Call deals.create with your Portal’s provider_slug, a Business ID, the recipient’s id as recipient_id, and a new UUID idempotency_key. Include project_id to link a Project belonging to this Business. Creation uses the recipient’s current published application and your default Deal pipeline, starts Autofill, and keeps the application private to your team. It does not submit the application. Save the returned Deal and application IDs, then complete the application. Reuse the same idempotency key and inputs when retrying.

If you want recommendations first, follow Matchmaking, then copy the chosen result's recipient.id into recipient_id.

Identify and complete the right Deal

Use deals.list or deals.get and check the recipient, business, Project, requested amount, archive state, and pipeline stage. These distinguish similarly named Deals. Then open the Deal application to complete its answers and check readiness.

application_status describes application progress. pipeline_stage describes the Deal's position on your Portal's board. The deprecated status alias and list filter refer to application status, not pipeline stage.

Read the Deal’s working context

Use deals.list_notes for private notes and deals.list_people for linked CRM contacts. Use deals.list_messages for visible provider and client messages, deals.list_activity for grouped history, and deals.list_application_participants for current application access. CRM contacts and application participants have different roles: linking a contact does not invite them or grant application access.

Follow each collection’s next_cursor to read all items. Search and ordering apply to that collection; restart pagination when changing them. Reading messages does not mark them read. History describes past events; use current Deal and application reads to check today’s state.

Move a pipeline stage

Use review_stage_move before move_stage. For a bulk move, select one to 100 records and a destination stage. Your AI must ask twice: first confirm the records and destination, then confirm the reviewed effects and final go-ahead. Send both acknowledgements and the current review token. Do not bypass this review through repeated single-record moves.

Moving a stage does not submit an application or change its application status. Configured Deal-stage notifications can still run.

Related resources

Available tools