naftiko: 1.0.0-alpha2 info: label: Stripe Tax API — Tax description: 'Stripe Tax API — Tax. 11 operations. Lead operation: Tax. Self-contained Naftiko capability covering one Stripe business surface.' tags: - Stripe - Tax created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STRIPE_API_KEY: STRIPE_API_KEY capability: consumes: - type: http namespace: tax-tax-2 baseUri: https://api.stripe.com description: Stripe Tax API — Tax business capability. Self-contained, no shared references. resources: - name: v1-tax-calculations path: /v1/tax/calculations operations: - name: posttaxcalculations method: POST description:

Calculates tax based on input and returns a Tax Calculation object.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-tax-calculations-calculation-line_items path: /v1/tax/calculations/{calculation}/line_items operations: - name: gettaxcalculationscalculationlineitems method: GET description:

Retrieves the line items of a persisted tax calculation as a collection.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: calculation in: path type: string required: true - name: ending_before in: query type: string description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 ob - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: limit in: query type: integer description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. - name: starting_after in: query type: string description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 o - name: body in: body type: object description: Request body (JSON). required: false - name: v1-tax-registrations path: /v1/tax/registrations operations: - name: gettaxregistrations method: GET description:

Returns a list of Tax Registration objects.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ending_before in: query type: string description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 ob - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: limit in: query type: integer description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. - name: starting_after in: query type: string description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 o - name: status in: query type: string description: The status of the Tax Registration. - name: body in: body type: object description: Request body (JSON). required: false - name: posttaxregistrations method: POST description:

Creates a new Tax Registration object.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-tax-registrations-id path: /v1/tax/registrations/{id} operations: - name: posttaxregistrationsid method: POST description:

Updates an existing Tax Registration object.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-tax-settings path: /v1/tax/settings operations: - name: gettaxsettings method: GET description:

Retrieves Tax Settings for a merchant.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: body in: body type: object description: Request body (JSON). required: false - name: posttaxsettings method: POST description:

Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-tax-transactions-create_from_calculation path: /v1/tax/transactions/create_from_calculation operations: - name: posttaxtransactionscreatefromcalculation method: POST description:

Creates a Tax Transaction from a calculation.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-tax-transactions-create_reversal path: /v1/tax/transactions/create_reversal operations: - name: posttaxtransactionscreatereversal method: POST description:

Partially or fully reverses a previously created Transaction.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-tax-transactions-transaction path: /v1/tax/transactions/{transaction} operations: - name: gettaxtransactionstransaction method: GET description:

Retrieves a Tax Transaction object.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: transaction in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-tax-transactions-transaction-line_items path: /v1/tax/transactions/{transaction}/line_items operations: - name: gettaxtransactionstransactionlineitems method: GET description:

Retrieves the line items of a committed standalone transaction as a collection.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ending_before in: query type: string description: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 ob - name: expand in: query type: array description: Specifies which fields in the response should be expanded. - name: limit in: query type: integer description: A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. - name: starting_after in: query type: string description: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 o - name: transaction in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.STRIPE_API_KEY}}' exposes: - type: rest namespace: tax-tax-2-rest port: 8080 description: REST adapter for Stripe Tax API — Tax. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/tax/calculations name: v1-tax-calculations description: REST surface for v1-tax-calculations. operations: - method: POST name: posttaxcalculations description:

Calculates tax based on input and returns a Tax Calculation object.

call: tax-tax-2.posttaxcalculations with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/calculations/{calculation}/line-items name: v1-tax-calculations-calculation-line-items description: REST surface for v1-tax-calculations-calculation-line_items. operations: - method: GET name: gettaxcalculationscalculationlineitems description:

Retrieves the line items of a persisted tax calculation as a collection.

call: tax-tax-2.gettaxcalculationscalculationlineitems with: calculation: rest.calculation ending_before: rest.ending_before expand: rest.expand limit: rest.limit starting_after: rest.starting_after body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/registrations name: v1-tax-registrations description: REST surface for v1-tax-registrations. operations: - method: GET name: gettaxregistrations description:

Returns a list of Tax Registration objects.

call: tax-tax-2.gettaxregistrations with: ending_before: rest.ending_before expand: rest.expand limit: rest.limit starting_after: rest.starting_after status: rest.status body: rest.body outputParameters: - type: object mapping: $. - method: POST name: posttaxregistrations description:

Creates a new Tax Registration object.

call: tax-tax-2.posttaxregistrations with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/registrations/{id} name: v1-tax-registrations-id description: REST surface for v1-tax-registrations-id. operations: - method: POST name: posttaxregistrationsid description:

Updates an existing Tax Registration object.

call: tax-tax-2.posttaxregistrationsid with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/settings name: v1-tax-settings description: REST surface for v1-tax-settings. operations: - method: GET name: gettaxsettings description:

Retrieves Tax Settings for a merchant.

call: tax-tax-2.gettaxsettings with: expand: rest.expand body: rest.body outputParameters: - type: object mapping: $. - method: POST name: posttaxsettings description:

Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.

