Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Custom Properties API

11 actions 11 updates phrasing extends openapi/optimizely-custom-properties-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/api/v1/admin/CustomProperties'].get
$.paths['/api/v1/admin/CustomProperties'].post
$.paths['/api/v1/admin/CustomProperties({id})'].get
$.paths['/api/v1/admin/CustomProperties({id})'].put
$.paths['/api/v1/admin/CustomProperties({id})'].delete
$.paths['/api/v1/admin/CustomProperties({id})'].patch
$.paths['/api/v1/admin/CustomProperties/Default.Default()'].get
$.paths['/api/v1/admin/CustomProperties/Default.GetAll(parentId={parentId},parentEntityName=\'{parentEntityName}\')'].get
$.paths['/api/v1/admin/customproperties/GetAll(parentEntityName=\'{parentEntityName}\',parentId={parentId})'].get
$.paths['/api/v1/admin/customproperties/delete'].delete

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 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'