Avalara Companies API

Manage payer company records

Documentation

Specifications

OpenAPI Specification

avalara-companies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Avalara 1099 & W-9 1099 Forms Companies API
  description: The Avalara 1099 and W-9 API automates collection, validation, and e-filing of IRS forms including 1099 variants (1099-NEC, 1099-MISC, 1099-K, 1099-INT, 1099-DIV), 1095 forms, W-2, and 1042-S. It provides endpoints for creating, updating, managing, and filing various IRS information returns.
  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/1099/v1
  description: 1099 API Production
- url: https://api.sbx.avalara.com/1099/v1
  description: 1099 API Sandbox
security:
- bearerAuth: []
tags:
- name: Companies
  description: Manage payer company records
paths:
  /companies:
    get:
      operationId: listPayerCompanies
      summary: Avalara List Payer Companies
      tags:
      - Companies
      responses:
        '200':
          description: List of payer companies
    post:
      operationId: createPayerCompany
      summary: Avalara Create a Payer Company
      tags:
      - Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayerCompany'
      responses:
        '201':
          description: Company created
  /api/v2/companies:
    get:
      operationId: queryCompanies
      summary: Avalara List All Companies
      description: Retrieves a list of companies associated with the authenticated account, with support for filtering, sorting, and pagination.
      tags:
      - Companies
      parameters:
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/orderBy'
      responses:
        '200':
          description: List of companies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FetchResult_CompanyModel'
    post:
      operationId: createCompany
      summary: Avalara Create a New Company
      description: Creates a new company within the authenticated account. A company represents a legal entity that can calculate and report taxes.
      tags:
      - Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyModel'
      responses:
        '201':
          description: Company created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyModel'
  /api/v2/companies/{id}:
    get:
      operationId: getCompany
      summary: Avalara Retrieve a Company by ID
      tags:
      - Companies
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      - name: $include
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Company details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyModel'
    put:
      operationId: updateCompany
      summary: Avalara Update a Company
      tags:
      - Companies
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyModel'
      responses:
        '200':
          description: Company updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyModel'
    delete:
      operationId: deleteCompany
      summary: Avalara Delete a Company
      tags:
      - Companies
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Company deleted
  /api/v2/companies/initialize:
    post:
      operationId: initializeCompany
      summary: Avalara Initialize a New Company with Recommended Defaults
      description: Creates a new company with all recommended default settings, nexus, and tax configurations for the specified jurisdictions.
      tags:
      - Companies
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyInitializationModel'
      responses:
        '200':
          description: Company initialized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyModel'
  /companies/{companyId}:
    get:
      operationId: getCompany
      summary: Avalara Get a Company by ID
      tags:
      - Companies
      parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Company details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SharedCompany'
    put:
      operationId: updateCompany
      summary: Avalara Update a Company Record
      tags:
      - Companies
      parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SharedCompany'
      responses:
        '200':
          description: Company updated
    delete:
      operationId: deleteCompany
      summary: Avalara Delete a Company Record
      tags:
      - Companies
      parameters:
      - name: companyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Company deleted
  /api/v2/companies/{id}/certify:
    get:
      tags:
      - Companies
      summary: Avalara CertifyIntegration
      description: "Examines the most recent 100 transactions or data from the last month when verifying transaction-related integrations.\r\nFor partners who write integrations against AvaTax for many clients, this API is a way to do a quick self testing to verify whether the\r\nwritten integrations for a company are sufficient enough to be delivered to the respective customers to start using it.\r\n            \r\nThis API provides messages specific enough (through predefined checks) to guide the partner on what integrations are still missing from the company to get fully certified.\r\nThe API makes the following checks to conclude if the company is NOT fully certified:\r\n1. Any past month items contains generic tax code of P0000000.\r\n2. All the companies on the requesting account are test companies.\r\n3. No Voided/Cancelled documents in the past 30 days.\r\n4. There are less than 2 committed documents.\r\n5. Any documentCode is a generic GUID string.\r\n6. Any customerCode on document is a generic GUID string.\r\n7. No document has more than 1 documentLine.\r\n8. All of the documents have missing exemptionNo, customerUsageType, taxDateOverride or negative amount.\r\n9. Any document quantity is a negative number.\r\n10. Any document have repeated lines.\r\n11. No document has shipping charge.\r\n12. All documents have same ItemCodes, descriptions and taxCodes.\r\n13. Less than 2 addresses used across all documents.\r\n14. Whether locationCode was used in documents.\r\n15. Account with AvaGlobal subscription and no documents have VATBuyerId.\r\n16. Any document has currencyCode not being USD for accounts with AvaGlobal subscription.\r\n17. All documents have countryCode used for accounts with AvaGlobal subscription.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, 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: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/companies/{id}/filingstatus:
    post:
      tags:
      - Companies
      summary: Avalara ChangeFilingStatus
      description: "Changes the current filing status of this company.\r\n            \r\nFor customers using Avalara's Managed Returns Service, each company within their account can request\r\nfor Avalara to file tax returns on their behalf.  Avalara compliance team members will review all\r\nrequested filing calendars prior to beginning filing tax returns on behalf of this company.\r\n            \r\nThe following changes may be requested through this API:\r\n            \r\n* If a company is in `NotYetFiling` status, the customer may request this be changed to `FilingRequested`.\r\n* Avalara compliance team members may change a company from `FilingRequested` to `FirstFiling`.\r\n* Avalara compliance team members may change a company from `FirstFiling` to `Active`.\r\n            \r\nAll other status changes must be requested through the Avalara customer support team.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                requestedStatus: FirstFiling
      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: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    get:
      tags:
      - Companies
      summary: Avalara GetFilingStatus
      description: "Retrieve the current filing status of this company.\r\n            \r\nFor customers using Avalara's Managed Returns Service, each company within their account can request\r\nfor Avalara to file tax returns on their behalf.  Avalara compliance team members will review all\r\nrequested filing calendars prior to beginning filing tax returns on behalf of this company.\r\n            \r\nA company's filing status can be one of the following values:\r\n            \r\n* `NoReporting` - This company is not configured to report tax returns; instead, it reports through a parent company.\r\n* `NotYetFiling` - This company has not yet begun filing tax returns through Avalara's Managed Returns Service.\r\n* `FilingRequested` - The company has requested to begin filing tax returns, but Avalara's compliance team has not yet begun filing.\r\n* `FirstFiling` - The company has recently filing tax returns and is in a new status.\r\n* `Active` - The company is currently active and is filing tax returns via Avalara Managed Returns.\r\n* `Inactive` - The company is currently inactive.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, 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: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/companies/{companyId}/parameters:
    post:
      tags:
      - Companies
      summary: Avalara CreateCompanyParameters
      description: "Add parameters to a company.\r\n            \r\nSome companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called \"parameters\".\r\n            \r\nA parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.\r\n            \r\nA company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.\r\n            \r\nTo see available parameters for this company, call `/api/v2/definitions/parameters?$filter=attributeType eq Company`\r\n            \r\nSome parameters are only available for use if you have subscribed to specific AvaTax services. To see which parameters you are able to use, add the query parameter \"$showSubscribed=true\" to the parameter definition call above.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                id: 0
                companyId: 0
                name: IsPrimaryAddress
                value: 'true'
      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: {}
    get:
      tags:
      - Companies
      summary: Avalara ListCompanyParameterDetails
      description: "Retrieve all parameters of a company.\r\n            \r\nSome companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called \"parameters\".\r\n            \r\nA parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.\r\n            \r\nA company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.\r\n            \r\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/) .\r\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, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, 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: {}
  /api/v2/companies/{id}/funding/setup:
    post:
      tags:
      - Companies
      summary: Avalara CreateFundingRequest
      description: "This API is available by invitation only.\r\nCompanies that use the Avalara Managed Returns or the SST Certified Service Provider services are\r\nrequired to setup their funding configuration before Avalara can begin filing tax returns on their\r\nbehalf.\r\nFunding configuration for each company is set up by submitting a funding setup request, which can\r\nbe sent either via email or via an embedded HTML widget.\r\nWhen the funding configuration is submitted to Avalara, it will be reviewed by treasury team members\r\nbefore approval.\r\nThis API records that an ambedded HTML funding setup widget was activated.\r\nThis API requires a subscription to Avalara Managed Returns or SST Certified Service Provider.\n\n### Security Policies\n\n* This API depends on the following active services:*Returns* (at least one of):  Mrs, MRSComplianceManager, AvaTaxCsp.\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                requestEmail: true
                fundingEmailRecipient: user@example.org
      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: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/companies/{companyId}/parameters/{id}:
    delete:
      tags:
      - Companies
      summary: Avalara DeleteCompanyParameter
      description: "Delete a parameter of a company.\r\nSome companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called \"parameters\".\r\n            \r\nA parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.\r\n            \r\nA company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, SSTAdmin, TechnicalSupportAdmin.\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
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    get:
      tags:
      - Companies
      summary: Avalara GetCompanyParameterDetail
      description: "Retrieves a single parameter of a company.\r\n            \r\nSome companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called \"parameters\".\r\n            \r\nA parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.\r\n            \r\nA company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, 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
      - name: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    put:
      tags:
      - Companies
      summary: Avalara UpdateCompanyParameterDetail
      description: "Update a parameter of a company.\r\n            \r\nSome companies can be taxed and reported differently depending on the properties of the company, such as IsPrimaryAddress. In AvaTax, these tax-affecting properties are called \"parameters\".\r\n            \r\nA parameter added to a company will be used by default in tax calculation but will not show on the transaction line referencing the company.\r\n            \r\nA company location parameter specified on a transaction line will override a company parameter if they share the same parameter name.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, FirmAdmin, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                id: 0
                companyId: 0
                name: IsPrimaryAddress
                value: 'true'
      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: {}
  /api/v2/companies/{companyId}/funding/configuration:
    get:
      tags:
      - Companies
      summary: Avalara FundingConfigurationByCompany
      description: "This API is available by invitation only.\r\nRequires a subscription to Avalara Managed Returns or SST Certified Service Provider.\r\nReturns the funding configuration of the requested company.\r\n.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n* This API depends on the following active services:*Returns* (at least one of):  Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm):  ARA, ARAManaged.\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: {}
  /api/v2/companies/{companyId}/funding/configurations:
    get:
      tags:
      - Companies
      summary: Avalara FundingConfigurationsByCompanyAndCurrency
      description: "This API is available by invitation only.\r\nRequires a subscription to Avalara Managed Returns or SST Certified Service Provider.\r\nReturns the funding configuration of the requested company.\r\n.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, Compliance Root User, ComplianceAdmin, ComplianceUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, FirmAdmin, FirmUser, ProStoresOperator, Registrar, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser, TreasuryAdmin, TreasuryUser.\n* This API depends on the following active services:*Returns* (at least one of):  Mrs, MRSComplianceManager, AvaTaxCsp.*Firm Managed* (for accounts managed by a firm):  ARA, ARAManaged.\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: {}
  /api/v2/companies/{id}/configuration:
    get:
      tags:
      - Companies
      summary: Avalara GetCompanyConfiguration
      description: "Retrieve a list of all configuration settings tied to this company.\r\n            \r\nConfiguration settings provide you with the ability to control features of your account and of your\r\ntax software.  The category name `AvaCertServiceConfig` is reserved for\r\nAvalara internal software configuration values; to store your own company-level settings, please\r\ncreate a new category name that begins with `X-`, for example, `X-MyCustomCategory`.\r\n            \r\nCompany settings are permanent settings that cannot be deleted.  You can set the value of a\r\ncompany setting to null if desired and if the particular setting supports it.\r\n            \r\nAvalara-based company settings for `AvaCertServiceConfig` affect your company's exemption certificate\r\nprocessing, and should be changed with care.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, AccountUser, BatchServiceAdmin, CompanyAdmin, CompanyUser, CSPAdmin, CSPTester, ECMAccountUser, ECMCompanyUser, SiteAdmin, SSTAdmin, SystemAdmin, TechnicalSupportAdmin, TechnicalSupportUser.\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: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    post:
      tags:
      - Companies
      summary: Avalara SetCompanyConfiguration
      description: "Update configuration settings tied to this company.\r\n            \r\nConfiguration settings provide you with the ability to control features of your account and of your\r\ntax software.  The category names `AvaCertServiceConfig` is reserved for\r\nAvalara internal software configuration values; to store your own company-level settings, please\r\ncreate a new category name that begins with `X-`, for example, `X-MyCustomCategory`.\r\n            \r\nCompany settings are permanent settings that cannot be deleted.  You can set the value of a\r\ncompany setting to null if desired and if the particular setting supports it.\r\n            \r\nAvalara-based company settings for `AvaCertServiceConfig` affect your company's exemption certificate\r\nprocessing, and should be changed with care.\n\n### Security Policies\n\n* This API requires one of the following user roles: AccountAdmin, BatchServiceAdmin, CompanyAdmin, CSPTester, SSTAdmin, TechnicalSupportAdmin.\n"
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                companyId: 0
                category: AvaCertServiceConfig
                name: AllowPending
                value: 'true'
      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: id
        in: path
        schema:
          type: string
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v2/companies/{id}/paymentdetails/{periodyear}/{periodmonth}:
    get:
      tags:
      - Companies
      summary: Avalara ListACHEntryDetailsForCompany
      description: "This API is available by invitation only.\r\nRequires a subscription to Avalara Managed Returns or SST Certified Service Provider.\r\nReturns

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/avalara/refs/heads/main/openapi/avalara-companies-api-openapi.yml