TaxJar Validations API

Address and VAT validation

OpenAPI Specification

taxjar-validations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TaxJar Sales Tax Categories Validations API
  description: REST API for real-time sales tax calculation, rooftop-level rate lookups, tax category listing, transaction management (orders and refunds), customer exemption management, nexus region tracking, address validation, and VAT validation. Supports token-based authentication via Authorization header. TaxJar is a Stripe company providing sub-20ms response times and 99.999% historical uptime.
  version: '2.0'
  contact:
    name: TaxJar Developer Support
    url: https://support.taxjar.com/category/233-taxjar-api
  termsOfService: https://www.taxjar.com/terms/
  x-api-id: taxjar-sales-tax
servers:
- url: https://api.taxjar.com/v2
  description: Production
- url: https://api.sandbox.taxjar.com/v2
  description: Sandbox
security:
- bearerAuth: []
tags:
- name: Validations
  description: Address and VAT validation
paths:
  /addresses/validate:
    post:
      operationId: validateAddress
      summary: Validate an address
      description: Validates a US address and returns standardized address components. Returns up to 4 suggestions for an incomplete address.
      tags:
      - Validations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddressRequest'
      responses:
        '200':
          description: Validated address suggestions
          content:
            application/json:
              schema:
                type: object
                properties:
                  addresses:
                    type: array
                    items:
                      $ref: '#/components/schemas/Address'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /validation:
    get:
      operationId: validateVAT
      summary: Validate a VAT number
      description: Validates a VAT identification number using the VIES service and returns validity status along with registered business information.
      tags:
      - Validations
      parameters:
      - name: vat
        in: query
        required: true
        description: VAT number to validate (e.g. FR40303265045)
        schema:
          type: string
        example: FR40303265045
      responses:
        '200':
          description: VAT validation result
          content:
            application/json:
              schema:
                type: object
                properties:
                  validation:
                    $ref: '#/components/schemas/Validation'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Address:
      type: object
      properties:
        country:
          type: string
          example: US
        state:
          type: string
          example: CA
        zip:
          type: string
          example: 92093-0002
        city:
          type: string
          example: La Jolla
        street:
          type: string
          example: 9500 Gilman Dr
    AddressRequest:
      type: object
      required:
      - country
      - zip
      properties:
        country:
          type: string
          description: Two-letter ISO country code
          example: US
        state:
          type: string
          description: Two-letter state code
          example: CA
        zip:
          type: string
          description: Postal code
          example: '92093'
        city:
          type: string
          description: City name
          example: San Diego
        street:
          type: string
          description: Street address
          example: 9500 Gilman Drive
    Validation:
      type: object
      properties:
        valid:
          type: boolean
          description: Whether the VAT number is valid
          example: true
        exists:
          type: boolean
          description: Whether the VAT number exists in the VIES database
          example: true
        vies_available:
          type: boolean
          description: Whether the VIES service is available
          example: true
        vies_response:
          type: object
          properties:
            vat_number:
              type: string
              example: FR40303265045
            request_date:
              type: string
              example: '2016-02-10'
            valid:
              type: boolean
              example: true
            name:
              type: string
              example: SA SODIMAS
            address:
              type: string
              example: '11 RUE AMPERE

                26600 PONT DE L ISERE'
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type
        detail:
          type: string
          description: Human-readable error detail
        status:
          type: integer
          description: HTTP status code
  responses:
    Unauthorized:
      description: Unauthorized - invalid or missing API token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Use your TaxJar API token. Format: "Bearer [token]" or "Token token=[token]"'