Download all statements as a ZIP

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://docs.usehearsay.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "integrations MCP server": {
    "url": "https://docs.usehearsay.com/mcp"
  }
}

Close
POST /financial-data/statements/{plaidItemId}/bulk-download

Queues a background job that downloads every stored statement PDF for the item and zips them, and returns its job id; poll GET /financial-data/export/:jobId for the download URL. If a bundle job for the item is already running in this case, returns that job's id instead. Returns 400 if no statements are stored yet (list them first).

Path parameters

  • plaidItemId string Required

    MongoDB _id of the PlaidItem

application/json

Body Required

  • caseId string Required

    Case ID that the PlaidItem belongs to.

Responses

  • 201 application/json
    Hide response attributes Show response attributes object
    • data object Required
      Hide data attribute Show data attribute object
      • jobId string Required

        Export job ID. Poll GET /financial-data/export/:jobId for status and the signed download URL when complete.

    • statusCode number Required
    • timestamp string(date-time) Required
POST /financial-data/statements/{plaidItemId}/bulk-download
curl \
 --request POST 'http://api.example.com/financial-data/statements/{plaidItemId}/bulk-download' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "caseId": "string"
}'
Request examples
{
  "caseId": "string"
}
Response examples (201)
{
  "data": {
    "jobId": "507f1f77bcf86cd799439011"
  },
  "statusCode": 201,
  "timestamp": "2026-01-15T10:15:00.000Z"
}