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: 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