Skip to main content

Submit Plaid Asset Report

Submit a Plaid Asset Report for a specific application/lead. This endpoint processes the complete Plaid Asset Report JSON and extracts intelligent banking metrics for underwriting purposes.

Endpoint​

Staging​

POST https://missioncapital--full.sandbox.my.salesforce.com/services/apexrest/plaid/asset-report/

Production​

POST https://missioncapital.my.salesforce.com/services/apexrest/plaid/asset-report/

Headers​

HeaderValue
AuthorizationBearer YOUR_ACCESS_TOKEN
Content-Typeapplication/json

Request Body Parameters​

FieldTypeDescriptionRequired
applicationIdstringThe Lead ID from your application creationYes
assetReportJsonobjectComplete Plaid Asset Report JSON objectYes

Asset Report JSON Object​

The assetReportJson should contain the complete Asset Report JSON structure as returned by Plaid's /asset_report/get endpoint. Key fields include:

  • report.asset_report_id - Unique Plaid Asset Report identifier
  • report.client_report_id - Your client-provided report identifier
  • report.date_generated - When the report was generated
  • report.days_requested - Number of days of history requested
  • report.items[] - Array of connected bank accounts and transaction data

For the complete Asset Report JSON structure, see Plaid's Asset Report documentation.

Sample Request​

{
"applicationId": "00QEa00000PCRxLMAX",
"assetReportJson": {
"report": {
"asset_report_id": "bf3a0490-344c-4620-a219-2693162e4b1d",
"client_report_id": "client-123",
"date_generated": "2024-04-15T10:30:00Z",
"days_requested": 90,
"items": [
{
"institution_name": "Chase Bank",
"accounts": [
{
"account_id": "account-123",
"name": "Chase Business Checking",
"official_name": "Chase Premier Plus Checking",
"type": "depository",
"subtype": "checking",
"mask": "1234",
"days_available": 90,
"balances": {
"current": 15420.50,
"available": 15420.50
},
"owners": [
{
"names": ["John Doe"],
"emails": [
{
"data": "john.doe@company.com",
"primary": true,
"type": "primary"
}
]
}
],
"historical_balances": [
{
"date": "2024-04-14",
"current": 15420.50
},
{
"date": "2024-04-13",
"current": 14890.25
}
],
"transactions": [
{
"transaction_id": "txn-123",
"amount": 530.25,
"date": "2024-04-14",
"name": "ACH Credit - Customer Payment"
}
]
}
]
}
]
}
}
}

Sample Response​

Successful Response​

{
"success": true,
"message": "Asset report has been submitted successfully",
"assetReportId": "a1X8c000000fxY4EAI"
}

Error Response​

{
"success": false,
"message": "Application not found: 00QEa00000InvalidID",
"assetReportId": null
}

Response Fields​

FieldTypeDescription
successbooleanIndicates whether the request was successful
messagestringHuman-readable message describing the outcome
assetReportIdstringSalesforce ID of the created Asset Report record (if successful)

Error Scenarios​

Common error responses include:

  • Missing applicationId: "applicationId is required"
  • Missing assetReportJson: "assetReportJson is required"
  • Invalid applicationId: "Application not found: {applicationId}"
  • Malformed JSON: "Invalid Asset Report JSON - missing report data"
  • Processing failure: "Asset report submission failed"

Integration Notes​

  1. Authentication Required - Ensure your Bearer token is valid and has appropriate permissions
  2. Lead Must Exist - The applicationId must correspond to an existing Lead record in the system
  3. Complete Asset Report - Submit the full Asset Report JSON from Plaid's /asset_report/get endpoint
  4. Idempotency - Submitting the same asset report multiple times will create separate records
  5. File Storage - The complete JSON is stored as a file attachment for audit and future analysis

Security & Privacy​

  • Asset Reports contain sensitive financial data and are processed securely
  • All data is encrypted in transit and at rest
  • Access is restricted to authorized users and systems
  • Complete audit trail is maintained for compliance purposes