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

# Responses

> Response format and codes

The Gift Shop API returns JSON. The exact body shape depends on the status code.

## Content type

| Status | Body |
| - | - |
| `200 OK`, `201 Created` | JSON, the result |
| `204 No Content` | No body |
| `400`, `401`, `403`, `404` | JSON problem details |

## Error format

Errors follow the **problem details** format ([RFC 7807](https://www.rfc-editor.org/rfc/rfc7807)). This differs from the Booking Engine API's `Message`/`Code` shape, so handle each API's errors separately if you integrate both.

**type** `string`

A URI reference that identifies the problem type. On validation errors it points at the matching [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110#section-15.5.1) status section.

**title** `string`

Short, human-readable summary of the problem.

**status** `integer`

The HTTP status code.

**detail** `string`

Human-readable explanation specific to this occurrence. Absent on validation errors.

**instance** `string`

A URI reference that identifies this specific occurrence. Absent on validation errors.

**errors** `object`

On validation errors only: one entry per offending parameter, with the reasons it was rejected.

**traceId** `string`

On validation errors only: the identifier of the failing call. Log it; it is the fastest way for the partnership team to find your request.

## Response codes

### 200 OK and 201 Created

The request was processed successfully. The body depends on the endpoint: a session identifier, the configuration, products, the cart, or the order. **Add a cart item** returns `201` with the identifiers of the created items; every other call that returns a body answers `200`, including **Create a new session**.

### 204 No Content

The request succeeded and there is nothing to return: updating the session, updating a cart item, removing an item, or emptying the cart. Reading the session's shopper before one is attached also returns `204`.

### 400 Bad Request

The request failed validation. The problem details body says which parameters are invalid or missing; validation failures also carry an `errors` map with one entry per offending parameter. Fix the request before retrying.

### 401 Unauthorized

The `X-API-KEY` header is missing, invalid, or does not give access to the operation. See the [Authentication](/gift-shop-api/build/guidelines/authentication.md) page.

### 403 Forbidden

Declared on the two localisation reads only (**Get country names** and **Get phone codes**); no other operation returns it. Those two reads also declare their `404` with no body, unlike the rest of the API.

### 404 Not Found

The `sessionId` does not match an active session: it may have expired, or never existed. Create a fresh session and rebuild the guest's cart. This differs from the Booking Engine API, where an expired session returns `400`.

On **Get the gift shop configuration**, a `404` has a second possible cause: no configuration exists for the session's owner. When a freshly created session still returns `404` on that call, check the `hotelId` and `groupId` you open the session with instead of recreating it.

### 5xx

A `5xx` response signals an issue on the D-EDGE side. These errors are usually transient. Retry safe `GET` calls with exponential backoff. If a `5xx` persists, [contact us](/overview/resources/contact-us.md).


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