Avalara Documents API

Submit and manage e-invoice documents

Business capability
Tax Reporting & Compliance BC-220.40

Operations 4

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /documents Submit an e-invoice document · Avalara Submit an E-invoice Document #
Ask an LLM
“How do I send an electronic invoice to the tax authority?”
“Which data formats can an e-invoice document be submitted in?”
Tell an agent
Submit e-invoice {data} in format {dataFormat}.
Send this {dataFormat} version {dataFormatVersion} invoice {data} with metadata {metadata}.
GET /documents List submitted e-invoice documents · Avalara List Submitted Documents #
Ask an LLM
“Which e-invoices did I submit last month?”
“Can I filter submitted e-invoice documents by status or inbound versus outbound flow?”
Tell an agent
List e-invoice documents submitted between {startDate} and {endDate}.
Show {flow} documents with status {status}.
GET /documents/{documentId} Retrieve a submitted e-invoice document · Avalara Retrieve a Document by ID #
Ask an LLM
“Can I see the full details of an e-invoice I submitted?”
“Where can I retrieve a submitted document record by its ID?”
Tell an agent
Retrieve e-invoice document {documentId}.
Show all details of submitted document {documentId}.
GET /documents/{documentId}/status Check an e-invoice processing status · Avalara Get Document Processing Status #
Ask an LLM
“Was my e-invoice accepted or is it still processing?”
“Can I check just the current processing status of a document?”
Tell an agent
Get the processing status of document {documentId}.
Check whether document {documentId} has been delivered yet.

Documentation

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/avalara:avalara-documents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

avalara-documents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Avalara E-Invoicing REST Documents API
  description: The Avalara E-Invoicing REST API supports electronic invoicing compliance workflows for cross-border and domestic transactions. It enables submission, validation, and management of e-invoices in compliance with mandates from tax authorities worldwide, supporting formats like UBL, Peppol, and country-specific standards.
  version: '1.0'
  contact:
    name: Avalara Developer Relations
    url: https://developer.avalara.com/
    email: developer.relations@avalara.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  termsOfService: https://legal.avalara.com/#siteterms
servers:
- url: https://api.avalara.com/einvoicing/v1
  description: E-Invoicing API Production
- url: https://api.sbx.avalara.com/einvoicing/v1
  description: E-Invoicing API Sandbox
security:
- bearerAuth: []
tags:
- name: Documents
  description: Submit and manage e-invoice documents
paths:
  /documents:
    post:
      operationId: submitDocument
      summary: Avalara Submit an E-invoice Document
      description: Submits an electronic invoice document for validation and delivery to the appropriate tax authority or recipient network.
      tags:
      - Documents
      parameters:
      - name: avalara-version
        in: header
        required: true
        schema:
          type: string
          default: '1.0'
        description: API version header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitDocumentRequest'
      responses:
        '202':
          description: Document accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentSubmissionResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
    get:
      operationId: listDocuments
      summary: Avalara List Submitted Documents
      description: Retrieves a list of submitted e-invoice documents with filtering.
      tags:
      - Documents
      parameters:
      - name: avalara-version
        in: header
        required: true
        schema:
          type: string
          default: '1.0'
      - name: status
        in: query
        schema:
          type: string
          enum:
          - Pending
          - Accepted
          - Rejected
          - Error
      - name: startDate
        in: query
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        schema:
          type: string
          format: date
      - name: flow
        in: query
        schema:
          type: string
          enum:
          - out
          - in
        description: Document flow direction (outbound or inbound)
      - name: count
        in: query
        schema:
          type: boolean
        description: Include total count in response
      - name: $top
        in: query
        schema:
          type: integer
          default: 50
      - name: $skip
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: List of documents
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentList'
  /documents/{documentId}:
    get:
      operationId: getDocument
      summary: Avalara Retrieve a Document by ID
      description: Retrieves the status and details of a submitted e-invoice document.
      tags:
      - Documents
      parameters:
      - name: avalara-version
        in: header
        required: true
        schema:
          type: string
          default: '1.0'
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Document details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentDetail'
        '404':
          $ref: '#/components/responses/NotFound'
  /documents/{documentId}/status:
    get:
      operationId: getDocumentStatus
      summary: Avalara Get Document Processing Status
      description: Returns the current processing status of a submitted document.
      tags:
      - Documents
      parameters:
      - name: avalara-version
        in: header
        required: true
        schema:
          type: string
          default: '1.0'
      - name: documentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Document status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentStatus'
components:
  schemas:
    Party:
      type: object
      properties:
        name:
          type: string
        identifier:
          type: string
          description: Tax identification number
        identifierScheme:
          type: string
          description: Identifier scheme (e.g., VAT)
        address:
          type: object
          properties:
            line1:
              type: string
            city:
              type: string
            region:
              type: string
            postalCode:
              type: string
            countryCode:
              type: string
    DocumentSummary:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        documentType:
          type: string
        invoiceNumber:
          type: string
        senderName:
          type: string
        recipientName:
          type: string
        submissionDate:
          type: string
          format: date-time
        countryCode:
          type: string
    SubmitDocumentRequest:
      type: object
      required:
      - dataFormat
      - data
      properties:
        dataFormat:
          type: string
          enum:
          - ubl-invoice
          - ubl-creditnote
          - cii
          description: Format of the e-invoice document
        dataFormatVersion:
          type: string
          description: Version of the data format
        data:
          type: string
          description: Base64-encoded document content or raw UBL/CII XML
        metadata:
          type: object
          properties:
            workflowId:
              type: string
              description: Workflow identifier for the mandate
            countryCode:
              type: string
              description: ISO 3166-1 alpha-2 country code
            countryMandate:
              type: string
              description: Country mandate identifier
    DocumentEvent:
      type: object
      properties:
        eventDate:
          type: string
          format: date-time
        eventType:
          type: string
        message:
          type: string
    DocumentStatus:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
          enum:
          - Pending
          - Accepted
          - Rejected
          - Error
        statusDate:
          type: string
          format: date-time
        events:
          type: array
          items:
            $ref: '#/components/schemas/DocumentEvent'
    DocumentDetail:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        dataFormat:
          type: string
        documentType:
          type: string
        invoiceNumber:
          type: string
        invoiceDate:
          type: string
          format: date
        sender:
          $ref: '#/components/schemas/Party'
        recipient:
          $ref: '#/components/schemas/Party'
        totalAmount:
          type: number
          format: double
        currencyCode:
          type: string
        countryCode:
          type: string
        submissionDate:
          type: string
          format: date-time
        events:
          type: array
          items:
            $ref: '#/components/schemas/DocumentEvent'
    DocumentList:
      type: object
      properties:
        '@recordSetCount':
          type: integer
        value:
          type: array
          items:
            $ref: '#/components/schemas/DocumentSummary'
    DocumentSubmissionResponse:
      type: object
      properties:
        id:
          type: string
          description: Document submission ID
        status:
          type: string
          enum:
          - Pending
          - Accepted
          - Rejected
          - Error
        statusDate:
          type: string
          format: date-time
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            target:
              type: string
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token
externalDocs:
  description: E-Invoicing API Documentation
  url: https://developer.avalara.com/api-reference/e-invoicing/v1.0