naftiko: 1.0.0-alpha2 info: label: Avalara Communications Tax API — Customization description: 'Avalara Communications Tax API — Customization. 4 operations. Lead operation: Avalara List Tax Exclusions. Self-contained Naftiko capability covering one Avalara business surface.' tags: - Avalara - Customization created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AVALARA_API_KEY: AVALARA_API_KEY capability: consumes: - type: http namespace: communications-customization baseUri: https://communicationsua.avalara.net description: Avalara Communications Tax API — Customization business capability. Self-contained, no shared references. resources: - name: api-v2-afc-customization-exclusions path: /api/v2/afc/customization/exclusions operations: - name: getexclusions method: GET description: Avalara List Tax Exclusions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createexclusion method: POST description: Avalara Create a Tax Exclusion outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-afc-customization-profiles path: /api/v2/afc/customization/profiles operations: - name: getprofiles method: GET description: Avalara List Tax Profiles outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createprofile method: POST description: Avalara Create a Tax Profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: basic username: '{{env.AVALARA_USER}}' password: '{{env.AVALARA_PASS}}' exposes: - type: rest namespace: communications-customization-rest port: 8080 description: REST adapter for Avalara Communications Tax API — Customization. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/afc/customization/exclusions name: api-v2-afc-customization-exclusions description: REST surface for api-v2-afc-customization-exclusions. operations: - method: GET name: getexclusions description: Avalara List Tax Exclusions call: communications-customization.getexclusions outputParameters: - type: object mapping: $. - method: POST name: createexclusion description: Avalara Create a Tax Exclusion call: communications-customization.createexclusion with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/afc/customization/profiles name: api-v2-afc-customization-profiles description: REST surface for api-v2-afc-customization-profiles. operations: - method: GET name: getprofiles description: Avalara List Tax Profiles call: communications-customization.getprofiles outputParameters: - type: object mapping: $. - method: POST name: createprofile description: Avalara Create a Tax Profile call: communications-customization.createprofile with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: communications-customization-mcp port: 9090 transport: http description: MCP adapter for Avalara Communications Tax API — Customization. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: avalara-list-tax-exclusions description: Avalara List Tax Exclusions hints: readOnly: true destructive: false idempotent: true call: communications-customization.getexclusions outputParameters: - type: object mapping: $. - name: avalara-create-tax-exclusion description: Avalara Create a Tax Exclusion hints: readOnly: false destructive: false idempotent: false call: communications-customization.createexclusion with: body: tools.body outputParameters: - type: object mapping: $. - name: avalara-list-tax-profiles description: Avalara List Tax Profiles hints: readOnly: true destructive: false idempotent: true call: communications-customization.getprofiles outputParameters: - type: object mapping: $. - name: avalara-create-tax-profile description: Avalara Create a Tax Profile hints: readOnly: false destructive: false idempotent: false call: communications-customization.createprofile with: body: tools.body outputParameters: - type: object mapping: $.