REST API reference
Deals
Follow a business's funding request to a recipient, manage its stage, and open its application.
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
/deals/POSTAssociate an existing Deal with a Project/deals/{deal_id}/project/POSTCreate a Deal/deals/GETList Deal participants/deals/{deal_id}/participants/GETRetrieve a Deal/deals/{deal_id}/GETRetrieve Deal financing terms/deals/{deal_id}/terms/PUTReplace Deal participants/deals/{deal_id}/participants/PATCHUpdate a Deal/deals/{deal_id}/PATCHUpdate Deal financing terms/deals/{deal_id}/terms/PATCHMove one Deal to a workflow stage/deals/{deal_id}/stage/Deal applications
View overview →/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/