Avalara Contacts API

Manage company contacts

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-contacts-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 email required.

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

OpenAPI Specification

avalara-contacts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Avalara Contacts API
  version: '1.0'
  description: 'Operations tagged Contacts across 2 of this provider''s published API definitions: avalara-shared-company-service-openapi.yml, avatax-apis-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.avalara.com/shared/v1
  description: Shared Company Service Production
- url: http://{{baseurl}}
tags:
- name: Contacts
  description: Manage company contacts
paths:
  /companies/{companyId}/contacts:
    servers:
    - url: https://api.avalara.com/shared/v1
      description: Shared Company Service Production
    get:
      operationId: listContacts
      summary: Avalara List Contacts for a Company
      tags:
      - Contacts
      parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of contacts
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SharedContact'
      security:
      - bearerAuth: []
    post:
      operationId: createContact
      summary: Avalara Create a Contact
      tags:
      - Contacts
      parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SharedContact'
      responses:
        '201':
          description: Contact created
      security:
      - bearerAuth: []
  /api/v2/companies/{companyId}/contacts:
    servers:
    - url: http://{{baseurl}}
    post:
      tags:
      - Contacts
      summary: Avalara CreateContacts
      description: 'Create one or more new contact objects.

        A ''contact'' is a person associated with a company who is designated to handle certain responsibilities of

        a tax collecting and filing entity.


        ### Security Policies


        * This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                id: 56789
                companyId: 12345
                contactCode: TestContactbdbc28ddc6a64e
                firstName: Bob
                lastName: McExample
                title: Owner
                line1: 2000 Main Street
                city: Irvine
                region: CA
                postalCode: '92614'
                country: US
                email: bob@example.org
                phone: 714 555-1212
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
        example: AvaTax Postman Collection
      - name: companyId
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
      - basicAuth: []
    get:
      tags:
      - Contacts
      summary: Avalara ListContactsByCompany
      description: "List all contact objects assigned to this company.\n            \nSearch for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .\nPaginate your results using the `$top`, `$skip`, and `$orderby` parameters.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n"
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
        example: AvaTax Postman Collection
      - name: companyId
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
      - basicAuth: []
  /api/v2/companies/{companyId}/contacts/{id}:
    servers:
    - url: http://{{baseurl}}
    delete:
      tags:
      - Contacts
      summary: Avalara DeleteContact
      description: 'Mark the existing contact object at this URL as deleted.


        ### Security Policies


        * This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.

        '
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
        example: AvaTax Postman Collection
      - name: companyId
        in: path
        schema:
          type: string
        required: true
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
      - basicAuth: []
    get:
      tags:
      - Contacts
      summary: Avalara GetContact
      description: 'Get the contact object identified by this URL.

        A ''contact'' is a person associated with a company who is designated to handle certain responsibilities of

        a tax collecting and filing entity.


        ### Security Policies


        * This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.

        '
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
        example: AvaTax Postman Collection
      - name: companyId
        in: path
        schema:
          type: string
        required: true
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
      - basicAuth: []
    put:
      tags:
      - Contacts
      summary: Avalara UpdateContact
      description: 'Replace the existing contact object at this URL with an updated object.

        A ''contact'' is a person associated with a company who is designated to handle certain responsibilities of

        a tax collecting and filing entity.

        All data from the existing object will be replaced with data in the object you PUT.

        To set a field''s value to null, you may either set its value to null or omit that field from the object you post.


        ### Security Policies


        * This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.

        '
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                id: 56789
                companyId: 12345
                contactCode: TestContactbdbc28ddc6a64e
                firstName: Bob
                lastName: McExample
                title: Owner
                line1: 2000 Main Street
                city: Irvine
                region: CA
                postalCode: '92614'
                country: US
                email: bob@example.org
                phone: 714 555-1212
      parameters:
      - name: Content-Type
        in: header
        schema:
          type: string
        example: application/json
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
        example: AvaTax Postman Collection
      - name: companyId
        in: path
        schema:
          type: string
        required: true
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
      - basicAuth: []
  /api/v2/contacts:
    servers:
    - url: http://{{baseurl}}
    get:
      tags:
      - Contacts
      summary: Avalara QueryContacts
      description: "Get multiple contact objects across all companies.\nA 'contact' is a person associated with a company who is designated to handle certain responsibilities of\na tax collecting and filing entity.\n            \nSearch for specific objects using the criteria in the `$filter` parameter; full documentation is available on [Filtering in REST](http://developer.avalara.com/avatax/filtering-in-rest/) .\nPaginate your results using the `$top`, `$skip`, and `$orderby` parameters.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, FirmAdmin, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n"
      parameters:
      - name: X-Avalara-Client
        in: header
        schema:
          type: string
        description: Identifies the software you are using to call this API. For more information on the client header, see [Client Headers](https://developer.avalara.com/avatax/client-headers/).
        example: AvaTax Postman Collection
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
      security:
      - basicAuth: []
components:
  schemas:
    SharedContact:
      type: object
      properties:
        contactId:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
          format: email
        phone:
          type: string
        title:
          type: string
        isPrimary:
          type: boolean
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    basicAuth:
      type: http
      scheme: basic
externalDocs:
  description: Shared Company Service API Documentation
  url: https://developer.avalara.com/api-reference/sharedservice/sharedCompanyService/
x-refined-from:
- avalara-shared-company-service-openapi.yml
- avatax-apis-openapi.yml