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