# 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 Track Track Customers API version: 1.0.0 extends: openapi/customer-io-track-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: 8 - target: $.paths['/api/v1/customers/{identifier}'].put update: x-apievangelist-phrasing: intent: Add or update a person effect: write questions: - How do I create or update a person's profile with the Track API? - Can I set a person's email and created date when adding them? instructions: - text: Add or update person {identifier} with email {email}. slots: identifier: path.identifier email: requestBody.email - text: 'Update person {identifier} and mark them unsubscribed: {unsubscribed}.' slots: identifier: path.identifier unsubscribed: requestBody.unsubscribed method: generated generated: '2026-09-26' - target: $.paths['/api/v1/customers/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete a person effect: destructive questions: - How do I delete a person and all their data? - Could a later update call recreate a person I deleted? instructions: - text: Delete person {identifier}. slots: identifier: path.identifier - text: Remove {identifier} and all their information. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/api/v1/customers/{identifier}/devices'].put update: x-apievangelist-phrasing: intent: Add or update a person's device effect: write questions: - How do I register an iOS or Android push token for a person? - Can a person have more than one device? instructions: - text: Add device {device} to person {identifier}. slots: device: requestBody.device identifier: path.identifier - text: Register push token {device} for {identifier}. slots: device: requestBody.device identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/api/v1/customers/{identifier}/devices/{device_id}'].delete update: x-apievangelist-phrasing: intent: Remove a device from a person effect: destructive questions: - How do I remove an old device from a person's profile? - Why does a deleted device keep reappearing? instructions: - text: Delete device {device_id} from person {identifier}. slots: device_id: path.device_id identifier: path.identifier - text: Remove push device {device_id} for {identifier}. slots: device_id: path.device_id identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/api/v1/customers/{identifier}/suppress'].post update: x-apievangelist-phrasing: intent: Suppress a person permanently effect: destructive questions: - How do I delete a person and block them from being re-added? - What happens to API calls referencing a suppressed identifier? instructions: - text: Suppress person {identifier}. slots: identifier: path.identifier - text: Delete and block {identifier} from coming back. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/api/v1/customers/{identifier}/unsuppress'].post update: x-apievangelist-phrasing: intent: Unsuppress a person effect: write questions: - How do I allow a suppressed person to be added again? - Does unsuppressing restore the person's old data? instructions: - text: Unsuppress person {identifier}. slots: identifier: path.identifier - text: Allow {identifier} to be re-added. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/unsubscribe/{delivery_id}'].post update: x-apievangelist-phrasing: intent: Unsubscribe a person from a delivery link effect: write questions: - How do I handle unsubscribes from my own custom unsubscribe page? - Can I set someone's global unsubscribe status from a delivery ID? instructions: - text: Unsubscribe the recipient of delivery {delivery_id}. slots: delivery_id: path.delivery_id - text: Set unsubscribe to {unsubscribe} for the person who got delivery {delivery_id}. slots: unsubscribe: requestBody.unsubscribe delivery_id: path.delivery_id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/merge_customers'].post update: x-apievangelist-phrasing: intent: Merge two duplicate people effect: destructive questions: - How do I merge two duplicate profiles into one? - Which profile survives when I merge duplicates? instructions: - text: Merge {secondary} into {primary}. slots: secondary: requestBody.secondary primary: requestBody.primary - text: Combine duplicate profile {secondary} with primary {primary}. slots: secondary: requestBody.secondary primary: requestBody.primary method: generated generated: '2026-09-26'