Avalara Contacts API

Manage company contacts

Documentation

Specifications

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