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