> ## 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 Quotation API uses JSON for most responses. The exact body shape depends on the status code.

## Content type

| Status | Body |
| - | - |
| `200 OK` | JSON, the result |
| `400 Bad Request` | JSON, structured error |
| `401`, `403` | JSON, structured error |
| `404` | No body |
| `5xx` | No structured body, treat as transient |

## Response codes

### 200 OK

The request was processed successfully. The response body contains every room and rate combination matching the filter, grouped by rate plan and hotel.

### 400 Bad Request

The request body failed validation or violated a business rule. The response carries a structured payload describing the problem. Every body includes at least `title` and `status`. The other fields appear depending on the type of issue.

**title** `string`

Short, human-readable summary of the problem.

**status** `integer`

HTTP status code, repeated in the body.

**detail** `string`

Human-readable explanation specific to this occurrence.

**type** `string`

URI identifying the problem type.

**errors** `object`

Map of field path to the list of validation messages for that field.

**traceId** `string`

Trace identifier, useful when contacting support.

#### Validation errors

Schema-level validation errors include an `errors` map. Each key is the path to the field that failed validation, and the value is the list of error messages.

```json theme={null}
{
  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "errors": {
    "request": [
      "The request field is required."
    ],
    "$.arrivalDate": [
      "The JSON value could not be converted to System.DateTime."
    ]
  },
  "traceId": "00-aabbccddeeff00112233445566778899-0011223344556677-00"
}
```

#### Business rule errors

Business rule violations include a `detail` field with the specific cause.

```json theme={null}
{
  "title": "NightCount is out of range.",
  "status": 400,
  "detail": "Minimum allowed value is 1, specified value is 0."
}
```

### 401 Unauthorized

The OAuth signature was missing, malformed, or rejected. Common causes:

* The signature does not match the consumer or token secret.
* The request timestamp drifted too far from the server clock.
* The same nonce was reused.

Verify the credentials and the signing implementation. Sync the server clock with NTP. See the [Authentication](/quotation-api/build/guidelines/authentication.md) page for the full signing process.

### 403 Forbidden

The signature is valid, but the token does not grant access to the requested resource. Either the hotel is outside your scope, or the feature is not enabled for your account.

[Contact us](/overview/resources/contact-us.md) if you expected access.

### 404 Not Found

The URL does not match any Quotation endpoint. The [Reference](/quotation-api/build/reference/stay-quotation.md) lists every endpoint with its full path.

### 500 Internal Server Error and other 5xx codes

A `5xx` response signals an issue on the D-EDGE side. The body is a plain HTML error page rather than JSON, so do not assume a structured payload when handling these errors.

`5xx` errors are usually transient. Retry 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.