Oracle Hospitality Membership Config API

These APIs will allow you to configure membership configuration such as membership rates, levels, groups, benefit programs and membership awards.

Operations 98

GET /membershipAwards Get Membership Awards #
POST /membershipAwards Create Membership Awards #
PUT /membershipAwards/{membershipAwardsId} Change Membership Awards #
DELETE /membershipAwards/{membershipAwardsId} Delete Membership Awards #
PUT /upsert/membershipAwards/{membershipAwardsId} Create/Change Membership Awards #
GET /membershipBenefitPrograms Retrieve a Membership Benefit Program #
POST /membershipBenefitPrograms Create Membership Benefit Program #
PUT /membershipBenefitPrograms/{membershipBenefitProgramsId} Change Membership Benefit Program #
DELETE /membershipBenefitPrograms/{membershipBenefitProgramsId} Delete Membership Benedict Program #
PUT /upsert/membershipBenefitPrograms/{membershipBenefitProgramsId} Create/Change Membership Benefit Program #
GET /membershipClasses Get Membership classes #
POST /membershipClasses Create Membership classes #
PUT /membershipClasses/{membershipClassId} Change Membership classes #
DELETE /membershipClasses/{membershipClassId} Delete Membership classes #
GET /membershipEnrollmentGroups Get Membership enrollment groups #
POST /membershipEnrollmentGroups Create Membership enrollment groups #
PUT /membershipEnrollmentGroups/{membershipEnrollmentGroupsId} Change Membership enrollment groups #
DELETE /membershipEnrollmentGroups/{membershipEnrollmentGroupsId} Remove Membership enrollment groups #
POST /membershipFolioTexts Set Membership folio texts #
GET /membershipLevelRules Get Membership Level Rules #
POST /membershipLevelRules Create Membership Level Rules #
PUT /membershipLevelRules/{membershipLevelRulesID} Change Membership Level Rules #
GET /membershipLevels Get Membership levels #
POST /membershipLevels Create Membership levels #
PUT /membershipLevels/{membershipLevelsId} Change Membership levels #
DELETE /membershipLevels/{membershipLevelsId} Delete Membership levels #
PUT /upsert/membershipLevels/{membershipLevelsId} Create/Change Membership levels #
GET /membershipMarketGroups Get Membership market groups #
POST /membershipMarketGroups Create Membership market groups #
PUT /membershipMarketGroups/{membershipMarketGroupId} Change Membership market groups #
DELETE /membershipMarketGroups/{membershipMarketGroupId} Delete Membership market groups #
PUT /upsert/membershipMarketGroups/{membershipMarketGroupId} Create/Change Membership market groups #
GET /membershipOriginGroups Get Membership origin groups #
POST /membershipOriginGroups Create a Membership origin group #
PUT /membershipOriginGroups/{membershipOriginGroupId} Change Membership origin group #
DELETE /membershipOriginGroups/{membershipOriginGroupId} Delete Membership origin group #
GET /membershipPropertyGroups Get Membership property groups #
POST /membershipPropertyGroups Create Membership property groups #
PUT /membershipPropertyGroups/{membershipPropertyGroupsId} Change Membership property groups #
DELETE /membershipPropertyGroups/{membershipPropertyGroupsId} Delete Membership property groups #
GET /membershipRateGroups Get Membership rate groups #
POST /membershipRateGroups Create Membership rate groups #
PUT /membershipRateGroups/{membershipRateGroupId} Change Membership rate groups #
DELETE /membershipRateGroups/{membershipRateGroupId} Delete Membership rate groups #
GET /membershipRates Get Membership rates #
POST /membershipRates Create Membership rates #
PUT /membershipRates/{membershipRatesId} Change Membership rates #
DELETE /membershipRates/{membershipRatesId} Delete Membership rates #
GET /membershipRevenueTypes Get Membership revenue types #
POST /membershipRevenueTypes Create Membership revenue types #
PUT /membershipRevenueTypes/{membershipRevenueTypesId} Change Membership revenue types #
DELETE /membershipRevenueTypes/{membershipRevenueTypesId} Delete Membership revenue types #
GET /membershipRoomGroups Get Membership room groups #
POST /membershipRoomGroups Create Membership room groups #
PUT /membershipRoomGroups/{membershipRoomGroupsId} Change Membership room groups #
DELETE /membershipRoomGroups/{membershipRoomGroupsId} Delete Membership room groups #
GET /membershipSourceGroups Get Membership source groups #
POST /membershipSourceGroups Create a Membership source group #
PUT /membershipSourceGroups/{membershipSourceGroupId} Change Membership source group #
DELETE /membershipSourceGroups/{membershipSourceGroupId} Delete Membership Source group #
GET /membershipTypeRules Get Membership type rules #
POST /membershipTypeRules Create Membership type rules #
GET /membershipTypeRules/{membershipTypeRulesId} Get Membership type rule details #
PUT /membershipTypeRules/{membershipTypeRulesId} Change Membership type rules #
DELETE /membershipTypeRules/{membershipTypeRulesId} Delete Membership type rules #
PUT /upsert/membershipTypeRules/{membershipTypeRulesId} Create/Change Membership type rules #
GET /membershipTypes Get Membership types #
POST /membershipTypes Create Membership types #
GET /membershipTypes/{membershipTypeId} Get a Membership type #
PUT /membershipTypes/{membershipTypeId} Change Membership type #
DELETE /membershipTypes/{membershipTypeId} Delete Membership type #
DELETE /membershipTypes/{membershipType}/membershipLevels/{membershipLevel}/membershipLevelRules/{membershipLevelRulesID} Delete Membership Level Rules #
POST /processTierManagement Process Tier Management #
GET /profiles/profileRegion Get profile regions #
PUT /profiles/profileRegion Update Profile Region #
POST /profiles/profileRegion Create Profile Region #
DELETE /profiles/profileRegion Delete Profile Region. #
GET /profiles/suspendedMatchRules Get profile suspended match rules #
PUT /profiles/suspendedMatchRules Update suspended match rules #
POST /profiles/suspendedMatchRules Create suspended match rules #
POST /profiles/suspendedMatchRules/copy Copy suspended match rule #
DELETE /profiles/suspendedMatchRules/{region}/{nameType}/{validationItem} Delete suspended match rules #
GET /services/membershipConfig/status ping #
GET /tierManagementBatchProcesses Get Tier Management Batch Processes #
GET /tierManagementBatchRecords Get Tier Management Batch Records #
POST /tierManagementBatchRecords/searches Get Tier Management Batch Records #
DELETE /tierManagementBatchRecords/{tierManagementBatchRecordsID} Delete Tier Management Batch Record #
POST /tierManagementChanges Apply Tier Management Changes #
DELETE /tierManagementChanges/{tierManagementChangesID} Delete Tier Management #
PUT /upsert/membershipOriginGroups/{membershipOriginGroupId} Create/Change Membership origin group #
PUT /upsert/membershipPropertyGroups/{membershipPropertyGroupsId} Create/Change Membership property groups #
PUT /upsert/membershipRateGroups/{membershipRateGroupId} Create/Change Membership rate groups #
PUT /upsert/membershipRates/{membershipRatesId} Create/Change Membership rates #
PUT /upsert/membershipRevenueGroups/{membershipRevenueGroupId} Create/Change Membership revenue groups #
PUT /upsert/membershipRevenueTypes/{membershipRevenueTypesId} Create/Change Membership revenue types #
PUT /upsert/membershipRoomGroups/{membershipRoomGroupsId} Create/Change Membership room groups #
PUT /upsert/membershipSourceGroups/{membershipSourceGroupId} Create/Change Membership source group #
PUT /upsert/qualifyingRates/{qualifyingRatesId} Upsert Qualifying Rates #

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-membershipconfig-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-membershipconfig-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OPERA Cloud CRM Configuration Membership Config API
  description: APIs for Customer Relationship Management (profile) configuration, such as creating preferences, or address types.  It also includes Membership Configuration, where you can retrieve membership levels that are configured for a property, or create new membership enrollment codes .<br /><br /> Compatible with OPERA Cloud release 26.2.0.0.<br /><br /><p> This document and all content within is available under the Universal Permissive License v 1.0 (https://oss.oracle.com/licenses/upl). Copyright (c) 2020, 2026 Oracle and/or its affiliates.</p>
  version: 26.2.0.0
  termsOfService: https://www.oracle.com/legal/terms.html
  contact:
    email: hospitality_apis_ww_grp@oracle.com
  license:
    name: UPL
    url: https://opensource.org/licenses/upl
servers:
- url: /crm/config/v1
tags:
- name: MembershipConfig
  description: These APIs will allow you to configure membership configuration such as membership rates, levels, groups, benefit programs and membership awards.
paths:
  /membershipAwards:
    get:
      summary: Get Membership Awards
      description: You can use this API to get Membership Awards. <p><strong>OperationId:</strong>getMembershipAwards</p> <p>The maximum allowable limit for this API is <strong>200</strong>.</p>
      operationId: getMembershipAwards
      parameters:
      - name: membershipType
        in: query
        required: false
        description: Membership type for which awards are defined.
        schema:
          type: string
      - name: awardCodes
        in: query
        description: Codes to be searched.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            maxItems: 4000
      - name: wildCard
        in: query
        required: false
        description: Wildcard search on the code.
        schema:
          type: string
      - name: description
        in: query
        required: false
        description: Description for the membership award.
        schema:
          type: string
      - name: validForDate
        in: query
        required: false
        description: Date when membership award is valid.
        schema:
          type: string
          format: date
      - name: includeInactive
        in: query
        required: false
        description: Flag to decide whether or not to include inactive records in search result set.
        schema:
          type: boolean
      - name: includeDetails
        in: query
        required: false
        description: Fetch operation will return only Membership Award records by default. If Include Details is true, then it will return associated child records like Membership Award Rate/Product/Upgrade/FT as well.
        schema:
          type: boolean
      - $ref: '#/components/parameters/authKey'
      - $ref: '#/components/parameters/externalData'
      - $ref: '#/components/parameters/x-app-key'
      - $ref: '#/components/parameters/x-request-id'
      - $ref: '#/components/parameters/x-originating-application'
      - $ref: '#/components/parameters/x-hotelid'
      - $ref: '#/components/parameters/x-externalsystem'
      - $ref: '#/components/parameters/Accept-Language'
      responses:
        '200':
          headers:
            Content-Language:
              description: Audience language
              x-example: en-GB
              schema:
                type: string
                pattern: '[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*'
          description: Response to fetch Membership Awards.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/membershipAwardsInfo'
        '204':
          description: MembershipAwards 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:
      - MembershipConfig
    post:
      summary: Create Membership Awards
      description: You can use this API to create Membership Awards. <p><strong>OperationId:</strong>postMembershipAwards</p>
      operationId: postMembershipAwards
      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})*'
            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:
      - MembershipConfig
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/membershipAwards'
        description: Request object for creating new membership awards.
        required: true
  /membershipAwards/{membershipAwardsId}:
    put:
      summary: Change Membership Awards
      description: You can use this API to change Membership Awards. <p><strong>OperationId:</strong>putMembershipAwards</p>
      operationId: putMembershipAwards
      parameters:
      - name: membershipAwardsId
        in: path
        required: true
        description: Fetch membershipClasses values based on given membershipClassId
        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/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: Response Body.
          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:
      - MembershipConfig
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/membershipAwards'
        description: Request object for modifying membership awards.
        required: true
    delete:
      summary: Delete Membership Awards
      description: You can use this API to delete Membership Awards. <p><strong>OperationId:</strong>deleteMembershipAwards</p>
      operationId: deleteMembershipAwards
      parameters:
      - name: membershipAwardsId
        in: path
        required: true
        description: Fetch membershipClasses values based on given membershipClassId
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: membershipType
        in: query
        description: Membership type for which awards are defined.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            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})*'
            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:
      - MembershipConfig
  /upsert/membershipAwards/{membershipAwardsId}:
    put:
      summary: Create/Change Membership Awards
      description: You can use this API to create/change Membership Awards. <p><strong>OperationId:</strong>putUpsertMembershipAwards</p>
      operationId: putUpsertMembershipAwards
      parameters:
      - name: membershipAwardsId
        in: path
        required: true
        description: Fetch membershipClasses values based on given membershipClassId
        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/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: Response Body.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/status'
      tags:
      - MembershipConfig
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/membershipAwards'
        description: Request object for modifying membership awards.
        required: true
  /membershipBenefitPrograms:
    get:
      summary: Retrieve a Membership Benefit Program
      description: This API allows you to fetch Membership Benefit Programs of Membership Type. A Benefit Program is configurable for a Membership Type when OCIS or ORS license is active and Membership Type meets following criteria - primary central setup, not externally controlled and point calculation method is Manual Batch. <p><strong>OperationId:</strong>getMembershipBenefitPrograms</p> <p>This API allows a time span of <strong>90</strong> days.</p>
      operationId: getMembershipBenefitPrograms
      parameters:
      - name: membershipType
        in: query
        required: false
        description: Membership type
        schema:
          type: string
      - name: code
        in: query
        required: false
        description: Benefit Code
        schema:
          type: string
      - name: end
        in: query
        required: false
        description: The ending value of the date range.
        schema:
          type: string
          format: date
      - name: start
        in: query
        required: false
        description: The starting value of the date range.
        schema:
          type: string
          format: date
      - name: minimumLevel
        in: query
        required: false
        description: Min value for membership level. This is the minimum membership level member gets for enrolling into this program.
        schema:
          type: string
      - name: includeInactive
        in: query
        required: false
        description: Flag to decide whether or not to include inactive records in search result set.
        schema:
          type: boolean
      - $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 for fetching membership benefit programs.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/membershipBenefitProgramsInfo'
        '204':
          description: MembershipBenefitPrograms 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:
      - MembershipConfig
    post:
      summary: Create Membership Benefit Program
      description: This API is used to create Membership Benefit Programs of a Membership Type. A Benefit Program is configurable for a Membership Type when OCIS or ORS license is active and Membership Type meets following criteria  - primary  central setup,  not externally controlled and point calculation method is Manual Batch. <p><strong>OperationId:</strong>postMembershipBenefitPrograms</p>
      operationId: postMembershipBenefitPrograms
      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})*'
            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:
      - MembershipConfig
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/membershipBenefitPrograms'
        description: Request object for creating new membership benefit programs.
        required: true
  /membershipBenefitPrograms/{membershipBenefitProgramsId}:
    put:
      summary: Change Membership Benefit Program
      description: This API allows you to modify Membership Benefit Programs of Membership Type. A Benefit Program is configurable for a Membership Type when OCIS or ORS license is active and Membership Type meets following criteria  - primary central setup, not externally controlled and point calculation method is Manual Batch. <p><strong>OperationId:</strong>putMembershipBenefitPrograms</p>
      operationId: putMembershipBenefitPrograms
      parameters:
      - name: membershipBenefitProgramsId
        in: path
        required: true
        description: Fetch membershipClasses values based on given membershipClassId
        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/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: Response Body.
          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:
      - MembershipConfig
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/membershipBenefitPrograms'
        description: Request object for modifying membership benefit programs.
        required: true
    delete:
      summary: Delete Membership Benedict Program
      description: This API will allow you to delete s Membership Benefit Programs of a Membership Type.  <p><strong>OperationId:</strong>deleteMembershipBenefitPrograms</p>
      operationId: deleteMembershipBenefitPrograms
      parameters:
      - name: membershipBenefitProgramsId
        in: path
        required: true
        description: Fetch membershipClasses values based on given membershipClassId
        schema:
          type: string
          maxLength: 2000
          minLength: 1
      - name: membershipType
        in: query
        description: Membership type
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            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})*'
            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:
      - MembershipConfig
  /upsert/membershipBenefitPrograms/{membershipBenefitProgramsId}:
    put:
      summary: Create/Change Membership Benefit Program
      description: This API allows you to create/modify Membership Benefit Programs of Membership Type. A Benefit Program is configurable for a Membership Type when OCIS or ORS license is active and Membership Type meets following criteria  - primary central setup, not externally controlled and point calculation method is Manual Batch. <p><strong>OperationId:</strong>putUpsertMembershipBenefitPrograms</p>
      operationId: putUpsertMembershipBenefitPrograms
      parameters:
      - name: membershipBenefitProgramsId
        in: path
        required: true
        description: Fetch membershipClasses values based on given membershipClassId
        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/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: Response Body.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/status'
      tags:
      - MembershipConfig
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/membershipBenefitPrograms'
        description: Request object for modifying membership benefit programs.
        required: true
  /membershipClasses:
    get:
      summary: Get Membership classes
      description: Retrieve a list of membership classes that are configured. <p><strong>OperationId:</strong>getMembershipClasses</p>
      operationId: getMembershipClasses
      parameters:
      - name: fetchInactive
        in: query
        required: false
        description: Determines wether to fetch inactive records or not.
        schema:
          type: boolean
      - name: codes
        in: query
        description: Codes to be searched.
        required: false
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
            maxItems: 4000
      - name: wildCard
        in: query
        required: false
        description: Wildcard search on the code.
        schema:
          type: string
      - name: description
        in: query
        required: false
        description: Description of the code.
        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 for fetching Membership Class.
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/membershipClassesInfo'
        '204':
          description: MembershipClasses 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:
      - MembershipConfig
    post:
      summary: Create Membership classes
      description: Create a new membership class. <p><strong>OperationId:</strong>postMembershipClasses</p>
      operationId: postMembershipClasses
      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})*'
            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:
      - MembershipConfig
      requestBody:
        content:
          application/json;charset=UTF-8:
            schema:
              allOf:
              - $ref: '#/components/schemas/membershipClasses'
        descr

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