naftiko: 1.0.0-alpha2 info: label: Amberflo Billing API — Customers description: 'Amberflo Billing API — Customers. 5 operations. Lead operation: Amberflo List All Customers. Self-contained Naftiko capability covering one Amberflo business surface.' tags: - Amberflo - Customers created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AMBERFLO_API_KEY: AMBERFLO_API_KEY capability: consumes: - type: http namespace: billing-customers baseUri: https://app.amberflo.io description: Amberflo Billing API — Customers business capability. Self-contained, no shared references. resources: - name: customers path: /customers operations: - name: listcustomers method: GET description: Amberflo List All Customers outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createcustomer method: POST description: Amberflo Create a Customer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: autoCreateCustomerInStripe in: query type: string description: Whether to auto-create the customer in Stripe - name: body in: body type: object description: Request body (JSON). required: true - name: updatecustomer method: PUT description: Amberflo Update a Customer outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: customers-customerId path: /customers/{customerId} operations: - name: getcustomerbyid method: GET description: Amberflo Get Customer by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: customerId in: path type: string description: Unique identifier of the customer required: true - name: deletecustomer method: DELETE description: Amberflo Delete Customer by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: customerId in: path type: string description: Unique identifier of the customer to delete required: true authentication: type: apikey key: X-API-KEY value: '{{env.AMBERFLO_API_KEY}}' placement: header exposes: - type: rest namespace: billing-customers-rest port: 8080 description: REST adapter for Amberflo Billing API — Customers. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/customers name: customers description: REST surface for customers. operations: - method: GET name: listcustomers description: Amberflo List All Customers call: billing-customers.listcustomers outputParameters: - type: object mapping: $. - method: POST name: createcustomer description: Amberflo Create a Customer call: billing-customers.createcustomer with: autoCreateCustomerInStripe: rest.autoCreateCustomerInStripe body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: updatecustomer description: Amberflo Update a Customer call: billing-customers.updatecustomer with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/customers/{customerid} name: customers-customerid description: REST surface for customers-customerId. operations: - method: GET name: getcustomerbyid description: Amberflo Get Customer by ID call: billing-customers.getcustomerbyid with: customerId: rest.customerId outputParameters: - type: object mapping: $. - method: DELETE name: deletecustomer description: Amberflo Delete Customer by ID call: billing-customers.deletecustomer with: customerId: rest.customerId outputParameters: - type: object mapping: $. - type: mcp namespace: billing-customers-mcp port: 9090 transport: http description: MCP adapter for Amberflo Billing API — Customers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: amberflo-list-all-customers description: Amberflo List All Customers hints: readOnly: true destructive: false idempotent: true call: billing-customers.listcustomers outputParameters: - type: object mapping: $. - name: amberflo-create-customer description: Amberflo Create a Customer hints: readOnly: false destructive: false idempotent: false call: billing-customers.createcustomer with: autoCreateCustomerInStripe: tools.autoCreateCustomerInStripe body: tools.body outputParameters: - type: object mapping: $. - name: amberflo-update-customer description: Amberflo Update a Customer hints: readOnly: false destructive: false idempotent: true call: billing-customers.updatecustomer with: body: tools.body outputParameters: - type: object mapping: $. - name: amberflo-get-customer-id description: Amberflo Get Customer by ID hints: readOnly: true destructive: false idempotent: true call: billing-customers.getcustomerbyid with: customerId: tools.customerId outputParameters: - type: object mapping: $. - name: amberflo-delete-customer-id description: Amberflo Delete Customer by ID hints: readOnly: false destructive: true idempotent: true call: billing-customers.deletecustomer with: customerId: tools.customerId outputParameters: - type: object mapping: $.