Oracle Hospitality Profile Membership API

This will allow you to create a guest profile enrollment in OPERA Cloud. Enrollment relates to a membership program, so as an example you can enrol the guest Mr Tom Smith into a Membership / loyalty program.

Operations 45

POST /externalSystems/{extSystemCode}/chains/{chainCode}/enrollments Create an Enrollment #
PUT /externalSystems/{extSystemCode}/profiles/{externalProfileId}/profileAwards Redeem an award #
GET /externalSystems/{extSystemCode}/profiles/{externalProfileId}/memberships Get membership information on a profile #
GET /airline/transactions Get airline transactions status #
GET /availableAwardsBasedOnType Get Available Awards #
DELETE /awards Delete Awards #
GET /awardsToGrant Get Awards to Grant #
POST /enrollments Create an Enrollment #
GET /hotels/{hotelId}/memberships/{membershipId} Get Membership Issued awards points #
POST /issueOtherAwards Issue an OTHER type award #
GET /memberHistory Get primary membership history details of a guest. #
GET /membershipClaims Get membership claims #
POST /membershipClaims Create membership Claim #
GET /membershipClaims/{claimId} Get membership claim #
PUT /membershipClaims/{claimId} Change membership Claim #
POST /membershipPoints/calculations Calculate Membership Points #
GET /membershipPointsExceptions Get membership points exception details #
PUT /membershipPointsExceptions Update membership points exceptions #
GET /membershipReservationActivity Get Membership Reservation Activity #
GET /membershipTransactions/{membershipTransactionId} Get a membership transaction #
GET /membershipTransactions/{membershipTransactionId}/awardPoints Fetch the Award Points Accrued for the current points transaction. #
GET /membershipTransactions/{membershipTransactionId}/pointRejectionReasons Fetch the reason points were not awarded for a given points transaction. #
GET /membershipTransactions/{membershipTransactionId}/rates Fetch the rate details associated to current points transaction. #
GET /membershipTransactions/{membershipTransactionId}/revenue Fetch the revenue details for the stay associated with current point transaction. #
GET /membershipTransactions/{membershipTransactionId}/tierPoints Fetch the Tier Points Accrued for the current points transaction #
GET /memberships/{membershipId}/award Export Membership Award #
GET /memberships/{membershipId}/awardExports Get Membership Award Export Information #
GET /memberships/{membershipId}/awards Get Membership Award list #
GET /memberships/{membershipId}/claims Get membership claims #
GET /memberships/{membershipId}/pointsToExpire Get membership points to expire #
PUT /memberships/{membershipId}/pointsToExpire Extend Member Points set to Expire #
GET /memberships/{membershipId}/promotions Fetch membership promotions of a guest #
POST /memberships/{membershipId}/promotions Create membership promotion of a guest #
PUT /memberships/{membershipId}/promotions/{promotionCode} Change membership promotion of a guest #
DELETE /memberships/{membershipId}/promotions/{promotionCode} Delete membership promotion of a guest #
GET /memberships/{membershipId}/transactions Get membership transactions #
POST /memberships/{membershipId}/transactions Post a membership transaction #
GET /membershipsCard/{membershipCardNo}/membershipType/{membershipCardType}/pointsToExpire Get membership points to expire #
GET /membershipsCard/{membershipCardNo}/membershipType/{membershipCardType}/transactions Get membership transactions #
GET /profileForEnrollment Get Profiles for Enrollment #
PUT /profiles/{profileId}/awards/redeem Redeem an award #
GET /profiles/{profileId}/membershipTransactionExceptions Get membership transaction exception details #
GET /profiles/{profileId}/memberships/history Get membership card history information on a profile #
GET /profiles/{profileId}/memberships/info Get membership information on a profile #
GET /services/profileMembership/status Operation to check status of ProfileMembership service #

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-profilemembership-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-profilemembership-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Oracle Hospitality Profile Membership API
  version: 26.2.0.0
  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
  description: 'Operations tagged ProfileMembership across 2 of this provider''s published API definitions: oracle-hospitality-property-outbound-crmoutbound.json, oracle-hospitality-property-v1-crm.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /crm/v1
tags:
- name: ProfileMembership
  description: This will allow you to create a guest profile enrollment in OPERA Cloud. Enrollment relates to a membership program, so as an example you can enrol the guest Mr Tom Smith into a Membership / loyalty program.
