naftiko: 1.0.0-alpha2 info: label: Avalara AvaTax APIs — Companies description: 'Avalara AvaTax APIs — Companies. 22 operations. Lead operation: Avalara CreateCompanies. Self-contained Naftiko capability covering one Avalara business surface.' tags: - Avalara - Companies created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AVALARA_API_KEY: AVALARA_API_KEY capability: consumes: - type: http namespace: avatax-apis-companies baseUri: http://{{baseurl}} description: Avalara AvaTax APIs — Companies business capability. Self-contained, no shared references. resources: - name: api-v2-companies path: /api/v2/companies operations: - name: post method: POST description: Avalara CreateCompanies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: body in: body type: object description: Request body (JSON). required: false - name: get method: GET description: Avalara QueryCompanies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: api-v2-companies-initialize path: /api/v2/companies/initialize operations: - name: post method: POST description: Avalara CompanyInitialize outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: body in: body type: object description: Request body (JSON). required: false - name: api-v2-companies-mrs path: /api/v2/companies/mrs operations: - name: get method: GET description: Avalara ListMrsCompanies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: api-v2-companies-companyId-funding-configuration path: /api/v2/companies/{companyId}/funding/configuration operations: - name: get method: GET description: Avalara FundingConfigurationByCompany outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: companyId in: path type: string required: true - name: api-v2-companies-companyId-funding-configurations path: /api/v2/companies/{companyId}/funding/configurations operations: - name: get method: GET description: Avalara FundingConfigurationsByCompanyAndCurrency outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: companyId in: path type: string required: true - name: api-v2-companies-companyId-parameters path: /api/v2/companies/{companyId}/parameters operations: - name: post method: POST description: Avalara CreateCompanyParameters outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: companyId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: get method: GET description: Avalara ListCompanyParameterDetails outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: companyId in: path type: string required: true - name: api-v2-companies-companyId-parameters-id path: /api/v2/companies/{companyId}/parameters/{id} operations: - name: delete method: DELETE description: Avalara DeleteCompanyParameter outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: companyId in: path type: string required: true - name: id in: path type: string required: true - name: get method: GET description: Avalara GetCompanyParameterDetail outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: companyId in: path type: string required: true - name: id in: path type: string required: true - name: put method: PUT description: Avalara UpdateCompanyParameterDetail outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: companyId in: path type: string required: true - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-v2-companies-id path: /api/v2/companies/{id} operations: - name: delete method: DELETE description: Avalara DeleteCompany outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: get method: GET description: Avalara GetCompany outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: put method: PUT description: Avalara UpdateCompany outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-v2-companies-id-certify path: /api/v2/companies/{id}/certify operations: - name: get method: GET description: Avalara CertifyIntegration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: api-v2-companies-id-configuration path: /api/v2/companies/{id}/configuration operations: - name: get method: GET description: Avalara GetCompanyConfiguration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: post method: POST description: Avalara SetCompanyConfiguration outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-v2-companies-id-filingstatus path: /api/v2/companies/{id}/filingstatus operations: - name: post method: POST description: Avalara ChangeFilingStatus outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: get method: GET description: Avalara GetFilingStatus outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: api-v2-companies-id-funding path: /api/v2/companies/{id}/funding operations: - name: get method: GET description: Avalara ListFundingRequestsByCompany outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: api-v2-companies-id-funding-setup path: /api/v2/companies/{id}/funding/setup operations: - name: post method: POST description: Avalara CreateFundingRequest outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Content-Type in: header type: string - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-v2-companies-id-paymentdetails-periodyear-periodmonth path: /api/v2/companies/{id}/paymentdetails/{periodyear}/{periodmonth} operations: - name: get method: GET description: Avalara ListACHEntryDetailsForCompany outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Avalara-Client in: header 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/cli - name: id in: path type: string required: true - name: periodyear in: path type: string required: true - name: periodmonth in: path type: string required: true authentication: type: basic username: '{{env.AVALARA_USER}}' password: '{{env.AVALARA_PASS}}' exposes: - type: rest namespace: avatax-apis-companies-rest port: 8080 description: REST adapter for Avalara AvaTax APIs — Companies. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/companies name: api-v2-companies description: REST surface for api-v2-companies. operations: - method: POST name: post description: Avalara CreateCompanies call: avatax-apis-companies.post with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: Avalara QueryCompanies call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/initialize name: api-v2-companies-initialize description: REST surface for api-v2-companies-initialize. operations: - method: POST name: post description: Avalara CompanyInitialize call: avatax-apis-companies.post with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/mrs name: api-v2-companies-mrs description: REST surface for api-v2-companies-mrs. operations: - method: GET name: get description: Avalara ListMrsCompanies call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/funding/configuration name: api-v2-companies-companyid-funding-configuration description: REST surface for api-v2-companies-companyId-funding-configuration. operations: - method: GET name: get description: Avalara FundingConfigurationByCompany call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/funding/configurations name: api-v2-companies-companyid-funding-configurations description: REST surface for api-v2-companies-companyId-funding-configurations. operations: - method: GET name: get description: Avalara FundingConfigurationsByCompanyAndCurrency call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/parameters name: api-v2-companies-companyid-parameters description: REST surface for api-v2-companies-companyId-parameters. operations: - method: POST name: post description: Avalara CreateCompanyParameters call: avatax-apis-companies.post with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: Avalara ListCompanyParameterDetails call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/parameters/{id} name: api-v2-companies-companyid-parameters-id description: REST surface for api-v2-companies-companyId-parameters-id. operations: - method: DELETE name: delete description: Avalara DeleteCompanyParameter call: avatax-apis-companies.delete with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId id: rest.id outputParameters: - type: object mapping: $. - method: GET name: get description: Avalara GetCompanyParameterDetail call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: put description: Avalara UpdateCompanyParameterDetail call: avatax-apis-companies.put with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{id} name: api-v2-companies-id description: REST surface for api-v2-companies-id. operations: - method: DELETE name: delete description: Avalara DeleteCompany call: avatax-apis-companies.delete with: X-Avalara-Client: rest.X-Avalara-Client id: rest.id outputParameters: - type: object mapping: $. - method: GET name: get description: Avalara GetCompany call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: put description: Avalara UpdateCompany call: avatax-apis-companies.put with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{id}/certify name: api-v2-companies-id-certify description: REST surface for api-v2-companies-id-certify. operations: - method: GET name: get description: Avalara CertifyIntegration call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{id}/configuration name: api-v2-companies-id-configuration description: REST surface for api-v2-companies-id-configuration. operations: - method: GET name: get description: Avalara GetCompanyConfiguration call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client id: rest.id outputParameters: - type: object mapping: $. - method: POST name: post description: Avalara SetCompanyConfiguration call: avatax-apis-companies.post with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{id}/filingstatus name: api-v2-companies-id-filingstatus description: REST surface for api-v2-companies-id-filingstatus. operations: - method: POST name: post description: Avalara ChangeFilingStatus call: avatax-apis-companies.post with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: get description: Avalara GetFilingStatus call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{id}/funding name: api-v2-companies-id-funding description: REST surface for api-v2-companies-id-funding. operations: - method: GET name: get description: Avalara ListFundingRequestsByCompany call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{id}/funding/setup name: api-v2-companies-id-funding-setup description: REST surface for api-v2-companies-id-funding-setup. operations: - method: POST name: post description: Avalara CreateFundingRequest call: avatax-apis-companies.post with: Content-Type: rest.Content-Type X-Avalara-Client: rest.X-Avalara-Client id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{id}/paymentdetails/{periodyear}/{periodmonth} name: api-v2-companies-id-paymentdetails-periodyear-periodmonth description: REST surface for api-v2-companies-id-paymentdetails-periodyear-periodmonth. operations: - method: GET name: get description: Avalara ListACHEntryDetailsForCompany call: avatax-apis-companies.get with: X-Avalara-Client: rest.X-Avalara-Client id: rest.id periodyear: rest.periodyear periodmonth: rest.periodmonth outputParameters: - type: object mapping: $. - type: mcp namespace: avatax-apis-companies-mcp port: 9090 transport: http description: MCP adapter for Avalara AvaTax APIs — Companies. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: avalara-createcompanies description: Avalara CreateCompanies hints: readOnly: false destructive: false idempotent: false call: avatax-apis-companies.post with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client body: tools.body outputParameters: - type: object mapping: $. - name: avalara-querycompanies description: Avalara QueryCompanies hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client outputParameters: - type: object mapping: $. - name: avalara-companyinitialize description: Avalara CompanyInitialize hints: readOnly: false destructive: false idempotent: false call: avatax-apis-companies.post with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client body: tools.body outputParameters: - type: object mapping: $. - name: avalara-listmrscompanies description: Avalara ListMrsCompanies hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client outputParameters: - type: object mapping: $. - name: avalara-fundingconfigurationbycompany description: Avalara FundingConfigurationByCompany hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId outputParameters: - type: object mapping: $. - name: avalara-fundingconfigurationsbycompanyandcurrency description: Avalara FundingConfigurationsByCompanyAndCurrency hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId outputParameters: - type: object mapping: $. - name: avalara-createcompanyparameters description: Avalara CreateCompanyParameters hints: readOnly: false destructive: false idempotent: false call: avatax-apis-companies.post with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId body: tools.body outputParameters: - type: object mapping: $. - name: avalara-listcompanyparameterdetails description: Avalara ListCompanyParameterDetails hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId outputParameters: - type: object mapping: $. - name: avalara-deletecompanyparameter description: Avalara DeleteCompanyParameter hints: readOnly: false destructive: true idempotent: true call: avatax-apis-companies.delete with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id outputParameters: - type: object mapping: $. - name: avalara-getcompanyparameterdetail description: Avalara GetCompanyParameterDetail hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id outputParameters: - type: object mapping: $. - name: avalara-updatecompanyparameterdetail description: Avalara UpdateCompanyParameterDetail hints: readOnly: false destructive: false idempotent: true call: avatax-apis-companies.put with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: avalara-deletecompany description: Avalara DeleteCompany hints: readOnly: false destructive: true idempotent: true call: avatax-apis-companies.delete with: X-Avalara-Client: tools.X-Avalara-Client id: tools.id outputParameters: - type: object mapping: $. - name: avalara-getcompany description: Avalara GetCompany hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client id: tools.id outputParameters: - type: object mapping: $. - name: avalara-updatecompany description: Avalara UpdateCompany hints: readOnly: false destructive: false idempotent: true call: avatax-apis-companies.put with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: avalara-certifyintegration description: Avalara CertifyIntegration hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client id: tools.id outputParameters: - type: object mapping: $. - name: avalara-getcompanyconfiguration description: Avalara GetCompanyConfiguration hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client id: tools.id outputParameters: - type: object mapping: $. - name: avalara-setcompanyconfiguration description: Avalara SetCompanyConfiguration hints: readOnly: false destructive: false idempotent: false call: avatax-apis-companies.post with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: avalara-changefilingstatus description: Avalara ChangeFilingStatus hints: readOnly: false destructive: false idempotent: false call: avatax-apis-companies.post with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: avalara-getfilingstatus description: Avalara GetFilingStatus hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client id: tools.id outputParameters: - type: object mapping: $. - name: avalara-listfundingrequestsbycompany description: Avalara ListFundingRequestsByCompany hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client id: tools.id outputParameters: - type: object mapping: $. - name: avalara-createfundingrequest description: Avalara CreateFundingRequest hints: readOnly: false destructive: false idempotent: false call: avatax-apis-companies.post with: Content-Type: tools.Content-Type X-Avalara-Client: tools.X-Avalara-Client id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: avalara-listachentrydetailsforcompany description: Avalara ListACHEntryDetailsForCompany hints: readOnly: true destructive: false idempotent: true call: avatax-apis-companies.get with: X-Avalara-Client: tools.X-Avalara-Client id: tools.id periodyear: tools.periodyear periodmonth: tools.periodmonth outputParameters: - type: object mapping: $.