# Deal applications

Use live MCP discovery to check which tools your connection can call.

A Deal application collects the information required for one recipient. Find its ID through `deals.get` or a `deals.create` receipt. Each recipient can require different questions and documents.

## Complete the application

1. Read the application and its current question contract. Use the returned question keys, repeated-entry IDs, and supported tools.
2. Read the current answers. Use their revision for answer changes; the application's own revision protects a different change.
3. Update ordinary answers with the answer-update tool. Use dedicated tools for repeated entries and documents.
4. Read readiness to find missing or invalid answers. Complete those questions before submission.

### Attach documents

Call the application's `prepare_answer_file_upload` tool with the question key, latest answers revision, filename, byte count, and SHA-256 digest. Include the returned item ID for a repeated entry. POST the file to the returned URL as multipart field `file`, using `transfer_token` as a Bearer credential within five minutes. No separate API key is needed. Check the receipt, then list the files to confirm the upload. Files can be up to 25 MiB; application storage limits also apply.

### Work with an uploaded document

List the application's files and use the returned file ID. Call `deal_applications.update_answer_file` with a filename, the latest `expected_answers_revision`, and a UUID `idempotency_key` to rename it while preserving its contents and identity. Renaming does not convert its format.

Call `deal_applications.get_answer_file_download` to retrieve the original. GET `download.url` with `download.transfer_token` as a Bearer credential within five minutes; no API key is needed. Downloads recheck current access and file availability. Unrelated answer edits do not invalidate the download. Keep credentials and bytes out of logs and messages. Uploading a processed copy adds another file; delete the original only if the user explicitly requests removal.

### Use Autofill

Autofill proposes answers from evidence; it does not save them automatically. Read preparation to choose available evidence and add notes. Upload any new supporting documents before starting a run:

1. Call `deal_applications.prepare_autofill_file_upload` with the latest `expected_preparation_revision`, a new UUID `idempotency_key`, filename, byte count, and SHA-256 digest of the file.
2. POST the document as multipart field `file` to the returned URL within five minutes. Set `Authorization: Bearer <transfer_token>`; your MCP connection authorizes the upload, so no API key is needed. The limit is 25 MiB per file.
3. Check the upload receipt and read preparation again. Use its latest revision when adding another document or starting Autofill.

An identical retry with the same transfer credential returns the original receipt without adding another file. Keep the upload receipt and use preparation’s `files` list to confirm the document names and follow processing. If the credential expires before you confirm the upload, read preparation and check that list before uploading again. A document’s `status` is `pending` while queued, `running` while being read, `success` when ready for Autofill, or `failed` when it needs attention. Processing updates do not change the preparation revision; read preparation again to check progress. Supporting documents provide evidence for Autofill; they do not fill an application question by themselves.

Start a run using the latest preparation revision, check its status until it settles, and review its suggestions. Accept only approved suggestions using the latest `expected_answers_revision`. Keep the revision and idempotency key for an identical retry, then read the answers to confirm what was saved.

If a revision is stale, read again and reconcile the change before retrying. Keep file-transfer credentials and document bytes out of tool arguments, logs, and messages.

## Submit when ready

Read readiness and the current answers. Your AI must explain validation and any external-delivery effects, then obtain a second explicit confirmation before submission. Give both confirmations in your AI conversation. Read the application afterward to confirm the result. A submission receipt does not prove approval or funding.

## Record an application decision

Use `deal_applications.review_status_change` to review an available status change and its effects. Source and processing Portals can record outcomes; observers can only record submitted or not-submitted status when available. Explain the review, obtain a second explicit confirmation, then call `deal_applications.change_status` with the same application, target status, optional destination stage, and review token. Send `user_confirmed: true`, a new UUID `idempotency_key`, and selected recipients’ `email` and `origin`, or `recipients: []` for no optional messages. Automatic effects still apply.

