# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Optimizely Data Platform REST Profiles API version: 1.0.0 extends: openapi/optimizely-profiles-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: 2 - target: $.paths['/profiles'].post update: x-apievangelist-phrasing: intent: Create or update a customer profile effect: write questions: - How do I create a customer profile in ODP keyed by email? - Can I update attributes on an existing profile in the same call? instructions: - text: Create or update the profile with identifiers {identifiers}. slots: identifiers: requestBody.identifiers - text: Upsert profile {identifiers} with attributes {attributes}. slots: identifiers: requestBody.identifiers attributes: requestBody.attributes method: generated generated: '2026-09-26' - target: $.paths['/profiles/{identifier_field}/{identifier_value}'].get update: x-apievangelist-phrasing: intent: Get a customer profile by identifier effect: read questions: - Can I look up a customer profile by email address? - Which fields can I limit a profile lookup to? instructions: - text: Get the profile where {field} is {value}. slots: field: path.identifier_field value: path.identifier_value - text: Look up the profile with {field} {value} and return only {fields}. slots: field: path.identifier_field value: path.identifier_value fields: query.fields method: generated generated: '2026-09-26'