> ## 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.

# Get the active cart

> Gets the active cart of the guest for its session



## OpenAPI

````yaml gift-shop-api/open-api/gift-shop-api.json GET /v1/{sessionId}/cart
openapi: 3.0.1
info:
  title: Gift Shop API
  version: v1
servers:
  - url: https://{apiBaseUrl}
    variables:
      apiBaseUrl:
        default: api.example.com
        description: Base URL delivered by D-EDGE during partnership setup
security:
  - ApiKey: []
paths:
  /v1/{sessionId}/cart:
    get:
      tags:
        - Cart
      summary: Get active cart of the guest for its session on Gift Shop
      description: "This method returns the cart currently attached to the session, with its items, their taxes and the cart total.\r\nThe cart is empty until items are added, and it stops accepting changes once the session is paid."
      parameters:
        - name: sessionId
          in: path
          description: The session identifier
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Returns the cart
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cart'
        '401':
          description: >-
            `X-API-KEY` header is invalid or does not give access to the
            operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: >-
            The session identifier does not match an active session. It may have
            expired
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    Cart:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/CartItem'
          nullable: true
        amount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
        taxAmount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
        totalAmount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    CartItem:
      type: object
      properties:
        id:
          type: string
          format: uuid
        productId:
          type: integer
          format: int32
        usage:
          $ref: '#/components/schemas/ProductUsage'
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        picture:
          $ref: '#/components/schemas/ProductPicture'
        amount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
        hidePrice:
          type: boolean
        productPrice:
          $ref: '#/components/schemas/ProductPrice'
        comment:
          type: string
          nullable: true
        sendTo:
          $ref: '#/components/schemas/SendToType'
        expiryDate:
          type: string
          format: date-time
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/CartItemTax'
          nullable: true
        beneficiary:
          $ref: '#/components/schemas/BeneficiaryInfo'
        sentFrom:
          type: string
          nullable: true
      additionalProperties: false
    ProductUsage:
      enum:
        - Direct
        - Indirect
      type: string
      description: >-
        How the product is delivered to the guest.


        - `Direct`: the item is delivered as a credit voucher the guest can
        spend, and its price is always shown.

        - `Indirect`: the item is delivered as a code redeemed with the gift
        shop owner, and its price can be hidden with `hidePrice`.
    ProductPicture:
      required:
        - uri
      type: object
      properties:
        uri:
          type: string
          format: uri
      additionalProperties: false
    ProductPrice:
      type: object
      properties:
        priceType:
          $ref: '#/components/schemas/ProductPriceType'
        amount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
          nullable: true
        minAmount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
          nullable: true
        maxAmount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
          nullable: true
      additionalProperties: false
    SendToType:
      enum:
        - Shopper
        - Beneficiary
      type: string
      description: >-
        Who receives the item.


        - `Shopper`: the item is sent to the person paying the order.

        - `Beneficiary`: the item is sent to a third party, whose details are
        then required in the `beneficiary` block.
    CartItemTax:
      type: object
      properties:
        name:
          type: string
          nullable: true
        calculationMode:
          $ref: '#/components/schemas/TaxCalculationMode'
        value:
          type: number
          format: double
        included:
          type: boolean
        amount:
          type: object
          properties:
            amount:
              type: number
              description: decimal amount
              example: 99.99
            currency:
              type: string
              description: Uppercase three-letter code from ISO 4217
              example: EUR
      additionalProperties: false
    BeneficiaryInfo:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        email:
          type: string
          format: email
          nullable: true
      additionalProperties: false
    ProductPriceType:
      enum:
        - Fixed
        - Range
      type: string
      description: >-
        How the price of a product is set.


        - `Fixed`: the product carries its amount in `price.amount`, and the
        amount sent when adding the item to the cart must match it.

        - `Range`: the shopper chooses the amount, which must fall between
        `price.minAmount` and `price.maxAmount`.
    TaxCalculationMode:
      enum:
        - Percentage
        - Nominal
      type: string
      description: |-
        How the value of a tax applies to the amount of an item.

        - `Percentage`: `value` is a percentage of the amount.
        - `Nominal`: `value` is a fixed amount, in the currency of the item.
  securitySchemes:
    ApiKey:
      type: apiKey
      description: API key delivered by D-EDGE
      name: X-API-KEY
      in: header

````

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