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

# Add a cart item

> Adds a new cart item into the cart of the guest



## OpenAPI

````yaml gift-shop-api/open-api/gift-shop-api.json POST /v1/{sessionId}/cart/item
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/item:
    post:
      tags:
        - Cart
      summary: Adds a new cart item into the cart of the guest
      description: "This method adds one cart item per unit requested: a `quantity` of three creates three items and returns three identifiers.\r\nThe `amount` is required: it must match the product's price when its type is `Fixed`, and fall within the product's bounds when it is `Range`.\r\nThe cart total is recalculated on every call."
      parameters:
        - name: sessionId
          in: path
          description: The session identifier
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddCartItemRequest'
      responses:
        '201':
          description: Returns the identifier of the cart item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddCartItemResponse'
        '400':
          description: >-
            Some parameters are invalid or missing, check the response for more
            details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '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:
    AddCartItemRequest:
      required:
        - productId
        - quantity
        - amount
      type: object
      properties:
        productId:
          type: integer
          format: int32
        quantity:
          type: integer
          format: int32
        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
          nullable: true
        comment:
          type: string
          nullable: true
        sendTo:
          $ref: '#/components/schemas/SendToType'
        beneficiary:
          $ref: '#/components/schemas/BeneficiaryInfo'
        sentFrom:
          type: string
          nullable: true
      additionalProperties: false
    AddCartItemResponse:
      type: object
      properties:
        cartItemIds:
          type: array
          items:
            type: string
            format: uuid
          nullable: true
      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: {}
    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.
    BeneficiaryInfo:
      type: object
      properties:
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
        email:
          type: string
          format: email
          nullable: true
      additionalProperties: false
  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.