Customer.io · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Customer.io App Customers API

10 actions 10 updates phrasing extends openapi/customer-io-customers-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Customer.io's API. It is a proposal applied on top of the contract, not a document Customer.io publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/v1/customers'].get
$.paths['/v1/customers'].post
$.paths['/v1/customers/{customer_id}/attributes'].get
$.paths['/v1/customers/{customer_id}/relationships'].get
$.paths['/v1/customers/attributes'].post
$.paths['/v1/customers/{customer_id}/segments'].get
$.paths['/v1/customers/{customer_id}/messages'].get
$.paths['/v1/customers/{customer_id}/activities'].get
$.paths['/v1/customers/{customer_id}/subscription_preferences'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Customer.io App Customers API
  version: 1.0.0
extends: openapi/customer-io-customers-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 9
- target: $.paths['/v1/customers'].get
  update:
    x-apievangelist-phrasing:
      intent: Find people by email address
      effect: read
      questions:
      - How do I find a person's profile when I only know their email?
      - Can more than one person match the same email address?
      instructions:
      - text: Find people with email {email}.
        slots:
          email: query.email
      - text: Look up the profile for {email}.
        slots:
          email: query.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers'].post
  update:
    x-apievangelist-phrasing:
      intent: Search people by segment or attribute
      effect: read
      questions:
      - How do I find everyone in a segment whose plan attribute is premium?
      - Can I page through people matching an attribute filter?
      instructions:
      - text: Search people matching filter {filter}.
        slots:
          filter: requestBody.filter
      - text: Find up to {limit} people who match {filter}.
        slots:
          limit: query.limit
          filter: requestBody.filter
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers/{customer_id}/attributes'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a person's attributes
      effect: read
      questions:
      - What attributes are stored on a person's profile?
      - Can I look up a person's attributes by email instead of ID?
      instructions:
      - text: Show the attributes for person {customer_id}.
        slots:
          customer_id: path.customer_id
      - text: Get profile attributes for {customer_id} using {id_type} as the identifier.
        slots:
          customer_id: path.customer_id
          id_type: query.id_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers/{customer_id}/relationships'].get
  update:
    x-apievangelist-phrasing:
      intent: List objects a person is related to
      effect: read
      questions:
      - Which companies or accounts is a person linked to?
      - How do I page through a person's object relationships?
      instructions:
      - text: List the objects person {customer_id} is related to.
        slots:
          customer_id: path.customer_id
      - text: Show the accounts linked to {customer_id}.
        slots:
          customer_id: path.customer_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers/attributes'].post
  update:
    x-apievangelist-phrasing:
      intent: Get attributes and devices for many people
      effect: read
      questions:
      - How do I fetch attributes and devices for a batch of people at once?
      - What's the maximum number of people I can look up in one request?
      instructions:
      - text: Get attributes and devices for people {ids}.
        slots:
          ids: requestBody.ids
      - text: 'Look up these customer IDs in bulk: {ids}.'
        slots:
          ids: requestBody.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers/{customer_id}/segments'].get
  update:
    x-apievangelist-phrasing:
      intent: List a person's segments
      effect: read
      questions:
      - Which segments is a given person in?
      - Why is this person receiving a campaign, which segments do they match?
      instructions:
      - text: List the segments person {customer_id} belongs to.
        slots:
          customer_id: path.customer_id
      - text: Show segment memberships for {customer_id}.
        slots:
          customer_id: path.customer_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers/{customer_id}/messages'].get
  update:
    x-apievangelist-phrasing:
      intent: List messages sent to a person
      effect: read
      questions:
      - What messages has a specific person received from us?
      - Can I see deliveries to one person within a date range?
      instructions:
      - text: List messages sent to person {customer_id}.
        slots:
          customer_id: path.customer_id
      - text: Show deliveries to {customer_id} since {start_ts}.
        slots:
          customer_id: path.customer_id
          start_ts: query.start_ts
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers/{customer_id}/activities'].get
  update:
    x-apievangelist-phrasing:
      intent: List a person's activity history
      effect: read
      questions:
      - What has a person done recently, like attribute changes and events?
      - Can I filter one person's activity log to a specific event name?
      instructions:
      - text: Show the activity history for person {customer_id}.
        slots:
          customer_id: path.customer_id
      - text: List {customer_id}'s activities of type {type}.
        slots:
          customer_id: path.customer_id
          type: query.type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/customers/{customer_id}/subscription_preferences'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a person's subscription preferences
      effect: read
      questions:
      - Which subscription topics has a person opted into?
      - Can I get a person's subscription preferences in their language?
      instructions:
      - text: Show subscription preferences for person {customer_id}.
        slots:
          customer_id: path.customer_id
      - text: Get {customer_id}'s topic preferences in {language}.
        slots:
          customer_id: path.customer_id
          language: query.language
      method: generated
      generated: '2026-09-26'