Customer.io · Capability

Customer.io App API — Customers

Customer.io App API — Customers. 5 operations. Lead operation: Search customers. Self-contained Naftiko capability covering one Customer Io business surface.

Run with Naftiko Customer IoCustomers

What You Can Do

GET
Searchcustomers — Search customers
/v1/customers
GET
Getcustomeractivities — Get customer activities
/v1/customers/{identifier}/activities
GET
Getcustomerattributes — Get customer attributes
/v1/customers/{identifier}/attributes
GET
Getcustomermessages — Get customer messages
/v1/customers/{identifier}/messages
GET
Getcustomersegments — Get customer segments
/v1/customers/{identifier}/segments

MCP Tools

search-customers

Search customers

read-only idempotent
get-customer-activities

Get customer activities

read-only idempotent
get-customer-attributes

Get customer attributes

read-only idempotent
get-customer-messages

Get customer messages

read-only idempotent
get-customer-segments

Get customer segments

read-only idempotent

Capability Spec

app-customers.yaml Raw ↑
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: $.