naftiko: 1.0.0-alpha2 info: label: Avalara AvaTax APIs — Certificates description: 'Avalara AvaTax APIs — Certificates. 15 operations. Lead operation: Avalara CreateCertificates. Self-contained Naftiko capability covering one Avalara business surface.' tags: - Avalara - Certificates 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-certificates baseUri: http://{{baseurl}} description: Avalara AvaTax APIs — Certificates business capability. Self-contained, no shared references. resources: - name: api-v2-companies-companyId-certificates path: /api/v2/companies/{companyId}/certificates operations: - name: post method: POST description: Avalara CreateCertificates 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 QueryCertificates 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-certificates-setup path: /api/v2/companies/{companyId}/certificates/setup operations: - name: get method: GET description: Avalara GetCertificateSetup 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: post method: POST description: Avalara RequestCertificateSetup 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: body in: body type: object description: Request body (JSON). required: false - name: api-v2-companies-companyId-certificates-id path: /api/v2/companies/{companyId}/certificates/{id} operations: - name: delete method: DELETE description: Avalara DeleteCertificate 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 GetCertificate 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 UpdateCertificate 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-companyId-certificates-id-attachment path: /api/v2/companies/{companyId}/certificates/{id}/attachment operations: - name: get method: GET description: Avalara DownloadCertificateImage 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: post method: POST description: Avalara UploadCertificateImage 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: body in: body type: object description: Request body (JSON). required: false - name: api-v2-companies-companyId-certificates-id-attributes path: /api/v2/companies/{companyId}/certificates/{id}/attributes operations: - name: get method: GET description: Avalara ListAttributesForCertificate 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: api-v2-companies-companyId-certificates-id-attributes-link path: /api/v2/companies/{companyId}/certificates/{id}/attributes/link operations: - name: post method: POST description: Avalara LinkAttributesToCertificate 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-companyId-certificates-id-attributes-unlink path: /api/v2/companies/{companyId}/certificates/{id}/attributes/unlink operations: - name: post method: POST description: Avalara UnlinkAttributesFromCertificate 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-companyId-certificates-id-customers path: /api/v2/companies/{companyId}/certificates/{id}/customers operations: - name: get method: GET description: Avalara ListCustomersForCertificate 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: api-v2-companies-companyId-certificates-id-customers-link path: /api/v2/companies/{companyId}/certificates/{id}/customers/link operations: - name: post method: POST description: Avalara LinkCustomersToCertificate 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-companyId-certificates-id-customers-unlink path: /api/v2/companies/{companyId}/certificates/{id}/customers/unlink operations: - name: post method: POST description: Avalara UnlinkCustomersFromCertificate 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 authentication: type: basic username: '{{env.AVALARA_USER}}' password: '{{env.AVALARA_PASS}}' exposes: - type: rest namespace: avatax-apis-certificates-rest port: 8080 description: REST adapter for Avalara AvaTax APIs — Certificates. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/companies/{companyid}/certificates name: api-v2-companies-companyid-certificates description: REST surface for api-v2-companies-companyId-certificates. operations: - method: POST name: post description: Avalara CreateCertificates call: avatax-apis-certificates.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 QueryCertificates call: avatax-apis-certificates.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/certificates/setup name: api-v2-companies-companyid-certificates-setup description: REST surface for api-v2-companies-companyId-certificates-setup. operations: - method: GET name: get description: Avalara GetCertificateSetup call: avatax-apis-certificates.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId outputParameters: - type: object mapping: $. - method: POST name: post description: Avalara RequestCertificateSetup call: avatax-apis-certificates.post with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/certificates/{id} name: api-v2-companies-companyid-certificates-id description: REST surface for api-v2-companies-companyId-certificates-id. operations: - method: DELETE name: delete description: Avalara DeleteCertificate call: avatax-apis-certificates.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 GetCertificate call: avatax-apis-certificates.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 UpdateCertificate call: avatax-apis-certificates.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/{companyid}/certificates/{id}/attachment name: api-v2-companies-companyid-certificates-id-attachment description: REST surface for api-v2-companies-companyId-certificates-id-attachment. operations: - method: GET name: get description: Avalara DownloadCertificateImage call: avatax-apis-certificates.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId id: rest.id outputParameters: - type: object mapping: $. - method: POST name: post description: Avalara UploadCertificateImage call: avatax-apis-certificates.post with: 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/{companyid}/certificates/{id}/attributes name: api-v2-companies-companyid-certificates-id-attributes description: REST surface for api-v2-companies-companyId-certificates-id-attributes. operations: - method: GET name: get description: Avalara ListAttributesForCertificate call: avatax-apis-certificates.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/certificates/{id}/attributes/link name: api-v2-companies-companyid-certificates-id-attributes-link description: REST surface for api-v2-companies-companyId-certificates-id-attributes-link. operations: - method: POST name: post description: Avalara LinkAttributesToCertificate call: avatax-apis-certificates.post 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/{companyid}/certificates/{id}/attributes/unlink name: api-v2-companies-companyid-certificates-id-attributes-unlink description: REST surface for api-v2-companies-companyId-certificates-id-attributes-unlink. operations: - method: POST name: post description: Avalara UnlinkAttributesFromCertificate call: avatax-apis-certificates.post 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/{companyid}/certificates/{id}/customers name: api-v2-companies-companyid-certificates-id-customers description: REST surface for api-v2-companies-companyId-certificates-id-customers. operations: - method: GET name: get description: Avalara ListCustomersForCertificate call: avatax-apis-certificates.get with: X-Avalara-Client: rest.X-Avalara-Client companyId: rest.companyId id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/v2/companies/{companyid}/certificates/{id}/customers/link name: api-v2-companies-companyid-certificates-id-customers-link description: REST surface for api-v2-companies-companyId-certificates-id-customers-link. operations: - method: POST name: post description: Avalara LinkCustomersToCertificate call: avatax-apis-certificates.post 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/{companyid}/certificates/{id}/customers/unlink name: api-v2-companies-companyid-certificates-id-customers-unlink description: REST surface for api-v2-companies-companyId-certificates-id-customers-unlink. operations: - method: POST name: post description: Avalara UnlinkCustomersFromCertificate call: avatax-apis-certificates.post 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: $. - type: mcp namespace: avatax-apis-certificates-mcp port: 9090 transport: http description: MCP adapter for Avalara AvaTax APIs — Certificates. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: avalara-createcertificates description: Avalara CreateCertificates hints: readOnly: false destructive: false idempotent: false call: avatax-apis-certificates.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-querycertificates description: Avalara QueryCertificates hints: readOnly: true destructive: false idempotent: true call: avatax-apis-certificates.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId outputParameters: - type: object mapping: $. - name: avalara-getcertificatesetup description: Avalara GetCertificateSetup hints: readOnly: true destructive: false idempotent: true call: avatax-apis-certificates.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId outputParameters: - type: object mapping: $. - name: avalara-requestcertificatesetup description: Avalara RequestCertificateSetup hints: readOnly: false destructive: false idempotent: false call: avatax-apis-certificates.post with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId body: tools.body outputParameters: - type: object mapping: $. - name: avalara-deletecertificate description: Avalara DeleteCertificate hints: readOnly: false destructive: true idempotent: true call: avatax-apis-certificates.delete with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id outputParameters: - type: object mapping: $. - name: avalara-getcertificate description: Avalara GetCertificate hints: readOnly: true destructive: false idempotent: true call: avatax-apis-certificates.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id outputParameters: - type: object mapping: $. - name: avalara-updatecertificate description: Avalara UpdateCertificate hints: readOnly: false destructive: false idempotent: true call: avatax-apis-certificates.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-downloadcertificateimage description: Avalara DownloadCertificateImage hints: readOnly: true destructive: false idempotent: true call: avatax-apis-certificates.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id outputParameters: - type: object mapping: $. - name: avalara-uploadcertificateimage description: Avalara UploadCertificateImage hints: readOnly: false destructive: false idempotent: false call: avatax-apis-certificates.post with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: avalara-listattributesforcertificate description: Avalara ListAttributesForCertificate hints: readOnly: true destructive: false idempotent: true call: avatax-apis-certificates.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id outputParameters: - type: object mapping: $. - name: avalara-linkattributestocertificate description: Avalara LinkAttributesToCertificate hints: readOnly: false destructive: false idempotent: false call: avatax-apis-certificates.post 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-unlinkattributesfromcertificate description: Avalara UnlinkAttributesFromCertificate hints: readOnly: false destructive: false idempotent: false call: avatax-apis-certificates.post 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-listcustomersforcertificate description: Avalara ListCustomersForCertificate hints: readOnly: true destructive: false idempotent: true call: avatax-apis-certificates.get with: X-Avalara-Client: tools.X-Avalara-Client companyId: tools.companyId id: tools.id outputParameters: - type: object mapping: $. - name: avalara-linkcustomerstocertificate description: Avalara LinkCustomersToCertificate hints: readOnly: false destructive: false idempotent: false call: avatax-apis-certificates.post 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-unlinkcustomersfromcertificate description: Avalara UnlinkCustomersFromCertificate hints: readOnly: false destructive: false idempotent: false call: avatax-apis-certificates.post 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: $.