paths:
  /externalSystems/{extSystemCode}/chains/{chainCode}/enrollments:
    post:
      summary: Create an Enrollment
      description: Use this API when you have a guest profile and you want to enroll that guest profile into a membership program in an external system. <p><strong>OperationId:</strong>postEnrollment</p>
      operationId: postEnrollment
      parameters:
      - name: extSystemCode
        in: path
        required: true
        description: Profile will be downloaded from this External System.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: chainCode
        in: path
        required: true
        description: Chain code from which the External Profiles will be downloaded.
        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-transactionId'
      - $ref: '#/components/parameters/Accept-Language'
      responses:
        '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})*'
            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/enrollment'
        '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:
      - ProfileMembership
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/enrollment'
        description: Request object to create profile enrollment.
        required: true
    servers:
    - url: /crm/v1
  /externalSystems/{extSystemCode}/profiles/{externalProfileId}/profileAwards:
    put:
      summary: Redeem an award
      description: Redeem an award that exists on a profile. <p><strong>OperationId:</strong>redeemAward</p>
      operationId: redeemAward
      parameters:
      - name: extSystemCode
        in: path
        required: true
        description: Profile will be downloaded from this External System.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: externalProfileId
        in: path
        required: true
        description: ''
        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-transactionId'
      - $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})*'
            Location:
              description: Location of newly created resource
              schema:
                type: string
          description: Response object for redeem award.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/award'
        '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:
      - ProfileMembership
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/award'
        description: Request object to redeem award.
        required: true
    servers:
    - url: /crm/v1
  /externalSystems/{extSystemCode}/profiles/{externalProfileId}/memberships:
    get:
      summary: Get membership information on a profile
      description: Use this API to retrieve membership details on a profile. <p><strong>OperationId:</strong>getMembershipDetails</p> <p>This API allows a time span of <strong>90</strong> days.</p>
      operationId: getMembershipDetails
      parameters:
      - name: extSystemCode
        in: path
        required: true
        description: Profile will be downloaded from this External System.
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: externalProfileId
        in: path
        required: true
        description: ''
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: operaProfileId
        in: query
        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.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: membershipType
        in: query
        required: false
        description: The type of the membership.
        schema:
          type: string
      - name: membershipId
        in: query
        required: false
        description: The card number associated with this membership.
        schema:
          type: string
      - name: hotelId
        in: query
        required: false
        description: Property from which the membership stay information was received.
        schema:
          type: string
      - name: startDate
        in: query
        required: false
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        required: false
        schema:
          type: string
          format: date
      - name: mode
        in: query
        required: false
        description: Whether member info search will pertain to transaction dates/ stay dates/ points credit dates.
        schema:
          type: string
          enum:
          - TransactionDate
          - StayBeginDate
          - StayEndDate
          - PointsCreditDate
          uniqueItems: true
      - $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-transactionId'
      - $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 object for member info.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/memberInformation'
        '204':
          description: MembershipDetails 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:
      - ProfileMembership
    servers:
    - url: /crm/v1
  /airline/transactions:
    get:
      summary: Get airline transactions status
      description: Request for fetching membership transactions processed by the airline. <p><strong>OperationId:</strong>getAirlineTransactionsStatus</p> <p>The maximum allowable limit for this API is <strong>200</strong>.</p>
      operationId: getAirlineTransactionsStatus
      deprecated: true
      parameters:
      - name: limit
        in: query
        required: false
        description: Indicates maximum number of records a Web Service should return.
        schema:
          type: integer
      - name: offset
        in: query
        required: false
        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.
        schema:
          type: integer
          default: 0
      - name: batchId
        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: batchIdType
        in: query
        required: false
        description: A reference to the type of object defined by the UniqueID element.
        schema:
          type: string
      - name: importDate
        in: query
        required: false
        description: The date when this batch was imported into OPERA
        schema:
          type: string
          format: date
      - $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: Request object for fetching membership transactions processed by the airline.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/airlineTransactionsStatus'
        '204':
          description: AirlineTransactionsStatus 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:
      - ProfileMembership
    servers:
    - url: /crm/v1
  /availableAwardsBasedOnType:
    get:
      summary: Get Available Awards
      description: Get available awards based on type of award selected like Rates, products or services, room type upgrades, and other gifts. <p><strong>OperationId:</strong>getAvailableAwardsBasedOnType</p> <p>This API allows a time span of <strong>90</strong> days.</p>
      operationId: getAvailableAwardsBasedOnType
      parameters:
      - name: awardBasedOn
        in: query
        required: false
        description: This award allows a guest to apply available membership points towards the balance of his or her bill.
        schema:
          type: string
          enum:
          - Rate
          - Product
          - Upgrade
          - Other
          - Ft
          - Discount
          uniqueItems: true
      - name: membershipType
        in: query
        required: false
        description: Membership type for which awards are defined.
        schema:
          type: string
      - name: rateCriteriaHotelId
        in: query
        required: false
        description: Hotel name where the award will be consumed.
        schema:
          type: string
      - name: arrivalDate
        in: query
        required: false
        description: Arrival date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: departureDate
        in: query
        required: false
        description: Departure date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: bookingDate
        in: query
        required: false
        description: Booking date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: pointsBelow
        in: query
        required: false
        description: Minimum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: pointsAbove
        in: query
        required: false
        description: Maximum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: rateCode
        in: query
        required: false
        description: Indicates rate code for the room type.
        schema:
          type: string
      - name: roomCategory
        in: query
        required: false
        description: Indicates which room category it belongs.
        schema:
          type: string
      - name: rooms
        in: query
        required: false
        description: Number of rooms that the member will be using.
        schema:
          type: string
      - name: awardType
        in: query
        required: false
        description: Indicates the award type or code.
        schema:
          type: string
      - name: productCriteriaMembershipType
        in: query
        required: false
        description: Membership type for which awards are defined.
        schema:
          type: string
      - name: productCriteriaHotelId
        in: query
        required: false
        description: Hotel name where the award will be consumed.
        schema:
          type: string
      - name: productCriteriaArrivalDate
        in: query
        required: false
        description: Arrival date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: productCriteriaDepartureDate
        in: query
        required: false
        description: Departure date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: productCriteriaBookingDate
        in: query
        required: false
        description: Booking date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: productCriteriaPointsBelow
        in: query
        required: false
        description: Minimum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: productCriteriaPointsAbove
        in: query
        required: false
        description: Maximum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: packageCode
        in: query
        required: false
        description: Package/Product code for the award to check availability.
        schema:
          type: string
      - name: upgradeCriteriaMembershipType
        in: query
        required: false
        description: Membership type for which awards are defined.
        schema:
          type: string
      - name: upgradeCriteriaHotelId
        in: query
        required: false
        description: Hotel name where the award will be consumed.
        schema:
          type: string
      - name: upgradeCriteriaArrivalDate
        in: query
        required: false
        description: Arrival date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: upgradeCriteriaDepartureDate
        in: query
        required: false
        description: Departure date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: upgradeCriteriaBookingDate
        in: query
        required: false
        description: Booking date of the reservation associated with the award.
        schema:
          type: string
          format: date
      - name: upgradeCriteriaPointsBelow
        in: query
        required: false
        description: Minimum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: upgradeCriteriaPointsAbove
        in: query
        required: false
        description: Maximum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: fromRoomCategory
        in: query
        required: false
        description: Indicates availability of upgrade awards based on the room type(range of room types )
        schema:
          type: string
      - name: toRoomCategory
        in: query
        required: false
        description: Indicates availability of upgrade awards based on the room type(range of room types )
        schema:
          type: string
      - name: upgradeCriteriaRooms
        in: query
        required: false
        description: Number of rooms that the member will be using.
        schema:
          type: string
      - name: upgradeCriteriaAwardType
        in: query
        required: false
        description: Indicates the award type or code.
        schema:
          type: string
      - name: awardCode
        in: query
        required: false
        description: Unique code identifying the Award.
        schema:
          type: string
      - name: totalBillingAmount
        in: query
        required: false
        description: Total amount for the bill.
        schema:
          type: number
      - name: currencyCode
        in: query
        required: false
        description: The currency code for the member.
        schema:
          type: string
      - name: fTPaymentCriteriaPointsBelow
        in: query
        required: false
        description: Minimum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: fTPaymentCriteriaPointsAbove
        in: query
        required: false
        description: Maximum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: otherCriteriaAwardCode
        in: query
        required: false
        description: Unique code identifying the award.
        schema:
          type: string
      - name: otherCriteriaMembershipType
        in: query
        required: false
        description: Membership type for which awards are defined.
        schema:
          type: string
      - name: membershipLevel
        in: query
        required: false
        description: Level of this Membership Type.
        schema:
          type: string
      - name: shortDescription
        in: query
        required: false
        description: Name or code identifying the award.
        schema:
          type: string
      - name: valueBelow
        in: query
        required: false
        description: Amount of currency of the worth of the other award,below or actual value.
        schema:
          type: number
      - name: valueAbove
        in: query
        required: false
        description: Amount of currency of the worth of the other award,above or actual value.
        schema:
          type: number
      - name: otherCriteriaPointsBelow
        in: query
        required: false
        description: Minimum number of points the member is willing to redeem.
        schema:
          type: integer
      - name: otherCriteriaPointsAbove
        in: query
        required: false
        description: Maximum number of points the member is willing to redeem.
        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: Response object to fetch member available awards based on the type being passed.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/availableAwardsBasedOnType'
        '204':
          description: AvailableAwardsBasedOnType 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:
      - ProfileMembership
    servers:
    - url: /crm/v1
  /awards:
    delete:
      summary: Delete Awards
      description: Operation to cancel an award already been granted to a member. <p><strong>OperationId:</strong>deleteAwards</p>
      operationId: deleteAwards
      parameters:
      - name: awardNumber
        in: query
        required: true
        description: An identifying number of the award, assigned by the system when the award was issued.
        schema:
          type: number
      - name: reservationCancellationNumber
        in: query
        required: false
        description: Identifies reservation cancellation number.
        schema:
          type: string
      - name: actualCancelPoints
        in: query
        required: false
        description: The amount of points that will be deducted for cancelling the award, from the total guest award points.
        schema:
          type: number
      - $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})*'
            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/status'
        '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:
      - ProfileMembership
    servers:
    - url: /crm/v1
  /awardsToGrant:
    get:
      summary: Get Awards to Grant
      description: Fetch awards list to be able to grant the award to a member <p><strong>OperationId:</strong>getAwardsToGrant</p>
      operationId: getAwardsToGrant
      parameters:
      - name: awardBasedOn
        in: query
        required: false
        description: This award allows a guest to apply available membership points towards the balance of his or her bill.
        schema:
          type: string
          enum:
          - Rate
          - Product
          - Upgrade
          - Other
          - Ft
          - Discount
          uniqueItems: true
      - name: totalPointsRequired
        in: query
        required: false
        description: The number of points that must be redeemed for this award.
        schema:
          type: number
      - name: rooms
        in: query
        required: false
        description: Number of rooms that the member will be using.
        schema:
          type: string
      - name: membershipId
        in: query
        required: false
        description: Unique Membership ID to get award info.
        schema:
          type: number
      - name: membershipType
        in: query
        required: false
        description: Membership type for which awards are defined.
        schema:
          type: string
      - name: awardType
        in: query
        required: false
        description: Indicates the award type or code.
        schema:
          type: string
      - name: grantAwardInfoHotelId
        in: query
        required: false
        description: HotelCode where the award will be consumed.
        schema:
          type: string
      - name: rateCode
        in: query
        required: false
        description: Rate code associated with the award.
        schema:
          type: string
      - name: roomCategory
        in: query
        required: false
        description: Indicates which room category it belongs.
        schema:
          type: string
      - name: fromRoom
        in: query
        required: false
        description: Indicates room type code for the room prior to the upgrade.
        schema:
          type: string
      - name: toRoom
        in: query
        required: false
        description: Indicates room type code of the upgrade room.
        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 object to fetch award details to grant an award.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/awardsToGrant'
        '204':
          description: AwardsToGrant 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:
      - ProfileMembership
    servers:
    - url: /crm/v1
  /enrollments:
    post:
      summary: Create an Enrollment
      description: Use this API when you have a guest profile and you want to enroll that guest profile into a membership program in an external system. <p><strong>OperationId:</strong>postEnrollment</p>
      operationId: postEnrollment
      parameters:
      - $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:
        '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})*'
            

# --- truncated at 32 KB (548 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oracle-hospitality/refs/heads/main/openapi/oracle-hospitality-profilemembership-api-openapi.yml