Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Optimizely Events API
17 actions
17 updates
phrasing
extends
openapi/optimizely-events-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.
What the actions change
x-apievangelist-phrasing
Targets 17 · first 16 shown; the file carries all of them
$.info
$.paths['/events'].get
$.paths['/events'].post
$.paths['/events/{id}'].get
$.paths['/events/{id}'].patch
$.paths['/events/{id}/fields'].get
$.paths['/events/{id}/fields'].put
$.paths['/api/events/fx'].post
$.paths['/events/{event_id}'].get
$.paths['/events/{event_id}'].delete
$.paths['/events/{event_id}'].patch
$.paths['/pages/{page_id}/events'].post
$.paths['/pages/{page_id}/events/{event_id}'].delete
$.paths['/pages/{page_id}/events/{event_id}'].patch
$.paths['/projects/{project_id}/custom_events'].post
$.paths['/projects/{project_id}/custom_events/{event_id}'].delete
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Optimizely Events API
version: 1.0.0
extends: openapi/optimizely-events-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: 16
- target: $.paths['/events'].get
update:
x-apievangelist-phrasing:
intent: List marketing calendar events
effect: read
questions:
- Which events are on my Optimizely CMP marketing calendar between two dates?
- Can I list only the calendar events that belong to one campaign?
instructions:
- text: List calendar events from {start_date} to {end_date}.
slots:
start_date: query.start_date
end_date: query.end_date
- text: Show the calendar events under campaign {campaign_id}, {page_size} per page.
slots:
campaign_id: query.campaign_id
page_size: query.page_size
method: generated
generated: '2026-09-26'
- target: $.paths['/events'].post
update:
x-apievangelist-phrasing:
intent: Create a marketing calendar event
effect: write
questions:
- How do I add an all-day event to the marketing calendar?
- Can I create a calendar event inside a specific campaign?
instructions:
- text: Create a calendar event titled {title} from {start_date} to {end_date}, all day set to {is_all_day}.
slots:
title: requestBody.title
start_date: requestBody.start_date
end_date: requestBody.end_date
is_all_day: requestBody.is_all_day
- text: Add event {title} to campaign {campaign_id} running {start_date} through {end_date}, all-day {is_all_day}.
slots:
title: requestBody.title
campaign_id: requestBody.campaign_id
start_date: requestBody.start_date
end_date: requestBody.end_date
is_all_day: requestBody.is_all_day
method: generated
generated: '2026-09-26'
- target: $.paths['/events/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a marketing calendar event
effect: read
questions:
- What are the dates and description of one event on my marketing calendar?
- Can I open a single CMP calendar event by its ID?
instructions:
- text: Show calendar event {id}.
slots:
id: path.id
- text: Get the title and dates of marketing calendar event {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/events/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Reschedule or edit a marketing calendar event
effect: write
questions:
- How do I move a calendar event to new start and end dates?
- Can I change a marketing calendar event from all-day to a timed event?
instructions:
- text: Reschedule calendar event {id} to run from {start_date} to {end_date}.
slots:
id: path.id
start_date: requestBody.start_date
end_date: requestBody.end_date
- text: Rename calendar event {id} to {title}.
slots:
id: path.id
title: requestBody.title
method: generated
generated: '2026-09-26'
- target: $.paths['/events/{id}/fields'].get
update:
x-apievangelist-phrasing:
intent: List the fields on a calendar event
effect: read
questions:
- Which custom fields are attached to a marketing calendar event?
- Can I page through the field values of a calendar event?
instructions:
- text: List the fields of calendar event {id}.
slots:
id: path.id
- text: Show fields for event {id}, {page_size} per page starting at {offset}.
slots:
id: path.id
page_size: query.page_size
offset: query.offset
method: generated
generated: '2026-09-26'
- target: $.paths['/events/{id}/fields'].put
update:
x-apievangelist-phrasing:
intent: Replace the fields on a calendar event
effect: write
questions:
- How do I overwrite all the custom field values on a calendar event at once?
- Can I reset a marketing calendar event's fields in a single call?
instructions:
- text: Replace the existing fields on calendar event {id}.
slots:
id: path.id
- text: Overwrite every custom field value of marketing event {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/events/fx'].post
update:
x-apievangelist-phrasing:
intent: Send an event to the FX event handler
effect: write
questions:
- Where do I post events meant for the FX event handler endpoint?
- Is there an endpoint that receives FX events over POST?
instructions:
- text: Post this event to the FX event handler.
- text: Forward the payload to the api events FX handler.
method: generated
generated: '2026-09-26'
- target: $.paths['/events/{event_id}'].get
update:
x-apievangelist-phrasing:
intent: Get an experimentation event
effect: read
questions:
- What is the key and type of a tracked experiment event in my project?
- Can I look up one Optimizely Experimentation event by its event ID?
instructions:
- text: Show experiment event {event_id}.
slots:
event_id: path.event_id
- text: Get the full details of tracked event {event_id}.
slots:
event_id: path.event_id
method: generated
generated: '2026-09-26'
- target: $.paths['/events/{event_id}'].delete
update:
x-apievangelist-phrasing:
intent: Permanently delete an experimentation event
effect: destructive
questions:
- How do I permanently remove a tracked event from my experimentation project?
- Is deleting an experiment event reversible, or is it gone for good?
instructions:
- text: Permanently delete experiment event {event_id}.
slots:
event_id: path.event_id
- text: Remove tracked event {event_id} for good.
slots:
event_id: path.event_id
method: generated
generated: '2026-09-26'
- target: $.paths['/events/{event_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update an experimentation event
effect: write
questions:
- Can I change the name or key of a tracked experiment event?
- How do I change an experimentation event's type?
instructions:
- text: Rename experiment event {event_id} to {name}.
slots:
event_id: path.event_id
name: requestBody.name
- text: Set the key of tracked event {event_id} to {key} and its type to {event_type}.
slots:
event_id: path.event_id
key: requestBody.key
event_type: requestBody.event_type
method: generated
generated: '2026-09-26'
- target: $.paths['/pages/{page_id}/events'].post
update:
x-apievangelist-phrasing:
intent: Create an in-page event such as a click
effect: write
questions:
- How do I start measuring clicks on an element of a specific page?
- What do I need to create an in-page event tied to a page?
instructions:
- text: Create an in-page event named {name} of type {event_type} on page {page_id}.
slots:
name: requestBody.name
event_type: requestBody.event_type
page_id: path.page_id
- text: Add a click event {name} to page {page_id} with type {event_type} and config {config}.
slots:
name: requestBody.name
page_id: path.page_id
event_type: requestBody.event_type
config: requestBody.config
method: generated
generated: '2026-09-26'
- target: $.paths['/pages/{page_id}/events/{event_id}'].delete
update:
x-apievangelist-phrasing:
intent: Archive an in-page event
effect: destructive
questions:
- How do I archive a click event that belongs to a page?
- Can I stop tracking an in-page event without affecting the page itself?
instructions:
- text: Archive in-page event {event_id} on page {page_id}.
slots:
event_id: path.event_id
page_id: path.page_id
- text: Stop tracking page {page_id}'s event {event_id} by archiving it.
slots:
page_id: path.page_id
event_id: path.event_id
method: generated
generated: '2026-09-26'
- target: $.paths['/pages/{page_id}/events/{event_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update an in-page event
effect: write
questions:
- Can I make an in-page event variation specific?
- How do I rename or recategorize a click event on a page?
instructions:
- text: Rename in-page event {event_id} on page {page_id} to {name}.
slots:
event_id: path.event_id
page_id: path.page_id
name: requestBody.name
- text: Set variation specific to {variation_specific} for page {page_id}'s event {event_id}.
slots:
variation_specific: requestBody.variation_specific
page_id: path.page_id
event_id: path.event_id
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{project_id}/custom_events'].post
update:
x-apievangelist-phrasing:
intent: Create a custom event in a project
effect: write
questions:
- How do I register a custom event key in an experimentation project?
- Can a custom event carry event properties that metrics can filter on?
instructions:
- text: Create a custom event with key {key} in project {project_id}.
slots:
key: requestBody.key
project_id: path.project_id
- text: Add custom event {key} named {name} to project {project_id} with event properties {event_properties}.
slots:
key: requestBody.key
name: requestBody.name
project_id: path.project_id
event_properties: requestBody.event_properties
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{project_id}/custom_events/{event_id}'].delete
update:
x-apievangelist-phrasing:
intent: Archive a custom event
effect: destructive
questions:
- How do I archive a custom event I no longer track in a project?
- Does removing a custom event archive it rather than delete it?
instructions:
- text: Archive custom event {event_id} in project {project_id}.
slots:
event_id: path.event_id
project_id: path.project_id
- text: Retire project {project_id}'s custom event {event_id}.
slots:
project_id: path.project_id
event_id: path.event_id
method: generated
generated: '2026-09-26'
- target: $.paths['/projects/{project_id}/custom_events/{event_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a custom event
effect: write
questions:
- Can I change the name or category of an existing custom event?
- What can I edit on a project's custom event after creating it?
instructions:
- text: Rename custom event {event_id} in project {project_id} to {name}.
slots:
event_id: path.event_id
project_id: path.project_id
name: requestBody.name
- text: Change the category of project {project_id}'s custom event {event_id} to {category}.
slots:
project_id: path.project_id
event_id: path.event_id
category: requestBody.category
method: generated
generated: '2026-09-26'