# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Admin API V1 Custom Properties API version: 1.0.0 extends: openapi/optimizely-custom-properties-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: 10 - target: $.paths['/api/v1/admin/CustomProperties'].get update: x-apievangelist-phrasing: intent: List custom properties effect: read questions: - Which custom properties have been added across my commerce entities? - Can I filter custom properties by parent table with OData? instructions: - text: List all custom properties. - text: List custom properties matching {filter}. slots: filter: query.$filter - text: Show the first {top} custom properties. slots: top: query.$top method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomProperties'].post update: x-apievangelist-phrasing: intent: Add a custom property to an entity effect: write questions: - How do I attach a custom name/value property to a commerce record? - What parent table and parent id does a new custom property need? instructions: - text: Add custom property {name} = {value} to {parentTable} record {parentId}. slots: name: requestBody.name value: requestBody.value parentTable: requestBody.parentTable parentId: requestBody.parentId - text: Create custom property {name} with value {value} on table {parentTable}. slots: name: requestBody.name value: requestBody.value parentTable: requestBody.parentTable method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomProperties({id})'].get update: x-apievangelist-phrasing: intent: Get a custom property by id effect: read questions: - What name and value does a specific custom property hold? - Can I look up a single custom property by its id? instructions: - text: Get custom property {id}. slots: id: path.id - text: Fetch custom property {id} returning only {select}. slots: id: path.id select: query.$select method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomProperties({id})'].put update: x-apievangelist-phrasing: intent: Replace a custom property effect: write questions: - How do I overwrite a custom property's entire record? - Can I resend parent table, name and value to replace a custom property? instructions: - text: Replace custom property {id} with {name} = {value} on {parentTable}. slots: id: path.id name: requestBody.name value: requestBody.value parentTable: requestBody.parentTable - text: Overwrite the full custom property record {id} with value {value}. slots: id: path.id value: requestBody.value method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomProperties({id})'].delete update: x-apievangelist-phrasing: intent: Delete one custom property effect: destructive questions: - How do I remove a single custom property by id? - Can deleting a custom property be guarded by an If-Match ETag? instructions: - text: Delete custom property {id}. slots: id: path.id - text: Delete custom property {id} only if its ETag is still {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomProperties({id})'].patch update: x-apievangelist-phrasing: intent: Change a custom property's value effect: write questions: - Can I update only the value of an existing custom property? - How do I rename a custom property without resending everything? instructions: - text: Set custom property {id} value to {value}. slots: id: path.id value: requestBody.value - text: Rename custom property {id} to {name}. slots: id: path.id name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomProperties/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get default values for a new custom property effect: read questions: - What defaults does a brand-new custom property carry? - Is there a blank custom property template? instructions: - text: Get the default template for a custom property. - text: Fetch an empty custom property with default values. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/CustomProperties/Default.GetAll(parentId={parentId},parentEntityName=\'{parentEntityName}\')'].get update: x-apievangelist-phrasing: intent: Get all custom properties of a record via Default.GetAll effect: read questions: - How do I pull every custom property attached to one product or customer record? - Which function returns all custom properties for a parent id and entity name? instructions: - text: Get all custom properties of {parentEntityName} {parentId} using Default.GetAll. slots: parentEntityName: path.parentEntityName parentId: path.parentId - text: Call the Default.GetAll function for parent {parentId} of type {parentEntityName}. slots: parentEntityName: path.parentEntityName parentId: path.parentId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/customproperties/GetAll(parentEntityName=\'{parentEntityName}\',parentId={parentId})'].get update: x-apievangelist-phrasing: intent: Get all custom properties of a record via GetAll route effect: read questions: - Is there a lowercase customproperties/GetAll route keyed by entity name first? - Can I list a parent record's custom properties through the GetAll route? instructions: - text: Use the customproperties/GetAll route for entity {parentEntityName} id {parentId}. slots: parentEntityName: path.parentEntityName parentId: path.parentId - text: Fetch the complete property list of {parentEntityName} record {parentId} via the GetAll route. slots: parentEntityName: path.parentEntityName parentId: path.parentId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/customproperties/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete custom properties effect: destructive questions: - Can I delete many custom properties in one request? - How do I bulk-remove custom properties by a list of ids? instructions: - text: Bulk delete custom properties {ids}. slots: ids: query.ids - text: Permanently remove every custom property in {ids}. slots: ids: query.ids method: generated generated: '2026-09-26'