call: tax-tax-2.posttaxsettings with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/transactions/create-from-calculation name: v1-tax-transactions-create-from-calculation description: REST surface for v1-tax-transactions-create_from_calculation. operations: - method: POST name: posttaxtransactionscreatefromcalculation description:

Creates a Tax Transaction from a calculation.

call: tax-tax-2.posttaxtransactionscreatefromcalculation with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/transactions/create-reversal name: v1-tax-transactions-create-reversal description: REST surface for v1-tax-transactions-create_reversal. operations: - method: POST name: posttaxtransactionscreatereversal description:

Partially or fully reverses a previously created Transaction.

call: tax-tax-2.posttaxtransactionscreatereversal with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/transactions/{transaction} name: v1-tax-transactions-transaction description: REST surface for v1-tax-transactions-transaction. operations: - method: GET name: gettaxtransactionstransaction description:

Retrieves a Tax Transaction object.

call: tax-tax-2.gettaxtransactionstransaction with: expand: rest.expand transaction: rest.transaction body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/tax/transactions/{transaction}/line-items name: v1-tax-transactions-transaction-line-items description: REST surface for v1-tax-transactions-transaction-line_items. operations: - method: GET name: gettaxtransactionstransactionlineitems description:

Retrieves the line items of a committed standalone transaction as a collection.

call: tax-tax-2.gettaxtransactionstransactionlineitems with: ending_before: rest.ending_before expand: rest.expand limit: rest.limit starting_after: rest.starting_after transaction: rest.transaction body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: tax-tax-2-mcp port: 9090 transport: http description: MCP adapter for Stripe Tax API — Tax. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: p-calculates-tax-based-input-and description:

Calculates tax based on input and returns a Tax Calculation object.

hints: readOnly: false destructive: false idempotent: false call: tax-tax-2.posttaxcalculations with: body: tools.body outputParameters: - type: object mapping: $. - name: p-retrieves-line-items-persisted-tax description:

Retrieves the line items of a persisted tax calculation as a collection.

hints: readOnly: true destructive: false idempotent: true call: tax-tax-2.gettaxcalculationscalculationlineitems with: calculation: tools.calculation ending_before: tools.ending_before expand: tools.expand limit: tools.limit starting_after: tools.starting_after body: tools.body outputParameters: - type: object mapping: $. - name: p-returns-list-tax-code-registration-code description:

Returns a list of Tax Registration objects.

hints: readOnly: true destructive: false idempotent: true call: tax-tax-2.gettaxregistrations with: ending_before: tools.ending_before expand: tools.expand limit: tools.limit starting_after: tools.starting_after status: tools.status body: tools.body outputParameters: - type: object mapping: $. - name: p-creates-new-tax-code-registration-code description:

Creates a new Tax Registration object.

hints: readOnly: false destructive: false idempotent: false call: tax-tax-2.posttaxregistrations with: body: tools.body outputParameters: - type: object mapping: $. - name: p-updates-existing-tax-code-registration-code description:

Updates an existing Tax Registration object.

hints: readOnly: false destructive: false idempotent: false call: tax-tax-2.posttaxregistrationsid with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: p-retrieves-tax-code-settings-code-merchant description:

Retrieves Tax Settings for a merchant.

hints: readOnly: true destructive: false idempotent: true call: tax-tax-2.gettaxsettings with: expand: tools.expand body: tools.body outputParameters: - type: object mapping: $. - name: p-updates-tax-code-settings-code-parameters description:

Updates Tax Settings parameters used in tax calculations. All parameters are editable but none can be removed once set.

hints: readOnly: false destructive: false idempotent: false call: tax-tax-2.posttaxsettings with: body: tools.body outputParameters: - type: object mapping: $. - name: p-creates-tax-code-transaction-code-calculation description:

Creates a Tax Transaction from a calculation.

hints: readOnly: false destructive: false idempotent: false call: tax-tax-2.posttaxtransactionscreatefromcalculation with: body: tools.body outputParameters: - type: object mapping: $. - name: p-partially-fully-reverses-previously-created description:

Partially or fully reverses a previously created Transaction.

hints: readOnly: false destructive: false idempotent: false call: tax-tax-2.posttaxtransactionscreatereversal with: body: tools.body outputParameters: - type: object mapping: $. - name: p-retrieves-tax-code-transaction-code-object description:

Retrieves a Tax Transaction object.

hints: readOnly: true destructive: false idempotent: true call: tax-tax-2.gettaxtransactionstransaction with: expand: tools.expand transaction: tools.transaction body: tools.body outputParameters: - type: object mapping: $. - name: p-retrieves-line-items-committed-standalone description:

Retrieves the line items of a committed standalone transaction as a collection.

hints: readOnly: true destructive: false idempotent: true call: tax-tax-2.gettaxtransactionstransactionlineitems with: ending_before: tools.ending_before expand: tools.expand limit: tools.limit starting_after: tools.starting_after transaction: tools.transaction body: tools.body outputParameters: - type: object mapping: $.