Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: OPERA Cloud Customer Relationship Management Profile LOV API
description: APIs to cater for Customer Relationship Management (profile) functionality in OPERA Cloud.<br /><br /> There are different types of profiles in OPERA Cloud, including Guest, Company, Travel Agent, Source, Group, and Contact profile types. A profile can store and display a wide range of information about the guest, company, travel agent etc., depending upon the type of profile. For example, a guest profile can store the guest name, address, contact information, details on billing, membership benefits, preferences and much more. All profiles in OPERA when created are assigned a ProfileID. This ID will be used throughout the CRM APIs.<br /><br /> Compatible with OPERA Cloud release 26.2.0.0.<br /><br /><p> This document and all content within is available under the Universal Permissive License v 1.0 (https://oss.oracle.com/licenses/upl). Copyright (c) 2020, 2026 Oracle and/or its affiliates.</p>
version: 26.2.0.0
termsOfService: https://www.oracle.com/legal/terms.html
contact:
email: hospitality_apis_ww_grp@oracle.com
license:
name: UPL
url: https://opensource.org/licenses/upl
servers:
- url: /crm/v1
tags:
- name: ProfileLOV
description: Profiles have many Lists of Values, storing the available options a user can select when updating a profile. This module allows you to get available ListOfValues for Profile Preferences and AR Addresses on a profile.
paths:
/profileListOfValues/availableARAddresses:
get:
summary: 'Get available AR Addresses '
description: Use this API to fetch the available AR Addresses List Of Values for profiles <p><strong>OperationId:</strong>getAvailableARAddresses</p>
operationId: getAvailableARAddresses
parameters:
- name: profileId
in: query
required: true
description: A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.
schema:
type: string
- name: hotelId
in: query
required: true
description: The property where the AR Account exists or is being created.
schema:
type: string
- name: accountId
in: query
required: false
description: A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.
schema:
type: string
- name: accountIdContext
in: query
required: false
description: Used to identify the source of the identifier (e.g., IATA, ABTA).
schema:
type: string
- name: accountType
in: query
required: false
description: A reference to the type of object defined by the UniqueID element.
schema:
type: string
- name: accountNo
in: query
required: false
description: The Account Number of the AR Account of the Profile.
schema:
type: string
- $ref: '#/components/parameters/authKey'
- $ref: '#/components/parameters/externalData'
- $ref: '#/components/parameters/x-app-key'
- $ref: '#/components/parameters/x-request-id'
- $ref: '#/components/parameters/x-originating-application'
- $ref: '#/components/parameters/x-hotelid'
- $ref: '#/components/parameters/x-externalsystem'
- $ref: '#/components/parameters/Accept-Language'
responses:
'200':
headers:
Content-Language:
description: Audience language
x-example: en-GB
schema:
type: string
pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
description: Response to the request to fetch the available Accounts Receivables(AR) Addresses for a Profile.
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/availableARAddresses'
'204':
description: AvailableARAddresses not found.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'413':
$ref: '#/components/responses/413'
'414':
$ref: '#/components/responses/414'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
tags:
- ProfileLOV
/profileListOfValues/availablePreferences:
get:
summary: Get available preferences
description: Use this API to fetch the available preferences List Of Values for profiles <p><strong>OperationId:</strong>getAvailablePreferences</p>
operationId: getAvailablePreferences
parameters:
- name: id
in: query
required: true
description: A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.
schema:
type: string
- name: hotelId
in: query
required: false
description: Property for which preferences are to be fetched.
schema:
type: string
- name: maxFetchSize
in: query
required: false
description: Maximum records to be fetched.
schema:
type: integer
- $ref: '#/components/parameters/authKey'
- $ref: '#/components/parameters/externalData'
- $ref: '#/components/parameters/x-app-key'
- $ref: '#/components/parameters/x-request-id'
- $ref: '#/components/parameters/x-originating-application'
- $ref: '#/components/parameters/x-hotelid'
- $ref: '#/components/parameters/x-externalsystem'
- $ref: '#/components/parameters/Accept-Language'
responses:
'200':
headers:
Content-Language:
description: Audience language
x-example: en-GB
schema:
type: string
pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
description: A collection of preferences
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/availablePreferences'
'204':
description: AvailablePreferences not found.
'400':
$ref: '#/components/responses/400'
'401':
$ref: '#/components/responses/401'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'405':
$ref: '#/components/responses/405'
'406':
$ref: '#/components/responses/406'
'413':
$ref: '#/components/responses/413'
'414':
$ref: '#/components/responses/414'
'415':
$ref: '#/components/responses/415'
'500':
$ref: '#/components/responses/500'
'502':
$ref: '#/components/responses/502'
'503':
$ref: '#/components/responses/503'
tags:
- ProfileLOV
components:
responses:
'406':
description: Not acceptable.
'414':
description: Request URI Too Large
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/exceptionDetailType'
'403':
description: Forbidden
'413':
description: Request Entity Too Large
'415':
description: Unsupported Media Type
'404':
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/exceptionDetailType'
'502':
description: Bad Gateway
'500':
description: System Error
content:
application/json:
schema:
$ref: '#/components/schemas/exceptionDetailType'
'503':
description: Service Unavailable
'401':
description: Unauthorized
'405':
description: Method not allowed
parameters:
x-hotelid:
name: x-hotelid
description: Mandatory parameter to identify the hotel code where the end user is logged in
in: header
required: true
schema:
type: string
x-app-key:
name: x-app-key
description: Client or Partner's Application Key
in: header
required: true
schema:
type: string
pattern: ^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$
authKey:
name: authorization
description: Bearer token that needs to be passed which is generated post user authentication
in: header
required: true
schema:
type: string
x-externalsystem:
name: x-externalsystem
description: External system code.
in: header
x-example: EXTERNALSYSTEMCODE
schema:
type: string
maxLength: 40
externalData:
name: externalData
description: Pass this header as true, if payload needs DVM
in: header
schema:
type: string
x-originating-application:
name: x-originating-application
description: Customer's Integration Application Id
in: header
schema:
type: string
Accept-Language:
name: Accept-Language
description: Language code
in: header
schema:
type: string
x-request-id:
name: x-request-id
description: Request Id of an incoming request
in: header
schema:
type: string
pattern: ~*[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
schemas:
preferenceType:
type: object
description: Guest Preference details for the profile.
properties:
preferenceValue:
description: Preference value for display purposes.
type: string
minLength: 0
maxLength: 200
description:
description: Preference Description for display purposes.
type: string
minLength: 0
maxLength: 2000
global:
description: Whether this preference is property specific or not.
type: boolean
source:
description: Source of the preference.
type: string
minLength: 0
maxLength: 40
hotels:
description: If specified preference belongs to the Hotels listed, otherwise it is a global preference.
type: array
maxItems: 4000
items:
type: string
minLength: 0
maxLength: 20
preferenceCode:
type: string
minLength: 0
maxLength: 20
excludedPreferencesCount:
description: Specifies the count of preferences excluded for the attached reservation preference.
type: integer
copyToProfile:
description: Specifies whether to copy the reservation preference to the profile or not.
type: boolean
countryNameType:
type: object
description: Code for a country or a nationality.
properties:
value:
type: string
description: Used for Character Strings, length 0 to 200.
minLength: 0
maxLength: 200
code:
description: Code for a country or a nationality.
type: string
minLength: 0
maxLength: 20
instanceLink:
type: object
description: Metadata describing link description objects that MAY appear in the JSON instance representation.
properties:
href:
description: URI [RFC3986] or URI Template [RFC6570]. If the value is set to URI Template, then the "templated" property must be set to true.
type: string
rel:
description: Name of the link relation that, in addition to the type property, can be used to retrieve link details. For example, href or profile.
type: string
templated:
description: Boolean flag that specifies that "href" property is a URI or URI Template. If the property is a URI template, set this value to true. By default, this value is false.
type: boolean
default: false
method:
description: HTTP method for requesting the target of the link.
type: string
enum:
- GET
- POST
- PUT
- DELETE
- PATCH
- OPTIONS
- HEAD
targetSchema:
description: Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource..
type: string
operationId:
description: The operationId of the path you can call to follow this link. This allows you to look up not only the path and method, but the description of that path and any parameters you need to supply.
type: string
title:
description: Exact copy of the "summary" field on the linked operation.
type: string
errorInstance:
title: Error Instance Details
description: Complex type that contains error instance details for a REST call.
type: object
properties:
type:
type: string
description: Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem (for example, using HTML).
title:
type: string
description: Short, human-readable summary of the problem. The summary SHOULD NOT change for subsequent occurrences of the problem, except for purposes of localization.
status:
type: integer
description: HTTP status code for this occurrence of the problem, set by the origin server.
detail:
type: string
description: Human-readable description specific to this occurrence of the problem.
instance:
type: string
description: Absolute URI that identifies the specific occurrence of the problem. It may or may not provide additional information if dereferenced.
o:errorCode:
type: string
description: Application error code, which is different from HTTP error code.
o:errorPath:
type: string
description: Path to the problem at the resource or property level.
required:
- type
- title
warningType:
type: object
description: Used when a message has been successfully processed to report any warnings or business errors that occurred.
properties:
value:
type: string
description: Property Value
shortText:
description: An abbreviated version of the error in textual format.
type: string
maxLength: 2000
code:
description: If present, this refers to a table of coded values exchanged between applications to identify errors or warnings.
type: string
minLength: 0
maxLength: 20
docURL:
description: If present, this URL refers to an online description of the error that occurred.
type: string
maxLength: 2000
status:
description: If present, recommended values are those enumerated in the ErrorRS, (NotProcessed Incomplete Complete Unknown) however, the data type is designated as string data, recognizing that trading partners may identify additional status conditions not included in the enumeration.
type: string
maxLength: 2000
tag:
description: If present, this attribute may identify an unknown or misspelled tag that caused an error in processing. It is recommended that the Tag attribute use XPath notation to identify the location of a tag in the event that more than one tag of the same name is present in the document. Alternatively, the tag name alone can be used to identify missing data [Type=ReqFieldMissing].
type: string
maxLength: 2000
recordId:
description: If present, this attribute allows for batch processing and the identification of the record that failed amongst a group of records. This value may contain a concatenation of a unique failed transaction ID with specific record(s) associated with that transaction.
type: string
maxLength: 2000
type:
description: The Warning element MUST contain the Type attribute that uses a recommended set of values to indicate the warning type. The validating XSD can expect to accept values that it has NOT been explicitly coded for and process them by using Type ="Unknown".
type: string
minLength: 0
maxLength: 20
language:
description: Language identification.
type: string
pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
rph:
description: Reference Place Holder used as an index for this warning.
type: string
minLength: 1
maxLength: 8
exceptionDetailType:
title: Error Detail
description: Complex type that contains error details for a REST call.
type: object
properties:
type:
type: string
description: Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem (for example, using HTML).
title:
type: string
description: Short, human-readable summary of the problem. The summary SHOULD NOT change for subsequent occurrences of the problem, except for purposes of localization.
status:
type: integer
description: HTTP status code for this occurrence of the problem, set by the origin server.
detail:
type: string
description: Human-readable description specific to this occurrence of the problem.
instance:
type: string
description: Absolute URI that identifies the specific occurrence of the problem. It may or may not provide additional information if dereferenced.
o:errorCode:
type: string
description: Application error code, which is different from HTTP error code.
o:errorPath:
type: string
description: Path to the problem at the resource or property level.
o:errorDetails:
description: Details of the error message, consisting of a hierarchical tree structure.
type: array
items:
$ref: '#/components/schemas/errorInstance'
links:
$ref: '#/components/schemas/links'
required:
- type
- title
availablePreferences:
type: object
properties:
preferenceCollection:
type: array
description: A collection of preferences
items:
$ref: '#/components/schemas/preferenceTypeType'
links:
$ref: '#/components/schemas/links'
warnings:
$ref: '#/components/schemas/warningsType'
addressInfoType:
type: object
description: Provides address information.
properties:
address:
description: Address details for the profile.
$ref: '#/components/schemas/addressType'
id:
description: A unique identifying value assigned by the creating system. The ID attribute may be used to reference a primary-key value within a database or in a particular implementation.
type: string
minLength: 0
maxLength: 80
type:
description: A reference to the type of object defined by the UniqueID element.
type: string
minLength: 0
maxLength: 40
preferenceTypeType:
type: object
description: Preference details for the profile.
properties:
preference:
description: Collection of Preferences for the profile.
type: array
maxItems: 4000
items:
$ref: '#/components/schemas/preferenceType'
preferenceType:
description: Preference group code.
type: string
minLength: 0
maxLength: 20
preferenceTypeDescription:
description: Preference group description.
type: string
sequence:
description: Preference Sequence.
type: string
maxQuantity:
description: Maximum quantity of preferences allowed per preference group.
type: integer
availableQuantity:
description: Available quantity of preferences (maximum quantity - Existing preferences)per preference group.
type: integer
maxResortUsedQuantity:
description: Maximum quantity of preferences used by any resort per preference group.
type: integer
reservationPreference:
description: Whether this preference is reservation preference or not.
type: boolean
createDateTime:
description: Time stamp of the creation.
type: string
format: date-time
creatorId:
description: ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.
type: string
minLength: 0
maxLength: 200
lastModifyDateTime:
description: Time stamp of last modification.
type: string
format: date-time
lastModifierId:
description: Identifies the last software system or person to modify a record.
type: string
minLength: 0
maxLength: 200
warningsType:
type: array
description: Used in conjunction with the Success element to define a business error.
maxItems: 4000
items:
$ref: '#/components/schemas/warningType'
links:
type: array
items:
$ref: '#/components/schemas/instanceLink'
availableARAddresses:
type: object
description: Response to the request to fetch the available Accounts Receivables(AR) Addresses for a Profile.
properties:
addresses:
description: Collection of Detailed information on an address for the customer.
type: array
items:
$ref: '#/components/schemas/addressInfoType'
links:
$ref: '#/components/schemas/links'
warnings:
$ref: '#/components/schemas/warningsType'
addressType:
type: object
description: Provides address information.
properties:
isValidated:
description: Indicator to define if the Address is validated by the Address Validation System.
type: boolean
addressLine:
description: When the address is unformatted (FormattedInd="false") these lines will contain free form address details. When the address is formatted and street number and street name must be sent independently, the street number will be sent using StreetNmbr, and the street name will be sent in the first AddressLine occurrence.
type: array
maxItems: 4
items:
type: string
minLength: 0
maxLength: 80
cityName:
description: City (e.g., Dublin), town, or postal station (i.e., a postal service territory, often used in a military address).
type: string
minLength: 0
maxLength: 40
postalCode:
description: Post Office Code number.
type: string
minLength: 0
maxLength: 15
cityExtension:
description: Post Office City Extension Code number. City Extension mainly used for UK addresses.
type: string
minLength: 0
maxLength: 20
county:
description: County or District Name (e.g., Fairfax). Currently this attribute is not used.
type: string
minLength: 0
maxLength: 20
state:
description: State or Province name (e.g., Texas).
type: string
minLength: 0
maxLength: 20
country:
description: Country name (e.g., Ireland).
$ref: '#/components/schemas/countryNameType'
language:
description: Language identification.
type: string
pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
type:
description: Defines the type of address (e.g. home, business, other).
type: string
minLength: 0
maxLength: 20
typeDescription:
description: Describes the type code
type: string
primaryInd:
description: When true, indicates a primary information.
type: boolean
updateReservations:
description: Indicates whether to update the reservations or not. If true and the address is primary, then all associated active reservations will be updated with the new primary address.
type: boolean
barCode:
description: The postal barcode for the address.
type: string
minLength: 0
maxLength: 100
createDateTime:
description: Time stamp of the creation.
type: string
format: date-time
creatorId:
description: ID of creator. The creator could be a software system identifier or an identifier of an employee resposible for the creation.
type: string
minLength: 0
maxLength: 200
lastModifyDateTime:
description: Time stamp of last modification.
type: string
format: date-time
lastModifierId:
description: Identifies the last software system or person to modify a record.
type: string
minLength: 0
maxLength: 200
externalDocs:
description: Find out more about Oracle Hospitality
url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html