Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Message Statuses API

10 actions 10 updates phrasing extends openapi/optimizely-message-statuses-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 10

$.info
$.paths['/api/v1/admin/MessageStatuses'].get
$.paths['/api/v1/admin/MessageStatuses'].post
$.paths['/api/v1/admin/MessageStatuses({id})'].get
$.paths['/api/v1/admin/MessageStatuses({id})'].put
$.paths['/api/v1/admin/MessageStatuses({id})'].delete
$.paths['/api/v1/admin/MessageStatuses({id})'].patch
$.paths['/api/v1/admin/MessageStatuses/Default.Default()'].get
$.paths['/api/v1/admin/messagestatuses/delete'].delete
$.paths['/api/v1/admin/messagestatuses({key})/customproperties({custompropertyKey})'].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 Admin API V1 Message Statuses API
  version: 1.0.0
extends: openapi/optimizely-message-statuses-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: 9
- target: $.paths['/api/v1/admin/MessageStatuses'].get
  update:
    x-apievangelist-phrasing:
      intent: List message read statuses
      effect: read
      questions:
      - Which users have read the site messages I posted?
      - Can I filter message statuses to unread ones for one user?
      instructions:
      - text: List all message statuses.
      - text: List message statuses where {filter}.
        slots:
          filter: query.$filter
      - text: Return the first {top} message statuses sorted by {orderby}.
        slots:
          top: query.$top
          orderby: query.$orderby
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/MessageStatuses'].post
  update:
    x-apievangelist-phrasing:
      intent: Record a message status for a user
      effect: write
      questions:
      - How do I track whether a user has read a specific message?
      - Can I create a read status linking a message to a user profile?
      instructions:
      - text: Create a status for message {messageId} and user profile {userProfileId}.
        slots:
          messageId: requestBody.messageId
          userProfileId: requestBody.userProfileId
      - text: Record message {messageId} as read {hasRead} for user {userProfileId}.
        slots:
          messageId: requestBody.messageId
          hasRead: requestBody.hasRead
          userProfileId: requestBody.userProfileId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/MessageStatuses({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a message status by id
      effect: read
      questions:
      - Has a given message status been marked as read?
      - Can I look up one message status record by id?
      instructions:
      - text: Get message status {id}.
        slots:
          id: path.id
      - text: Fetch message status {id} with {expand} expanded.
        slots:
          id: path.id
          expand: query.$expand
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/MessageStatuses({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a message status
      effect: write
      questions:
      - How do I overwrite an entire message status record?
      - What does a full replacement of a message status need?
      instructions:
      - text: Replace message status {id} for message {messageId} and user {userProfileId}.
        slots:
          id: path.id
          messageId: requestBody.messageId
          userProfileId: requestBody.userProfileId
      - text: Overwrite message status {id} with read state {hasRead}.
        slots:
          id: path.id
          hasRead: requestBody.hasRead
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/MessageStatuses({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a message status
      effect: destructive
      questions:
      - Can I remove a single message status by its id?
      - Does deleting a message status support an If-Match ETag?
      instructions:
      - text: Delete message status {id}.
        slots:
          id: path.id
      - text: Delete message status {id} if its ETag is {etag}.
        slots:
          id: path.id
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/MessageStatuses({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Mark a message as read or unread
      effect: write
      questions:
      - How do I flip one message status to read without resending the rest?
      - Can I mark a message as unread again for a user?
      instructions:
      - text: Mark message status {id} as read {hasRead}.
        slots:
          id: path.id
          hasRead: requestBody.hasRead
      - text: Set has-read to {hasRead} on status {id}.
        slots:
          hasRead: requestBody.hasRead
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/MessageStatuses/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a blank message status template
      effect: read
      questions:
      - What default values does a new message status start with?
      - Is there an empty message status template to fill in?
      instructions:
      - text: Get the default message status template.
      - text: Show the defaults for a new message status.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/messagestatuses/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete message statuses
      effect: destructive
      questions:
      - Can I delete several message statuses in one request?
      - How do I clear a batch of message read records by id?
      instructions:
      - text: Bulk delete message statuses {ids}.
        slots:
          ids: query.ids
      - text: Remove the message statuses with ids {ids}.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/messagestatuses({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property of a message status
      effect: read
      questions:
      - What custom property values are stored on a message status?
      - Can I read one extension field from a message status?
      instructions:
      - text: Get custom property {custompropertyKey} of message status {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      - text: Read custom field {custompropertyKey} on message status {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      method: generated
      generated: '2026-09-26'