Veryfi W-9 Forms API

The W-9 Forms API from Veryfi — 2 operation(s) for w-9 forms.

OpenAPI Specification

veryfi-w-9-forms-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Veryfi OCR Any Documents W-9 Forms 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: W-9 Forms
paths:
  /partner/w9s:
    post:
      operationId: processW9
      summary: Process a W-9 Form
      description: Submit a W-9 tax form for OCR extraction including taxpayer information, TIN, business name, entity type, and certification details.
      tags:
      - W-9 Forms
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProcessDocumentRequest'
      responses:
        '201':
          description: W-9 processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/W9Form'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    get:
      operationId: listW9s
      summary: List All W-9 Forms
      description: Retrieve a list of previously processed W-9 forms.
      tags:
      - W-9 Forms
      responses:
        '200':
          description: List of W-9 forms
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/W9Form'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /partner/w9s/{documentId}:
    get:
      operationId: getW9
      summary: Get a W-9 Form
      description: Retrieve a specific processed W-9 form by ID.
      tags:
      - W-9 Forms
      parameters:
      - name: documentId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: W-9 form details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/W9Form'
        '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: deleteW9
      summary: Delete a W-9 Form
      description: Permanently delete a processed W-9 form.
      tags:
      - W-9 Forms
      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:
    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
    W9Form:
      type: object
      description: A processed W-9 request for taxpayer identification
      properties:
        id:
          type: integer
        taxpayer_name:
          type: string
          description: Legal name of taxpayer
        business_name:
          type: string
          description: Business or DBA name
        entity_type:
          type: string
          description: Federal tax classification entity type
          enum:
          - individual
          - c_corporation
          - s_corporation
          - partnership
          - trust
          - llc
          - other
        tin:
          type: string
          description: Taxpayer Identification Number (SSN or EIN)
        address:
          type: string
          description: Address of taxpayer
        city:
          type: string
        state:
          type: string
        zip_code:
          type: string
        exempt_payee_code:
          type: string
          description: Exempt payee code if applicable
  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