# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for OPERA Cloud Content Service Opera Content API version: 1.0.0 extends: openapi/oracle-hospitality-operacontent-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: 11 - target: $.paths['/customizedLetter/{letterId}'].get update: x-apievangelist-phrasing: intent: Retrieve a customized letter effect: read questions: - Can I pull up the customized letter generated for a guest by its letter ID? - What does a customized letter look like once it is stored in OPERA? instructions: - text: Get customized letter {letterId}. slots: letterId: path.letterId - text: Return customized letter {letterId} with ID type {letterIdtype}. slots: letterId: path.letterId letterIdtype: query.letterIdtype method: generated generated: '2026-09-26' - target: $.paths['/emailFile/{emailId}'].get update: x-apievangelist-phrasing: intent: Download a stored email file effect: read questions: - Where can I retrieve the email file saved against a guest profile? - Can I fetch the stored blob of an email that was sent from OPERA? instructions: - text: Download the stored email file {emailId}. slots: emailId: path.emailId - text: Return the email blob for email {emailId}. slots: emailId: path.emailId method: generated generated: '2026-09-26' - target: $.paths['/fileAttachments'].get update: x-apievangelist-phrasing: intent: Retrieve a file attachment effect: read questions: - How do I download a file that was attached to a record in OPERA? - Can I look up an attachment by its ID and ID type? instructions: - text: Get file attachment {id}. slots: id: query.id - text: Download the attachment with ID {id} of type {idType}. slots: id: query.id idType: query.idType method: generated generated: '2026-09-26' - target: $.paths['/fileAttachments'].post update: x-apievangelist-phrasing: intent: Upload a file attachment effect: write questions: - Can I attach a document to a reservation or profile in OPERA? - Is it possible to overwrite an existing attachment with the same file name? instructions: - text: Upload {fileName} as an attachment to {linkType} record {linkId}. slots: fileName: requestBody.fileName linkType: requestBody.linkType linkId: requestBody.linkId - text: Attach file {fileName} described as {description} at hotel {hotelId}. slots: fileName: requestBody.fileName description: requestBody.description hotelId: requestBody.hotelId method: generated generated: '2026-09-26' - target: $.paths['/folioReports/email'].post update: x-apievangelist-phrasing: intent: Email a folio report effect: write questions: - How do I email a guest their folio? - Can I send a folio report to several email recipients at once? instructions: - text: Email the folio report to {emailRecipients}. slots: emailRecipients: requestBody.emailRecipients - text: Send folio {folioInfo} by email to {emailRecipients}. slots: folioInfo: requestBody.folioInfo emailRecipients: requestBody.emailRecipients method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/customizedLetter'].put update: x-apievangelist-phrasing: intent: Update a reservation's customized letter effect: write questions: - Can I change the customized letter attached to a guest's reservation? - What do I send to edit a reservation's confirmation letter text? instructions: - text: Update the customized letter on reservation {reservationId} at hotel {hotelId}. slots: reservationId: path.reservationId hotelId: path.hotelId - text: Replace the letter for reservation {reservationId}, hotel {hotelId}, with {customizedLetterDetails}. slots: reservationId: path.reservationId hotelId: path.hotelId customizedLetterDetails: requestBody.customizedLetterDetails method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/folioReports'].get update: x-apievangelist-phrasing: intent: Generate a reservation's folio report effect: read questions: - Can I get the folio for a specific folio window on a reservation? - Which folio report matches a given bill number? instructions: - text: Get the folio report for reservation {reservationId} at hotel {hotelId}. slots: reservationId: path.reservationId hotelId: path.hotelId - text: Show folio window {folioWindowNo} for reservation {reservationId} at hotel {hotelId}. slots: folioWindowNo: query.folioWindowNo reservationId: path.reservationId hotelId: path.hotelId - text: Pull bill number {billNumber} for reservation {reservationId}, hotel {hotelId}. slots: billNumber: query.billNumber reservationId: path.reservationId hotelId: path.hotelId method: generated generated: '2026-09-26' - target: $.paths['/hotels/{hotelId}/reservations/{reservationId}/registrationCard'].get update: x-apievangelist-phrasing: intent: Get a reservation's registration card effect: read questions: - Can I print a guest's registration card for check-in? - Is there a way to return only the signed registration card? - Can I regenerate the registration card in another language? instructions: - text: Get the registration card for reservation {reservationId} at hotel {hotelId}. slots: reservationId: path.reservationId hotelId: path.hotelId - text: Regenerate the registration card for reservation {reservationId}, hotel {hotelId}, in {language}. slots: reservationId: path.reservationId hotelId: path.hotelId language: query.language method: generated generated: '2026-09-26' - target: $.paths['/images'].get update: x-apievangelist-phrasing: intent: Retrieve an image effect: read questions: - Can I fetch an image stored in OPERA as base64? - Which image is linked to a given record and image code? instructions: - text: Get image {imageId}. slots: imageId: query.imageId - text: Return the {imageCode} image linked to {linkId} as base64. slots: imageCode: query.imageCode linkId: query.linkId method: generated generated: '2026-09-26' - target: $.paths['/images'].post update: x-apievangelist-phrasing: intent: Upload an image effect: write questions: - How do I upload a logo or photo to OPERA for a supported image code? - Can I upload several images in one request? instructions: - text: 'Upload these images: {images}.' slots: images: requestBody.images - text: Add a new image to OPERA from {images}. slots: images: requestBody.images method: generated generated: '2026-09-26' - target: $.paths['/images'].delete update: x-apievangelist-phrasing: intent: Delete an image effect: destructive questions: - Can I remove an image by its image code or image set? - Can I delete a stored image using its image ID and ID type? instructions: - text: Delete image {imageId}. slots: imageId: query.imageId - text: Remove the images with code {imageCode} in set {imageSet}. slots: imageCode: query.imageCode imageSet: query.imageSet method: generated generated: '2026-09-26'