Oracle Hospitality Lookup API

The Lookup API from Oracle Hospitality — 2 operation(s) for lookup.

Operations 2

GET /hotels/{hotelCode}/externalRoomTypes Get External Room Types #
GET /hotels/{hotelCode}/externalRatePlans Get External Rate Plans #

Work with this as data

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-lookup-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 Specification

oracle-hospitality-lookup-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OPERA Cloud Distribution Outbound Lookup API
  version: 26.2.0.0
  description: Oracle Hospitality Distribution External Lookup is to get rate plan and room types from external channel partners.<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>
  contact:
    email: hospitality_apis_ww_grp@oracle.com
  license:
    name: UPL
    url: https://opensource.org/licenses/upl
  termsOfService: https://www.oracle.com/legal/terms.html
servers:
- url: /lookup/v1
tags:
- name: Lookup
paths:
  /hotels/{hotelCode}/externalRoomTypes:
    get:
      summary: Get External Room Types
      operationId: getExternalRoomTypes
      description: Provide an ability to get room types information from a channel partner to OPERA Cloud Distribution.
      tags:
      - Lookup
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/hotelCode'
      - $ref: '#/components/parameters/channelCode'
      - $ref: '#/components/parameters/lang'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      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: OK
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExternalRoomTypesResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '411':
          description: Length Required
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
  /hotels/{hotelCode}/externalRatePlans:
    get:
      summary: Get External Rate Plans
      operationId: getExternalRatePlans
      description: Provide an ability to get rate plan codes information from a channel partner to OPERA Cloud Distribution.
      tags:
      - Lookup
      parameters:
      - $ref: '#/components/parameters/authorization'
      - $ref: '#/components/parameters/hotelCode'
      - $ref: '#/components/parameters/channelCode'
      - $ref: '#/components/parameters/roomType'
      - $ref: '#/components/parameters/lang'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      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: OK
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExternalRatePlansResponse'
        '400':
          description: Request data provided is invalid
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '401':
          description: Unauthorized
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '403':
          description: Forbidden
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '404':
          description: Not Found
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '405':
          description: Not Allowed
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '406':
          description: Not Acceptable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '411':
          description: Length Required
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '413':
          description: Payload Too Large
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '414':
          description: URI Too Long
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '415':
          description: Unsupported Media Type
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '500':
          description: Internal Server Error
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '502':
          description: Bad Gateway
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
        '503':
          description: Service Unavailable
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ExceptionDetail'
components:
  schemas:
    ExternalRoomTypesResponse:
      type: object
      properties:
        property:
          type: object
          $ref: '#/components/schemas/Property'
        items:
          type: array
          items:
            $ref: '#/components/schemas/RoomTypeItem'
        hasMore:
          type: boolean
          example: true
          description: Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.
        totalResults:
          type: integer
          example: 300
          description: Total number of records queried.
        limit:
          type: integer
          example: 200
          description: Indicates maximum number of records a Web Service should return in the response.
        count:
          type: integer
          example: 100
          description: Total number of rows returned.
        offset:
          type: integer
          example: 0
          description: Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.
    RatePlanItem:
      type: object
      properties:
        ratePlan:
          type: object
          $ref: '#/components/schemas/RatePlan'
      required:
      - ratePlan
    Property:
      type: object
      properties:
        hotelCode:
          type: string
          example: XUSXXYY99
          description: A unique identifier value for the property/hotel associated with a channel.
        channelCode:
          type: string
          example: CH1
          description: ' A code for the channel partner that is set up in the Oracle Hospitality Distribution.'
      required:
      - hotelCode
      - channelCode
    Room:
      type: object
      properties:
        roomType:
          type: string
          example: XA1K
          description: The code for the room type.
        roomName:
          type: string
          example: '102'
          description: Name of the room type.
        description:
          type: string
          example: Deluxe King Room on my Channel.
          description: Description of the room type.
      required:
      - roomType
    RatePlan:
      type: object
      properties:
        ratePlanCode:
          type: string
          example: XDAILY
          description: The code for a rate plan.
        ratePlanName:
          type: string
          example: Corporate
          description: The name of the rate plan.
        ratePlanDescription:
          type: string
          example: Daily discount for a corporation.
          description: Description of the rate plan code.
      required:
      - ratePlanCode
    ExceptionDetail:
      description: Common Error Response format.
      type: object
      properties:
        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.
          example: Error in Application
        status:
          type: integer
          description: HTTP status code for this occurrence of the problem, set by the origin server.
          example: 400
        o:errorCode:
          type: string
          description: Business specific Error code, which is different from HTTP error code.
          example: RSV-34534534
        type:
          type: string
          description: Absolute URI [RFC3986] that identifies the problem type. When dereferenced, it SHOULD provide a human-readable summary of the problem.
          example: 'http: //www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4'
        timestamp:
          type: string
          format: date-time
          description: The UTC Date and Time of the Error happened.
          example: '2022-01-02T11: 30: 22.234Z'
        o:errorDetails:
          description: Details of the error message, consisting of a hierarchical tree structure.
          type: array
          items:
            $ref: '#/components/schemas/ExceptionDetail'
        logId:
          type: integer
          description: An ID for support reasons to be able identify errors better.
          example: '334543532224'
    Occupancy:
      type: object
      properties:
        maxOccupancy:
          type: integer
          example: 3
          description: The maximum number of individuals allowed in the room type.
        maxAdultOccupancy:
          type: integer
          example: 3
          description: The maximum number of adults allowed in the room type.
        maxChildOccupancy:
          type: integer
          example: 2
          description: The maximum number of children allowed in the room type.
    ExternalRatePlansResponse:
      type: object
      properties:
        property:
          type: object
          $ref: '#/components/schemas/Property'
        items:
          type: array
          items:
            $ref: '#/components/schemas/RatePlanItem'
        hasMore:
          type: boolean
          example: true
          description: Indicates whether all the records are included in the response or not. Absence of the attribute values should be consider as all rows fetched in the response.
        totalResults:
          type: integer
          example: 300
          description: Total number of records queried.
        limit:
          type: integer
          example: 200
          description: Indicates maximum number of records a Web Service should return in the response.
        count:
          type: integer
          example: 100
          description: Total number of rows returned.
        offset:
          type: integer
          example: 0
          description: Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.
    RoomTypeItem:
      type: object
      properties:
        room:
          type: object
          $ref: '#/components/schemas/Room'
        occupancy:
          type: object
          $ref: '#/components/schemas/Occupancy'
      required:
      - room
  parameters:
    authorization:
      name: authorization
      description: A Basic authentication header using the base64 hash of your Client user and Client password in the format base64 encoded to the Basic Access Authorization standard.
      in: header
      required: true
      schema:
        type: string
    limit:
      name: limit
      in: query
      description: Indicates maximum number of records a Web Service should return in the response. Maximum record limit is 1000.
      required: true
      x-example: 1000
      schema:
        type: integer
        default: 1000
        maximum: 1000
    offset:
      name: offset
      in: query
      description: Index or initial index of the set(page) being requested. If the index goes out of the bounds of the total set count then no data will be returned.
      required: true
      x-example: 1
      schema:
        type: integer
    lang:
      name: lang
      in: query
      description: ISO639 / BCP 47 language code format.
      required: false
      x-example: en-US
      schema:
        type: string
    roomType:
      name: roomType
      description: The OPERA Cloud Hotel/proeprty Room type code.
      in: query
      required: false
      x-example: XA1K
      schema:
        type: string
        minLength: 1
    hotelCode:
      name: hotelCode
      description: A unique identifier value for the property/hotel associated with a channel.
      in: path
      required: true
      x-example: XUSXXYY99
      schema:
        type: string
        maxLength: 50
        minLength: 1
    channelCode:
      name: channelCode
      description: A unique identifier value for the channel associated with a property/hotel.
      in: query
      required: false
      x-example: CH1
      schema:
        type: string
        maxLength: 50
        minLength: 1
externalDocs:
  description: Find out more about Oracle Hospitality
  url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html