Before marking funded, complete the required financing fields available to you. Read [financing terms](https://docs.levr.ai/mcp/tools/deals.get_terms/), then use [Update financing terms](https://docs.levr.ai/mcp/tools/deals.update_terms/) for amounts and equipment details with the returned revision. Send equipment in `changes.equipment_entries` as the complete list you want to keep; `[]` clears it. If funding is confirmed before you have the funded amount, include `allow_missing_funded_amount: true` in both the review and execution calls. It defaults to `false`; other required fields and invalid amounts still block the action. Keep its value unchanged after review; changing it requires a new review and confirmation. Add the funded amount later with [Update financing terms](https://docs.levr.ai/mcp/tools/deals.update_terms/).

The review shows the stage change in your Portal, including any default stage it will create. Other Portals follow their stage synchronization preferences.

Marking funded may create commission obligations. Recording submitted status or reopening does not deliver the application. Read the application afterward to confirm its status.



## Available tools

- [Read a Deal Application](https://docs.levr.ai/mcp/tools/deal_applications.get.md): `deal_applications.get`

- [Read a Deal Application contract](https://docs.levr.ai/mcp/tools/deal_applications.get_contract.md): `deal_applications.get_contract`

- [Read Deal Application answers](https://docs.levr.ai/mcp/tools/deal_applications.get_answers.md): `deal_applications.get_answers`

- [Update Deal Application answers](https://docs.levr.ai/mcp/tools/deal_applications.update_answers.md): `deal_applications.update_answers`

- [List a Deal Application repeatable items](https://docs.levr.ai/mcp/tools/deal_applications.list_repeatable_items.md): `deal_applications.list_repeatable_items`

- [Add a Deal Application repeatable item](https://docs.levr.ai/mcp/tools/deal_applications.add_repeatable_item.md): `deal_applications.add_repeatable_item`

- [Update a Deal Application repeatable item](https://docs.levr.ai/mcp/tools/deal_applications.update_repeatable_item.md): `deal_applications.update_repeatable_item`

- [Delete a Deal Application repeatable item](https://docs.levr.ai/mcp/tools/deal_applications.delete_repeatable_item.md): `deal_applications.delete_repeatable_item`

- [Get a Deal Application original file](https://docs.levr.ai/mcp/tools/deal_applications.get_answer_file_download.md): `deal_applications.get_answer_file_download`

- [List a Deal Application answer files](https://docs.levr.ai/mcp/tools/deal_applications.list_answer_files.md): `deal_applications.list_answer_files`

- [Read application document text](https://docs.levr.ai/mcp/tools/deal_applications.get_file_text.md): `deal_applications.get_file_text`

- [Prepare a Deal Application answer file upload](https://docs.levr.ai/mcp/tools/deal_applications.prepare_answer_file_upload.md): `deal_applications.prepare_answer_file_upload`

- [Update a Deal Application file metadata](https://docs.levr.ai/mcp/tools/deal_applications.update_answer_file.md): `deal_applications.update_answer_file`

- [Delete a Deal Application answer file](https://docs.levr.ai/mcp/tools/deal_applications.delete_answer_file.md): `deal_applications.delete_answer_file`

- [Review application status](https://docs.levr.ai/mcp/tools/deal_applications.review_status_change.md): `deal_applications.review_status_change`

- [Change application status](https://docs.levr.ai/mcp/tools/deal_applications.change_status.md): `deal_applications.change_status`

- [Share Deal Application with business](https://docs.levr.ai/mcp/tools/deal_applications.share_with_business.md): `deal_applications.share_with_business`

- [Read Deal Application autofill preparation](https://docs.levr.ai/mcp/tools/deal_applications.get_autofill_preparation.md): `deal_applications.get_autofill_preparation`

- [Prepare Deal Application autofill](https://docs.levr.ai/mcp/tools/deal_applications.prepare_autofill.md): `deal_applications.prepare_autofill`

- [Prepare Deal application Autofill supporting-file upload](https://docs.levr.ai/mcp/tools/deal_applications.prepare_autofill_file_upload.md): `deal_applications.prepare_autofill_file_upload`

- [Start Deal Application autofill](https://docs.levr.ai/mcp/tools/deal_applications.start_autofill.md): `deal_applications.start_autofill`

- [Get Deal Application autofill](https://docs.levr.ai/mcp/tools/deal_applications.get_autofill.md): `deal_applications.get_autofill`

- [List Deal Application autofill suggestions](https://docs.levr.ai/mcp/tools/deal_applications.list_autofill_suggestions.md): `deal_applications.list_autofill_suggestions`

- [Accept a Deal Application autofill suggestion](https://docs.levr.ai/mcp/tools/deal_applications.accept_autofill_suggestion.md): `deal_applications.accept_autofill_suggestion`

- [Retry Deal Application autofill](https://docs.levr.ai/mcp/tools/deal_applications.retry_autofill.md): `deal_applications.retry_autofill`

- [Check Deal Application submission readiness](https://docs.levr.ai/mcp/tools/deal_applications.check_submission_readiness.md): `deal_applications.check_submission_readiness`

- [Submit Deal Application](https://docs.levr.ai/mcp/tools/deal_applications.submit.md): `deal_applications.submit`
