MCA Suite v2 Docs

Deals

Add a deal

POST /v1/deal

Request

FieldTypeDescription
amountRequested*numberAmount requested, must be at least 0.
stage"Lead" | "Application"Defaults to Lead.
company*CompanyNested company object -- see below.
owner1*OwnerNested owner object -- see below.
owner2OwnerOptional second owner.
entityTypestringOne of Corporation, S Corporation, LLP, LLC, Partnership, Sole Proprietorship, Non-Profit.
useOfProceedsstringMax 250 characters.
financialFinancialaverageMonthlyGross, grossAnnual.
bankBankBank statistics -- deposits, NSFs, average balances.
permission"Everyone" | "Custom"
assignedTostring[]
tagsstring[]

Company (nested): id?, name, dba, addresses?: Address[], phones?: Phone[], emails?: Email[], industry?, website?, businessStartDate?, ein?, stateIncorporated?, businessDescription?.

Owner (nested): title?, firstName, lastName, middleName?, ssn?, dob?, phones?, emails?, addresses?, ownership?, creditScore?.

Example

deal = client.deals.add(
    amount_requested=50000,
    stage="Application",
    company={"name": "Acme Inc", "dba": "Acme"},
    owner1={"firstName": "Jane", "lastName": "Doe", "ownership": "100"},
    tags=["Offer", "New"],
)

Example response

{ "success": true, "id": "12345", "company": { "id": "9mslw6gq9lew3" }, "url": "https://example.com/application/12345" }

Get a deal

GET /v1/deal/{dealId}

deal = client.deals.get("spxwnjq5bue7p")

Returns the full Deal object, including fundedDeal (loan terms and balances) once the deal has been funded.


Add a note

POST /v1/deal/note

FieldTypeDescription
dealId*string
status*stringMust match a valid deal status.
note*stringFewer than 1000 characters.
client.deals.add_note(deal_id="k8fxfmo59ezdu", status="Paying On Time", note="CEO approval is received.")

Both SDKs validate the 1000-character limit locally and raise/throw a validation error before making a request if it's exceeded.


Add an attachment

POST /v1/deal/attachment (multipart/form-data)

with open("statement.pdf", "rb") as fh:
    client.deals.add_attachment(deal_id="k8fxfmo59ezdu", file=fh)

Python accepts a filesystem path, bytes, or a file-like object. TypeScript accepts a Blob/File in the browser or a Uint8Array/Buffer in Node.