Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Optimizely Users API

11 actions 11 updates phrasing extends openapi/optimizely-users-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['/{clientId}/users/authenticated'].get
$.paths['/{clientId}/users/rotatepassword'].post
$.paths['/userlist'].get
$.paths['/users'].get
$.paths['/users'].post
$.paths['/users/{id}'].get
$.paths['/users/{id}'].put
$.paths['/users/{id}'].delete
$.paths['/users/{id}/content'].get
$.paths['/users/{id}/content/_filter'].post

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 Users API
  version: 1.0.0
extends: openapi/optimizely-users-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['/{clientId}/users/authenticated'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the currently authenticated Campaign user
      effect: read
      questions:
      - How do I check which user my Campaign credentials are signed in as?
      - What basic info can I get about the authenticated user for a client?
      instructions:
      - text: Show the authenticated user for client {clientId}.
        slots:
          clientId: path.clientId
      - text: Tell me who I am logged in as on Campaign client {clientId}.
        slots:
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/users/rotatepassword'].post
  update:
    x-apievangelist-phrasing:
      intent: Rotate a Campaign user's password
      effect: write
      questions:
      - How do I rotate the password for a Campaign API user?
      - Why can't I log in right after rotating a password?
      instructions:
      - text: Rotate the password of user {username} on client {clientId} to {password}.
        slots:
          username: requestBody.username
          clientId: path.clientId
          password: requestBody.password
      - text: Set a new password {password} for Campaign user {username} under client {clientId}.
        slots:
          password: requestBody.password
          username: requestBody.username
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/userlist'].get
  update:
    x-apievangelist-phrasing:
      intent: List users page by page
      effect: read
      questions:
      - How can I page through the full list of users?
      - Can I control the page size when listing users?
      instructions:
      - text: List users, {page_size} per page.
        slots:
          page_size: query.page_size
      - text: Get the user list starting at offset {offset}.
        slots:
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users'].get
  update:
    x-apievangelist-phrasing:
      intent: Find a user by email address
      effect: read
      questions:
      - Is there a user registered with a particular email address?
      - Can I look up a user when I only know their email?
      instructions:
      - text: Find the user with email {email}.
        slots:
          email: query.email
      - text: Look up whoever is registered as {email}.
        slots:
          email: query.email
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new user
      effect: write
      questions:
      - What fields are supported when creating a user?
      - Can I attach identifiers and additional info to a new user?
      instructions:
      - text: Create a user with email {email}.
        slots:
          email: requestBody.email
      - text: Add a new user {email} with identifiers {identifiers}.
        slots:
          email: requestBody.email
          identifiers: requestBody.identifiers
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user by id
      effect: read
      questions:
      - How do I fetch one user's profile by their id?
      - What does a single user record contain?
      instructions:
      - text: Get user {id}.
        slots:
          id: path.id
      - text: Show the profile for user {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing user
      effect: write
      questions:
      - Which user fields can actually be changed after creation?
      - Can I update a user's additional info?
      instructions:
      - text: Update user {id} additional info to {additional_info}.
        slots:
          id: path.id
          additional_info: requestBody.additional_info
      - text: Set the identifiers on user {id} to {identifiers}.
        slots:
          id: path.id
          identifiers: requestBody.identifiers
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a user
      effect: destructive
      questions:
      - How do I permanently remove a user?
      - Is deleting a user reversible?
      instructions:
      - text: Delete user {id} permanently.
        slots:
          id: path.id
      - text: Remove user {id} from the system.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users/{id}/content'].get
  update:
    x-apievangelist-phrasing:
      intent: Get personalised content recommendations for a user
      effect: read
      questions:
      - What content is most relevant to a particular user?
      - Can I get personalised recommendations without a generic fallback?
      - Does the recommendation list include topic information?
      instructions:
      - text: Get personalised content for user {id}.
        slots:
          id: path.id
      - text: Recommend {rpp} content items for user {id} with topics included.
        slots:
          rpp: query.rpp
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/users/{id}/content/_filter'].post
  update:
    x-apievangelist-phrasing:
      intent: Search a user's content with a Lucene query
      effect: read
      questions:
      - Can I filter a user's personalised content with a Lucene query?
      - How do I search content ranked by relevance to one user?
      instructions:
      - text: Search content for user {id} matching {query}.
        slots:
          id: path.id
          query: requestBody.query
      - text: Find items matching Lucene query {query} ranked for user {id}.
        slots:
          query: requestBody.query
          id: path.id
      method: generated
      generated: '2026-09-26'