← Back to appMCA Manager Helpmcamgr.com
Browse help topics

MCA Manager Public API

v1.0.0 · openapi.json

REST API for MCA Manager. Requests are authenticated with a per-tenant API key (Authorization: Bearer mca_live_…) and scoped by the key's permission flags. The base URL is your company host, e.g. https://acme.mcamgr.com. Outbound webhooks (configured under Settings → Webhooks) POST signed JSON (HMAC-SHA256, headers X-Timestamp / X-Signature) for entity created/updated/deleted/status events; verify the signature over `timestamp + "." + body`.

Try it (read-only)

Paste an API key (Settings → API keys) and run live GET requests against your instance. Requests run from this page, so open it on your company subdomain (e.g. https://your-co.mcamgr.com/help/api-reference). Write operations are documented below but can’t be sent from here.

Authentication

Send your key as a bearer token: Authorization: Bearer mca_live_…. Each key is scoped by permission flags.

Leads

get/api/v1/leads

List leads

Requires a key with `adminApiAbleToAccessLeadApi`.

Query parameters

  • status - string

Responses

  • 200 - List of leads
  • 401 - Missing/invalid API key
GET /api/v1/leads
post/api/v1/leadsnot runnable here

Create a lead

Top-of-funnel intake. Requires a key with `adminApiAbleToAccessLeadApi`.

Request body: NewLead

Responses

  • 201 - Created
  • 400 - Validation error
  • 401 - Missing/invalid API key
  • 403 - Key lacks permission
get/api/v1/leads/{id}

Get a lead

Requires `adminApiAbleToAccessLeadApi`.

Responses

  • 200 - Lead
  • 404 - Not found
GET /api/v1/leads/
patch/api/v1/leads/{id}not runnable here

Update a lead

Requires `adminApiAbleToAccessLeadApi`.

Responses

  • 200 - Updated
  • 404 - Not found
delete/api/v1/leads/{id}not runnable here

Delete a lead

Requires `adminApiAbleToAccessLeadApi`.

Responses

  • 200 - Deleted
  • 404 - Not found

Merchants

get/api/v1/merchants

List merchants

Requires `adminApiAbleToAccessApp`. Optional `?q=` filters legal/DBA name.

Responses

  • 200 - Merchants
GET /api/v1/merchants
post/api/v1/merchantsnot runnable here

Create a merchant

Requires `adminApiAbleToAccessApp`. Body: { legalName, dbaName?, federalId?, email?, phone?, … }.

Responses

  • 201 - Created
  • 400 - Validation error
get/api/v1/merchants/{id}

Get a merchant

Requires `adminApiAbleToAccessApp`. Includes contacts.

Responses

  • 200 - Merchant
  • 404 - Not found
GET /api/v1/merchants/
patch/api/v1/merchants/{id}not runnable here

Update a merchant

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Updated
  • 404 - Not found
delete/api/v1/merchants/{id}not runnable here

Delete a merchant

Requires `adminApiAbleToAccessApp`. Blocked if the merchant has deals.

Responses

  • 200 - Deleted
  • 409 - Has dependent records

Deals

get/api/v1/deals

List deals

Requires `adminApiAbleToAccessApp`. Optional `?state=`.

Responses

  • 200 - Deals
GET /api/v1/deals
post/api/v1/dealsnot runnable here

Create a deal

Requires `adminApiAbleToAccessApp`. Body: { merchantId, productType?, fundedAmount?, factorRate?, paybackAmount?, termDays?, … }.

Responses

  • 201 - Created
  • 400 - Validation error
get/api/v1/deals/{id}

Get a deal

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Deal
  • 404 - Not found
GET /api/v1/deals/
patch/api/v1/deals/{id}not runnable here

Update a deal

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Updated
  • 404 - Not found
delete/api/v1/deals/{id}not runnable here

Delete a deal

Requires `adminApiAbleToAccessApp`. Blocked if referenced by submissions/payments.

Responses

  • 200 - Deleted
  • 409 - Has dependent records

Funders

get/api/v1/funders

List funders

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Funders
GET /api/v1/funders
post/api/v1/fundersnot runnable here

Create a funder

Requires `adminApiAbleToAccessApp`.

Responses

  • 201 - Created
  • 400 - Validation error
get/api/v1/funders/{id}

Get a funder

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Funder
  • 404 - Not found
GET /api/v1/funders/
patch/api/v1/funders/{id}not runnable here

Update a funder

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Updated
  • 404 - Not found
delete/api/v1/funders/{id}not runnable here

Delete a funder

Requires `adminApiAbleToAccessApp`. Blocked if referenced by submissions.

Responses

  • 200 - Deleted
  • 409 - Has dependent records

Isos

get/api/v1/isos

List ISOs

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - ISOs
GET /api/v1/isos
get/api/v1/isos/{id}

Get an ISO

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - ISO
  • 404 - Not found
GET /api/v1/isos/

Syndicators

get/api/v1/syndicators

List syndicators

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Syndicators
GET /api/v1/syndicators
post/api/v1/syndicatorsnot runnable here

Create a syndicator

Requires `adminApiAbleToAccessApp`. Body: { name, email?, phone?, contactName?, portfolioId?, … }.

Responses

  • 201 - Created
  • 400 - Validation error
get/api/v1/syndicators/{id}

Get a syndicator

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Syndicator
  • 404 - Not found
GET /api/v1/syndicators/
patch/api/v1/syndicators/{id}not runnable here

Update a syndicator

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Updated
  • 404 - Not found
delete/api/v1/syndicators/{id}not runnable here

Delete a syndicator

Requires `adminApiAbleToAccessApp`. Blocked if referenced by other records.

Responses

  • 200 - Deleted
  • 409 - Has dependent records

Payments

get/api/v1/payments

List payments

Requires `adminApiAbleToAccessApp`. Optional `?dealId=` and `?status=`.

Responses

  • 200 - Payments
GET /api/v1/payments
post/api/v1/paymentsnot runnable here

Record a payment

Requires `adminApiAbleToAccessApp`. Body: { dealId, amount, type?, status?, … }.

Responses

  • 201 - Created
  • 400 - Validation error
get/api/v1/payments/{id}

Get a payment

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Payment
  • 404 - Not found
GET /api/v1/payments/
patch/api/v1/payments/{id}not runnable here

Update a payment

Requires `adminApiAbleToAccessApp`.

Responses

  • 200 - Updated
  • 404 - Not found

Submissions

get/api/v1/submissions

List submissions

Funder submissions for deals. Requires `adminApiAbleToAccessApp`. Optional `?dealId=` and `?funderId=`. Includes funder, status, and deal.

Responses

  • 200 - Submissions
GET /api/v1/submissions

Decisions

get/api/v1/decisions

List underwriting decisions

Decision-engine results (approve / decline / refer with score and category). Requires `adminApiAbleToAccessApp`. Optional `?dealId=`.

Responses

  • 200 - Decision results
GET /api/v1/decisions

Renewals

get/api/v1/renewals

List renewal opportunities

Paid-down deals eligible to renew. Requires `adminApiAbleToAccessApp`. Optional `?status=` (ELIGIBLE | CONTACTED | RENEWED | DISMISSED). Includes the prior deal.

Responses

  • 200 - Renewal opportunities
GET /api/v1/renewals

Credit Facilities

get/api/v1/credit-facilities

List lines of credit

Revolving credit facilities with their draws. Requires `adminApiAbleToAccessApp`. Optional `?status=` (ACTIVE | SUSPENDED | CLOSED).

Responses

  • 200 - Credit facilities
GET /api/v1/credit-facilities

Disclosures

get/api/v1/disclosures

List disclosures

Commercial-financing disclosures. Requires `adminApiAbleToAccessApp`. Optional `?dealId=`, `?state=`, `?status=` (DRAFT | DELIVERED | SIGNED | SUPERSEDED).

Responses

  • 200 - Disclosures
GET /api/v1/disclosures

Ucc Filings

get/api/v1/ucc-filings

List UCC filings

UCC-1 lien filings. Requires `adminApiAbleToAccessApp`. Optional `?dealId=`, `?status=` (DRAFT | SUBMITTED | ACCEPTED | REJECTED | LAPSED | TERMINATED).

Responses

  • 200 - UCC filings
GET /api/v1/ucc-filings

Payouts

get/api/v1/payouts

List payout batches

Commission and participation payout batches with line items. Requires `adminApiAbleToAccessApp`. Optional `?kind=` (COMMISSION | PARTICIPATION), `?status=` (DRAFT | APPROVED | PAID | PARTIAL).

Responses

  • 200 - Payout batches
GET /api/v1/payouts

Applications

get/api/v1/applications

List application submissions

Online application-form submissions. Requires `adminApiAbleToAccessApp`. Optional `?status=` (RECEIVED | REVIEWED | CONVERTED | SPAM), `?formId=`. Includes the form.

Responses

  • 200 - Application submissions
GET /api/v1/applications

Communications

get/api/v1/communications

List communications

Unified call/SMS contact-center log. Requires `adminApiAbleToAccessApp`. Optional `?merchantId=`, `?dealId=`, `?channel=` (CALL | SMS).

Responses

  • 200 - Communications
GET /api/v1/communications

Schemas

Lead
  • id - integer
  • businessName - string
  • contactName - string
  • email - string
  • phone - string
  • status - string (NEW | CONTACTED | QUALIFIED | CONVERTED | DEAD)
  • source - string
  • createdAt - string
NewLead
  • businessName - string
  • contactName - string
  • email - string
  • phone - string
  • source - string
Error
  • error - string

Can’t find what you need? Return to the app or contact your administrator.

API reference - Help