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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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.


    Compatible with OPERA Cloud release 26.2.0.0


    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.'
  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:
  parameters:
    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
    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
    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
    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
    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
  schemas:
    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.
    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
    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'
    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
    RoomTypeItem:
      type: object
      properties:
        room:
          type: object
          $ref: '#/components/schemas/Room'
        occupancy:
          type: object
          $ref: '#/components/schemas/Occupancy'
      required:
      - room
    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
    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.
    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.
    RatePlanItem:
      type: object
      properties:
        ratePlan:
          type: object
          $ref: '#/components/schemas/RatePlan'
      required:
      - ratePlan
externalDocs:
  description: Find out more about Oracle Hospitality
  url: https://docs.oracle.com/en/industries/hospitality/integration_platforms.html