Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Optimizely Experiments API

22 actions 22 updates phrasing extends openapi/optimizely-experiments-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 22 · first 16 shown; the file carries all of them

$.info
$.paths['/api/v1/admin/Experiments'].get
$.paths['/api/v1/admin/Experiments'].post
$.paths['/api/v1/admin/Experiments({id})'].get
$.paths['/api/v1/admin/Experiments({id})'].put
$.paths['/api/v1/admin/Experiments({id})'].delete
$.paths['/api/v1/admin/Experiments({id})'].patch
$.paths['/api/v1/admin/Experiments/Default.Default()'].get
$.paths['/api/v1/admin/Experiments/Default.end'].post
$.paths['/api/v1/admin/experiments/end'].post
$.paths['/api/v1/admin/experiments/delete'].delete
$.paths['/api/v1/admin/experiments({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/experiments({key})/participants({experimentparticipantKey})'].get
$.paths['/experiments'].get
$.paths['/experiments'].post
$.paths['/experiments/{experiment_id}'].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 Optimizely Experiments API
  version: 1.0.0
extends: openapi/optimizely-experiments-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: 21
- target: $.paths['/api/v1/admin/Experiments'].get
  update:
    x-apievangelist-phrasing:
      intent: List commerce content experiments
      effect: read
      questions:
      - Which A/B content experiments are set up in my Configured Commerce admin?
      - Can I filter the commerce admin experiments list by status or website?
      - How many content experiments does the commerce back office hold right now?
      instructions:
      - text: List all content experiments in the commerce admin.
      - text: List commerce admin experiments matching the OData filter {filter}.
        slots:
          filter: query.$filter
      - text: Show the first {top} commerce content experiments sorted by {orderby}.
        slots:
          top: query.$top
          orderby: query.$orderby
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a commerce content experiment
      effect: write
      questions:
      - How do I set up a new A/B content experiment on my commerce storefront?
      - Can I split traffic across up to three content variants plus the original?
      - What end condition and metric must a new commerce content experiment have?
      instructions:
      - text: Create a commerce content experiment named {name} measuring {metric} that ends on {endCondition}.
        slots:
          name: requestBody.name
          metric: requestBody.metric
          endCondition: requestBody.endCondition
      - text: Start a storefront content experiment {name} described as {description} with status {status}.
        slots:
          name: requestBody.name
          description: requestBody.description
          status: requestBody.status
      - text: Create content experiment {name} on website {websiteId} with {variant1Allocation} of traffic to variant 1.
        slots:
          name: requestBody.name
          websiteId: requestBody.websiteId
          variant1Allocation: requestBody.variant1Allocation
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a commerce content experiment
      effect: read
      questions:
      - What allocation and variants does one commerce content experiment use?
      - Can I pull a single commerce admin experiment record by its GUID?
      instructions:
      - text: Get commerce content experiment {id}.
        slots:
          id: path.id
      - text: Show the variant allocations of commerce admin experiment {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a commerce content experiment
      effect: write
      questions:
      - How do I overwrite a commerce content experiment with a complete new definition?
      - Does replacing a commerce admin experiment reset the fields I omit?
      instructions:
      - text: Replace commerce content experiment {id} with a full record named {name} measuring {metric}.
        slots:
          id: path.id
          name: requestBody.name
          metric: requestBody.metric
      - text: Overwrite every field of commerce experiment {id}, setting status {status}.
        slots:
          id: path.id
          status: requestBody.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a commerce content experiment
      effect: destructive
      questions:
      - Can I remove one commerce content experiment by its ID?
      - Is there a way to guard deleting a commerce experiment with an ETag?
      instructions:
      - text: Delete commerce content experiment {id}.
        slots:
          id: path.id
      - text: Delete commerce admin experiment {id} only if its ETag is {etag}.
        slots:
          id: path.id
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a commerce content experiment
      effect: write
      questions:
      - How do I pause a running commerce content experiment without resending everything?
      - Can I change just the traffic split on an existing commerce experiment?
      instructions:
      - text: Set isPaused to {isPaused} on commerce content experiment {id}.
        slots:
          id: path.id
          isPaused: requestBody.isPaused
      - text: Change the included traffic allocation of commerce experiment {id} to {includedAllocation}.
        slots:
          id: path.id
          includedAllocation: requestBody.includedAllocation
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a blank commerce experiment template
      effect: read
      questions:
      - What default values does a new commerce content experiment start with?
      - Can I fetch an empty experiment template before building one in the commerce admin?
      instructions:
      - text: Fetch the default template for a commerce content experiment.
      - text: Show me the starting values for a new commerce admin experiment.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments/Default.end'].post
  update:
    x-apievangelist-phrasing:
      intent: End a commerce content experiment
      effect: destructive
      questions:
      - How do I stop a commerce content experiment by passing its experiment ID?
      - Can I end an A/B content test early through the commerce admin?
      instructions:
      - text: End commerce content experiment {experimentId}.
        slots:
          experimentId: requestBody.experimentId
      - text: Finish the storefront A/B test {experimentId} now via the Default.end action.
        slots:
          experimentId: requestBody.experimentId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments/end'].post
  update:
    x-apievangelist-phrasing:
      intent: Call the route-style experiment end endpoint
      effect: destructive
      questions:
      - Is there a lowercase experiments/end route that takes no declared parameters?
      - What does the parameterless experiments end route in the commerce admin do?
      instructions:
      - text: Call the route-style experiments/end endpoint in the commerce admin.
      - text: Invoke the parameterless end route for commerce experiments.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete commerce content experiments
      effect: destructive
      questions:
      - Can I delete several commerce content experiments in one call?
      - How do I remove a batch of commerce admin experiments by a list of IDs?
      instructions:
      - text: Bulk delete the commerce content experiments with IDs {ids}.
        slots:
          ids: query.ids
      - text: 'Remove these commerce admin experiments together: {ids}.'
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property on a commerce experiment
      effect: read
      questions:
      - Can I read one custom property stored on a commerce content experiment?
      - What extra custom fields are attached to a given commerce experiment?
      instructions:
      - text: Get custom property {custompropertyKey} on commerce experiment {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      - text: Show the custom property {custompropertyKey} of commerce content experiment {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments({key})/participants({experimentparticipantKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a participant in a commerce experiment
      effect: read
      questions:
      - Can I look up one visitor who participated in a commerce content experiment?
      - Which variant was a specific participant bucketed into for a commerce experiment?
      instructions:
      - text: Get participant {experimentparticipantKey} of commerce experiment {key}.
        slots:
          experimentparticipantKey: path.experimentparticipantKey
          key: path.key
      - text: Show participant record {experimentparticipantKey} in content experiment {key}.
        slots:
          experimentparticipantKey: path.experimentparticipantKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments'].get
  update:
    x-apievangelist-phrasing:
      intent: List experiments in a project
      effect: read
      questions:
      - Which experiments exist in my Optimizely Web Experimentation project?
      - Can I page through a project's experiments a set number at a time?
      instructions:
      - text: List the experiments in project {project_id}.
        slots:
          project_id: query.project_id
      - text: Show page {page} of experiments in project {project_id}, {per_page} per page.
        slots:
          page: query.page
          project_id: query.project_id
          per_page: query.per_page
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an experiment in a project
      effect: write
      questions:
      - How do I add a new experiment to a Web Experimentation project?
      - Can I set a description and status when creating a project experiment?
      instructions:
      - text: Create an experiment named {name} in project {project_id}.
        slots:
          name: requestBody.name
          project_id: requestBody.project_id
      - text: Add experiment {name} to project {project_id} with description {description}.
        slots:
          name: requestBody.name
          project_id: requestBody.project_id
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a project experiment's details
      effect: read
      questions:
      - What are the full details of a specific experiment in my project?
      - Can I retrieve one Web Experimentation experiment by its experiment ID?
      instructions:
      - text: Get experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      - text: Show the full configuration of experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Archive or delete a project experiment
      effect: destructive
      questions:
      - How do I archive an experiment I no longer need in my project?
      - Can I permanently delete a Web Experimentation experiment?
      instructions:
      - text: Archive experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      - text: Delete project experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update a project experiment
      effect: write
      questions:
      - Can I rename an existing experiment in my Web Experimentation project?
      - How do I change the status of a project experiment?
      instructions:
      - text: Rename experiment {experiment_id} to {name}.
        slots:
          experiment_id: path.experiment_id
          name: requestBody.name
      - text: Set the status of experiment {experiment_id} to {status}.
        slots:
          experiment_id: path.experiment_id
          status: requestBody.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}/results'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an experiment's statistical results
      effect: read
      questions:
      - Is my experiment's winning variation statistically significant yet?
      - What conversion rates and confidence intervals did Stats Engine compute for an experiment?
      instructions:
      - text: Get the results for experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      - text: Show conversion rates and significance for experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}/results/share'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a shareable experiment results link
      effect: read
      questions:
      - Can I share an experiment's results page with someone who has no Optimizely account?
      - Is there a read-only public link to an experiment's results?
      instructions:
      - text: Get a shareable results link for experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      - text: Create a read-only link to the results page of experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}/timeseries'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an experiment's results over time
      effect: read
      questions:
      - How have an experiment's results trended day by day?
      - Can I see an experiment's results time series for mobile devices only?
      - What did the results look like between two dates compared with a chosen baseline variation?
      instructions:
      - text: Get the results time series for experiment {experiment_id}.
        slots:
          experiment_id: path.experiment_id
      - text: Show experiment {experiment_id}'s results over time from {start_time} to {end_time}.
        slots:
          experiment_id: path.experiment_id
          start_time: query.start_time
          end_time: query.end_time
      - text: Chart experiment {experiment_id} over time for device {device} only.
        slots:
          experiment_id: path.experiment_id
          device: query.device
      method: generated
      generated: '2026-09-26'
- target: $.paths['/export/experiments/{experiment_id}/results/csv'].get
  update:
    x-apievangelist-phrasing:
      intent: Export experiment results as CSV
      effect: read
      questions:
      - Can I download an experiment's results as a CSV file?
      - How do I export experiment results for a single browser to a spreadsheet?
      instructions:
      - text: Export the results of experiment {experiment_id} as CSV.
        slots:
          experiment_id: path.experiment_id
      - text: Download a CSV of experiment {experiment_id} results against baseline variation {baseline_variation_id}.
        slots:
          experiment_id: path.experiment_id
          baseline_variation_id: query.baseline_variation_id
      method: generated
      generated: '2026-09-26'