naftiko: 1.0.0-alpha2 info: label: Customer.io App API — Customers description: 'Customer.io App API — Customers. 5 operations. Lead operation: Search customers. Self-contained Naftiko capability covering one Customer Io business surface.' tags: - Customer Io - Customers created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CUSTOMER_IO_API_KEY: CUSTOMER_IO_API_KEY capability: consumes: - type: http namespace: app-customers baseUri: https://api.customer.io/v1 description: Customer.io App API — Customers business capability. Self-contained, no shared references. resources: - name: customers path: /customers operations: - name: searchcustomers method: GET description: Search customers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: object description: Filter criteria for searching customers. - name: customers-identifier-activities path: /customers/{identifier}/activities operations: - name: getcustomeractivities method: GET description: Get customer activities outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-identifier-attributes path: /customers/{identifier}/attributes operations: - name: getcustomerattributes method: GET description: Get customer attributes outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-identifier-messages path: /customers/{identifier}/messages operations: - name: getcustomermessages method: GET description: Get customer messages outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customers-identifier-segments path: /customers/{identifier}/segments operations: - name: getcustomersegments method: GET description: Get customer segments outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.CUSTOMER_IO_API_KEY}}' exposes: - type: rest namespace: app-customers-rest port: 8080 description: REST adapter for Customer.io App 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: searchcustomers description: Search customers call: app-customers.searchcustomers with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/customers/{identifier}/activities name: customers-identifier-activities description: REST surface for customers-identifier-activities. operations: - method: GET name: getcustomeractivities description: Get customer activities call: app-customers.getcustomeractivities outputParameters: - type: object mapping: $. - path: /v1/customers/{identifier}/attributes name: customers-identifier-attributes description: REST surface for customers-identifier-attributes. operations: - method: GET name: getcustomerattributes description: Get customer attributes call: app-customers.getcustomerattributes outputParameters: - type: object mapping: $. - path: /v1/customers/{identifier}/messages name: customers-identifier-messages description: REST surface for customers-identifier-messages. operations: - method: GET name: getcustomermessages description: Get customer messages call: app-customers.getcustomermessages outputParameters: - type: object mapping: $. - path: /v1/customers/{identifier}/segments name: customers-identifier-segments description: REST surface for customers-identifier-segments. operations: - method: GET name: getcustomersegments description: Get customer segments call: app-customers.getcustomersegments outputParameters: - type: object mapping: $. - type: mcp namespace: app-customers-mcp port: 9090 transport: http description: MCP adapter for Customer.io App API — Customers. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: search-customers description: Search customers hints: readOnly: true destructive: false idempotent: true call: app-customers.searchcustomers with: filter: tools.filter outputParameters: - type: object mapping: $. - name: get-customer-activities description: Get customer activities hints: readOnly: true destructive: false idempotent: true call: app-customers.getcustomeractivities outputParameters: - type: object mapping: $. - name: get-customer-attributes description: Get customer attributes hints: readOnly: true destructive: false idempotent: true call: app-customers.getcustomerattributes outputParameters: - type: object mapping: $. - name: get-customer-messages description: Get customer messages hints: readOnly: true destructive: false idempotent: true call: app-customers.getcustomermessages outputParameters: - type: object mapping: $. - name: get-customer-segments description: Get customer segments hints: readOnly: true destructive: false idempotent: true call: app-customers.getcustomersegments outputParameters: - type: object mapping: $.