> ## Documentation Index
> Fetch the complete documentation index at: https://docs.d-edge.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> This site documents the D-EDGE APIs for technology partners (web agencies, OTAs, PMS and RMS vendors, booking and CRM tools). It is written for developers integrating with hotels that use the D-EDGE platform.
> Seven APIs, grouped by domain. Connectivity: Channel Manager API (distribute a hotel's inventory to your channel and send bookings back). Pricing & Availability: Best Price API (best offers to highlight), Quotation API (all bookable offers for a stay), Daily Rates API (daily availability between two dates). Booking: Booking Engine API (a hotel's full direct booking funnel), Gift Shop API (gift vouchers from catalogue to payment). Guest Management: CRM API (guest profiles).
> Pick the API by the need: to display prices, use the Best Price API or the Daily Rates API; to quote a specific stay, use the Quotation API; to book, use the Booking Engine API; to sell gift vouchers, use the Gift Shop API; to manage guest profiles, use the CRM API; to receive hotel inventory and send bookings back as a distribution channel, use the Channel Manager API.
> Base URLs, hotel identifiers, and credentials are delivered by the D-EDGE partnership team during onboarding. Do not invent base URLs, endpoints, parameters, or example credentials that do not appear on these pages.
> Authentication differs per API: OAuth 1.0 for Best Price, Quotation, Daily Rates, and Booking Engine; an X-API-KEY header for Gift Shop; OAuth 2.0 client credentials for CRM; partner-defined credentials carried in the XML message for the Channel Manager API. Read each API's Authentication page before writing code.
> A mock environment returns realistic but fictitious data without credentials. The Postman and Insomnia collections on the API collections page target it by default. Use it for exploration and tests, never for production traffic.
> Use the official names exactly: D-EDGE, D-EDGE platform, Channel Manager API, partnership team. Do not use Back Office or Extranet.
> Each API has a Changelog page. Check it for the current behaviour before relying on an older answer. For questions these pages do not answer, direct the reader to the Contact us page.

# Patch logged in loyalty member

> Patch logged in loyalty member



## OpenAPI

````yaml booking-engine-api/open-api/booking-engine-api.json PATCH /v2/{sessionId}/loyalty/login
openapi: 3.0.1
info:
  title: Booking Engine API
  version: v2
servers:
  - url: https://{apiBaseUrl}
    variables:
      apiBaseUrl:
        default: api.example.com
        description: Base URL delivered by D-EDGE during partnership setup
security: []
tags:
  - name: Basket
  - name: Booking
  - name: Configuration
  - name: Description
  - name: Loyalty
  - name: Promotion
  - name: Resources
  - name: Search
  - name: Session
paths:
  /v2/{sessionId}/loyalty/login:
    patch:
      tags:
        - Loyalty
      summary: Patch logged in loyalty member.
      description: "Authenticates a loyalty member using an identity token payload from the\r\nloyalty provider's OAuth flow. Returns the member profile on success."
      operationId: Loyalty_LoginMember
      parameters:
        - name: X-AVP-Impersonation
          in: header
          description: ''
          required: false
          schema:
            type: string
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Loyalty.LoyaltyLoginRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Loyalty.LoyaltyLoginRequest'
        description: The login request containing payload.
        required: true
      responses:
        '200':
          description: Updates loyalty session with logged member
          content:
            application/json:
              examples:
                response:
                  value:
                    memberId: '123'
                    title: Mr.
                    firstName: John
                    lastName: Doe
                    address:
                      addressLines:
                        - 66 rue des Archives
                      postalCode: '75001'
                      cityName: Paris
                      countryCode: FR
                    emailAddress: j.doe@loyalty.com
                    phone:
                      number: '060606060606'
                      phoneCode: 33
                      countryCode: FR
                      internationalNumber: '003360606060606'
                    level: Platinum
                    levelNumber: 3
                    points: 1500
            text/json:
              examples:
                response:
                  value:
                    memberId: '123'
                    title: Mr.
                    firstName: John
                    lastName: Doe
                    address:
                      addressLines:
                        - 66 rue des Archives
                      postalCode: '75001'
                      cityName: Paris
                      countryCode: FR
                    emailAddress: j.doe@loyalty.com
                    phone:
                      number: '060606060606'
                      phoneCode: 33
                      countryCode: FR
                      internationalNumber: '003360606060606'
                    level: Platinum
                    levelNumber: 3
                    points: 1500
        '400':
          description: The identity token is invalid
          content:
            application/json:
              examples:
                response:
                  value:
                    code: InvalidSessionId
            text/json:
              examples:
                response:
                  value:
                    code: InvalidSessionId
        '401':
          description: The loyalty provider token has expired
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderTokenExpired
                    message: The loyalty provider token has expired
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderTokenExpired
                    message: The loyalty provider token has expired
        '404':
          description: The member has not been found
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderGenericError
                    message: An error occured while calling the loyalty provider
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderGenericError
                    message: An error occured while calling the loyalty provider
        '500':
          description: One of the Hub dependency service returns a 400 validation error
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderGenericError
                    message: An error occured while calling the loyalty provider
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderGenericError
                    message: An error occured while calling the loyalty provider
        '502':
          description: Something went wrong on a Hub dependency service
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderGenericError
                    message: An error occured while calling the loyalty provider
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/WebApi.Exceptions.Model.ServiceErrorResponse
              examples:
                response:
                  value:
                    code: LoyaltyProviderGenericError
                    message: An error occured while calling the loyalty provider
components:
  schemas:
    Loyalty.LoyaltyLoginRequest:
      type: object
      properties:
        payload:
          type: string
      example:
        payload: ewogICAgImlkX3R...I3YWIiCn0=
    WebApi.Exceptions.Model.ServiceErrorResponse:
      type: object
      properties:
        message:
          type: string
        code:
          type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.