---
title: "Extract Multi Bank"
method: POST
path: "/api/v1/extract-multi-bank"
tags: ["Extraction"]
---

# Extract Multi Bank

`POST /api/v1/extract-multi-bank`

Extract data from multiple bank statement PDFs (from different banks/accounts).

This endpoint:
- Extracts each PDF separately
- Attaches source_filename to each transaction
- Merges all transactions sorted by date
- Provides combined summary with aggregated balances

Provide either ``files`` (binary uploads) or ``file_urls`` (JSON array of URLs).

Args:
    files: List of PDF files from different banks/accounts
    file_urls: JSON array of URLs pointing to PDF files (alternative to file uploads)
    passwords: Optional list of passwords for encrypted PDFs (position-matched)
    
Returns:
    Job ID to track the extraction status and retrieve results

## Response `200`

Successful Response

- ExtractionResponse — Response model for extraction endpoints
  - `success` boolean, required — Whether the request was successful
  - `message` string, required — Human-readable message
  - `request_id` string — Unique identifier for the request
  - `job_id` string, required — Unique identifier for the extraction job
  - `status` 'uploaded' | 'queued' | 'processing' | 'completed' | 'failed' | 'signin_required' | 'expired', required — Standardized status codes for the API
  - `deduplicated` boolean — True if this response refers to an existing in-flight job for identical content

## Other responses

- `400` — Invalid input
- `422` — Validation Error
- `500` — Processing error

---

[API](https://skmtc.dev/razorextract/apis/razor-extract-api.md) · [All operations](https://skmtc.dev/razorextract/apis/razor-extract-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/razorextract/razor-extract-api/revisions/21de962e43c4/schema)
