Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/oracle-hospitality-availabilityasync-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: OPERA Cloud Price Availability Rate Async Availability Async API
description: APIs to cater for Price and Rate Availability Asynchronous functionality in OPERA Cloud.<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: /par/async/v1
tags:
- name: AvailabilityAsync
description: The Availability Asynchronous module provides capability for an external system to retrieve availability related data using an asynchronous approach.
paths:
/externalSystems/{extSystemCode}/hotels/{hotelId}/restrictions:
post:
summary: Create restrictions in OPERA Cloud.
description: A user can send various restrictions to OPERA by specifying restriction details in the request. <p><strong>OperationId:</strong>postRestrictionsProcess</p>
operationId: postRestrictionsProcess
x-interaction:
- async-polling
responses:
'202':
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})*'
Location:
description: Location of newly created resource
schema:
type: string
description: HATEOAS links which help the consumer to navigate to resources
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/links'
'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'
parameters:
- name: hotelId
in: path
required: true
description: Unique ID of the hotel in OPERA
schema:
type: string
maxLength: 2000
minLength: 1
- name: extSystemCode
in: path
required: true
description: Unique code of the external system
schema:
type: string
maxLength: 2000
minLength: 1
- $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/Accept-Language'
tags:
- AvailabilityAsync
requestBody:
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/restrictions'
description: Request for configuring restrictions.
required: true
/externalSystems/{extSystemCode}/hotels/{hotelId}/restrictions/{requestId}:
head:
summary: Check status of Restrictions
description: Use this to check whether the restrictions sent have been processed. <p><strong>OperationId:</strong>getRestrictionsProcessStatus</p>
operationId: getRestrictionsProcessStatus
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})*'
Status:
description: Status of the requested process.
schema:
type: string
enum:
- Processing
- Invalid
Cache-Control:
description: number of seconds to wait before polling again.
x-example: max-age=10
schema:
type: string
description: Response for status of scheduled asynchronous process.
'201':
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})*'
Status:
description: Status of the requested process.
schema:
type: string
enum:
- Completed
Location:
description: Location of newly created resource once the status of process run is Complete.
schema:
type: string
description: Response for status of scheduled asynchronous process.
'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'
parameters:
- name: requestId
in: path
required: true
description: Unique ID to fetch status of created restrictions.
schema:
type: string
maxLength: 2000
minLength: 1
- name: extSystemCode
in: path
required: true
description: Unique code of the external system.
schema:
type: string
maxLength: 2000
minLength: 1
- name: hotelId
in: path
required: true
description: Unique ID of Hotel in OPERA.
schema:
type: string
maxLength: 2000
minLength: 1
- $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/Accept-Language'
tags:
- AvailabilityAsync
get:
summary: Get status for created restrictions.
description: Use this to check whether the restrictions sent have been processed. <p><strong>OperationId:</strong>getRestrictions</p>
operationId: getRestrictions
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: HATEOAS links which help the consumer to navigate to resources
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/restrictionsStatus'
'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'
parameters:
- name: hotelId
in: path
required: true
description: Unique ID of Hotel in OPERA.
schema:
type: string
maxLength: 2000
minLength: 1
- name: extSystemCode
in: path
required: true
description: Unique code of the external system.
schema:
type: string
maxLength: 2000
minLength: 1
- name: requestId
in: path
required: true
description: Unique ID to fetch status of created restrictions.
schema:
type: string
maxLength: 2000
minLength: 1
- $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/Accept-Language'
tags:
- AvailabilityAsync
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
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:
restrictionsStatus:
type: object
description: Response for created restrictions status.
properties:
warnings:
description: List of warnings that occurred.
$ref: '#/components/schemas/warningsType'
links:
$ref: '#/components/schemas/links'
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.
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'
createRestrictionType:
type: object
properties:
restrictionStatus:
description: Indicates the type of the restriction.
$ref: '#/components/schemas/restrictionStatusType'
ratePlanCodes:
description: The rate code for which the restriction will be applied.
type: array
maxItems: 4000
items:
type: string
minLength: 0
maxLength: 20
rateClasses:
description: The rate class for which the restriction will be applied.
type: array
maxItems: 4000
items:
type: string
minLength: 0
maxLength: 20
roomClasses:
description: The room class for which the restriction will be applied.
type: array
maxItems: 4000
items:
type: string
minLength: 0
maxLength: 20
bookingChannels:
description: Booking channel.
type: array
maxItems: 4000
items:
type: string
minLength: 0
maxLength: 20
roomTypes:
description: The room type for which the restriction will be applied.
type: array
maxItems: 4000
items:
type: string
minLength: 0
maxLength: 20
ratePlanCategories:
description: The rate category for which the restriction will be applied.
type: array
maxItems: 4000
items:
type: string
minLength: 0
maxLength: 20
seasonCode:
description: The season code during which the restrictions are valid.
type: string
minLength: 0
maxLength: 20
blockId:
description: Unique block identifier of the block for which restriction will be applied.
$ref: '#/components/schemas/blockId'
bookingChannelOnRequest:
description: Booking channel on request.
type: string
minLength: 0
maxLength: 1
dateRangeStart:
description: The starting value of the date range.
type: string
format: date
dateRangeEnd:
description: The ending value of the date range.
type: string
format: date
sunday:
type: boolean
monday:
type: boolean
tuesday:
type: boolean
wednesday:
type: boolean
thursday:
type: boolean
friday:
type: boolean
saturday:
type: boolean
yieldStatus:
description: Yield status condition.
$ref: '#/components/schemas/roomTypeYieldableType'
restrictionStatusType:
type: object
description: The RestrictionStatusType is used to indicate the type of restriction applied. An enumerated restriction type is defined in the attribute group.
properties:
code:
description: Identifies the type of restriction. I.E. Closed, ClosedForArrival, etc.
$ref: '#/components/schemas/restrictionStatusesType'
unit:
description: Defines restriction in conjunction with Restriction Code. Value must be specified for Restriction Codes MinimumStayThrough, MaximumStayThrough, MinimumLengthOfStay, MaximumLengthOfStay, MinimumAdvanceBooking, MaximumAdvanceBooking.
type: integer
lengthOfStay1:
description: Indicates Length of Stay 1 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
type: boolean
lengthOfStay2:
description: Indicates Length of Stay 2 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
type: boolean
lengthOfStay3:
description: Indicates Length of Stay 3 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
type: boolean
lengthOfStay4:
description: Indicates Length of Stay 4 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
type: boolean
lengthOfStay5:
description: Indicates Length of Stay 5 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
type: boolean
lengthOfStay6:
description: Indicates Length of Stay 6 is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
type: boolean
lengthOfStay7:
description: Indicates Length of Stay 7 or more is not available. Defines restriction in conjunction with Restriction Code LengthOfStayNotAvailable.
type: boolean
restrictionsType:
type: array
description: Collection of restrictions to be configured.
maxItems: 1000
items:
$ref: '#/components/schemas/createRestrictionType'
restrictionStatusesType:
type: string
enum:
- Closed
- ClosedForArrival
- ClosedForDeparture
- MinimumStayThrough
- MaximumStayThrough
- MinimumLengthOfStay
- MaximumLengthOfStay
- LengthOfStayNotAvailable
- MinimumAdvanceBooking
- MaximumAdvanceBooking
- Open
- OpenForArrival
- OpenForDeparture
blockId:
type: object
description: An identifier used to uniquely reference an object in a system (e.g. an airline reservation reference, customer profile reference, booking confirmation number, or a reference to a previous availability quote).
properties:
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
restrictions:
type: object
description: Request for configuring restrictions.
properties:
restrictions:
description: Restrictions to be configured.
$ref: '#/components/schemas/restrictionsType'
links:
$ref: '#/components/schemas/links'
warningsType:
type: array
description: Used in conjunction with the Success element to define a business error.
maxItems: 4000
items:
$ref: '#/components/schemas/warningType'
roomTypeYieldableType:
type: string
description: Simple type for Yieldable or Non Yieldable
enum:
- Yieldable
- NonYieldable
links:
type: array
items:
$ref: '#/components/schemas/instanceLink'
externalDocs:
description: Find out more about Oracle Hospitality
url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html