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
| Header | Value |
|---|---|
| Authorization | Bearer YOUR_ACCESS_TOKEN |
| Content-Type | application/json |
Request Body Parameters
| Field | Type | Description | Required |
|---|---|---|---|
| applicationId | string | The Lead ID from your application creation | Yes |
| assetReportJson | object | Complete Plaid Asset Report JSON object | Yes |
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 identifierreport.client_report_id- Your client-provided report identifierreport.date_generated- When the report was generatedreport.days_requested- Number of days of history requestedreport.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
| Field | Type | Description |
|---|---|---|
| success | boolean | Indicates whether the request was successful |
| message | string | Human-readable message describing the outcome |
| assetReportId | string | Salesforce 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
- Authentication Required - Ensure your Bearer token is valid and has appropriate permissions
- Lead Must Exist - The applicationId must correspond to an existing Lead record in the system
- Complete Asset Report - Submit the full Asset Report JSON from Plaid's
/asset_report/getendpoint - Idempotency - Submitting the same asset report multiple times will create separate records
- 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