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

# Update a cart item

> Updates an existing cart item in the cart of the guest



## OpenAPI

````yaml gift-shop-api/open-api/gift-shop-api.json PUT /v1/{sessionId}/cart/items/{cartItemId}
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/items/{cartItemId}:
    put:
      tags:
        - Cart
      summary: Updates an existing cart item in the cart of the guest
      description: "This method replaces the amount, the comment, the recipient and the beneficiary of a single cart item, then recalculates the cart total.\r\nA beneficiary is required when `sendTo` is `Beneficiary`. The cart no longer accepts changes once the session is paid."
      parameters:
        - name: sessionId
          in: path
          description: The session identifier
          required: true
          schema:
            type: string
            format: uuid
        - name: cartItemId
          in: path
          description: The cart item identifier
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCartItemRequest'
      responses:
        '204':
          description: No Content
        '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:
    UpdateCartItemRequest:
      type: object
      properties:
        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
    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.