openapi: 3.1.0 info: title: Veryfi OCR Any Documents Checks API description: The Veryfi OCR API extracts structured data from financial documents including receipts, invoices, bank statements, checks, W-2s, W-8s, W-9s, business cards, contracts, and more. The API uses AI-powered OCR to capture line items, taxes, totals, barcodes, vendor details, and other financial data across 91 currencies and 38 languages with enterprise-grade accuracy. version: v8 contact: name: Veryfi Support url: https://docs.veryfi.com/ email: support@veryfi.com license: name: Proprietary url: https://www.veryfi.com/terms/ servers: - url: https://api.veryfi.com/api/v8 description: Veryfi OCR API v8 security: - clientId: [] apiKey: [] tags: - name: Checks paths: /partner/checks: post: operationId: processCheck summary: Process a Check description: Submit a check image for OCR extraction including bank routing number, account number, check number, payee, amount, and date. tags: - Checks requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProcessDocumentRequest' multipart/form-data: schema: $ref: '#/components/schemas/ProcessDocumentRequest' responses: '201': description: Check processed content: application/json: schema: $ref: '#/components/schemas/Check' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' get: operationId: listChecks summary: List All Checks description: Retrieve a list of previously processed checks. tags: - Checks responses: '200': description: List of checks content: application/json: schema: type: array items: $ref: '#/components/schemas/Check' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' /partner/checks/{documentId}: get: operationId: getCheck summary: Get a Check description: Retrieve a specific processed check by ID. tags: - Checks parameters: - name: documentId in: path required: true schema: type: integer responses: '200': description: Check details content: application/json: schema: $ref: '#/components/schemas/Check' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' delete: operationId: deleteCheck summary: Delete a Check description: Permanently delete a processed check. tags: - Checks parameters: - name: documentId in: path required: true schema: type: integer responses: '200': description: Deleted successfully '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' components: schemas: Check: type: object description: A processed check with extracted data properties: id: type: integer routing_number: type: string description: Bank routing number (MICR) account_number: type: string description: Bank account number (MICR) check_number: type: string description: Check number payee: type: string description: Pay to the order of payer: type: string description: Check issuer name amount: type: number format: float description: Check amount date: type: string description: Check date memo: type: string description: Memo field contents Error: type: object description: API error response properties: status: type: integer description: HTTP status code error: type: string description: Error type message: type: string description: Human-readable error message ProcessDocumentRequest: type: object description: Request body for document processing operations properties: file_url: type: string format: uri description: Publicly accessible URL to the document file_urls: type: array items: type: string format: uri description: Multiple document URLs (for multi-page documents) file_data: type: string description: Base64-encoded document data file: type: string format: binary description: Binary file upload async: type: boolean default: false description: Enable asynchronous processing via webhook boost_mode: type: boolean default: false description: Skip enrichment for faster processing max_pages_to_process: type: integer default: 15 maximum: 15 description: Maximum pages to process bounding_boxes: type: boolean default: false description: Include coordinate data for extracted fields confidence_details: type: boolean default: false description: Include confidence scores for each extracted field external_id: type: string description: Custom identifier for the document in your system tags: type: array items: type: string description: Tags for document organization country: type: string description: Two-letter country code as currency hint parse_address: type: boolean description: Break address fields into individual components securitySchemes: clientId: type: apiKey in: header name: CLIENT-ID description: Your Veryfi account client identifier apiKey: type: apiKey in: header name: AUTHORIZATION description: 'API key in format: ''apikey USERNAME:API_KEY''' requestSignature: type: apiKey in: header name: X-Veryfi-Request-Signature description: HMAC-SHA256 signature for request validation