Developer portal · OpenAPI 3.1 · v1.0.0

CDS Groupe Hotel Booking API

Connect hotel search, availability, content, booking and post-booking workflows with the same CDS distribution platform used by travel agencies, corporates and online travel services.

  • JWT authentication
  • 2.5M+ properties
  • 7 service families
STEP 1

Get your credentials

Reach out to your CDS Groupe technical contact for sandbox credentials. No self-serve signup yet.

Contact support
STEP 2

Authenticate securely

POST /Authenticate exchanges your username and password for a JWT with an approximate 4-hour validity.

See /Authenticate
STEP 3

Search and book

Use GET /hotelSearchGET /hotelAvailPOST /HotelRes.

Explore SEARCH
Client examples

Build with your programming language

The reference generates ready-to-run request snippets for the main API clients, while the OpenAPI file remains the contract for SDK generation.

cURL Shell-ready calls JavaScript Fetch snippets Python HTTP client flow PHP Server integration Java Backend services C# / .NET Enterprise clients OpenAPI SDK generation
New · MCP Server

Use CDS from your AI assistant

The CDS Groupe MCP Server exposes the 9 API endpoints as Model Context Protocol tools. Plug it into Claude, Cursor, Windsurf, ChatGPT Desktop, VS Code, JetBrains AI or any MCP-compatible client and let the LLM search hotels, check availability and book on your behalf — with strict typed schemas generated directly from this OpenAPI spec.

Connect with just a URL — sign in through the secure OAuth flow with your CDS credentials and the CDS endpoint of your choice (Sandbox, Live, regional cluster, white-label proxy). Nothing to install; credentials go only to the CDS API.

OAuth 2.1 9 typed tools Auto-refresh JWT Any CDS endpoint EU-hosted

Hosted endpoint — one URL, nothing to install

Add the URL below to your MCP client. On first use it opens a browser to sign in with your CDS API URL + username + password (OAuth 2.1). No local install, no credentials in config files. Works in Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, ChatGPT Desktop, JetBrains, Zed.

{
  "mcpServers": {
    "cds": {
      "url": "https://mcp.cdsgroupe.com"
    }
  }
}

Config file location per client: Claude Desktop %APPDATA%\Claude\claude_desktop_config.json · Cursor ~/.cursor/mcp.json · Windsurf ~/.codeium/windsurf/mcp_config.json · Zed ~/.config/zed/settings.json. For Claude Code: claude mcp add --transport http cds https://mcp.cdsgroupe.com.

Self-hosted (stdio) — offline / development

Run the server locally when you can't reach the hosted endpoint (air-gapped network, local development). Requires Node 20+ and a clone of the MCP server repo. Credentials live in your client config.

{
  "mcpServers": {
    "cds": {
      "command": "node",
      "args": ["C:\\path\\to\\cds-mcp\\dist\\server.js"],
      "env": {
        "CDS_USERNAME": "your-username",
        "CDS_PASSWORD": "your-password",
        "CDS_BASE_URL": "https://bookings.cdsgroupe.com/cds-api-test/v1"
      }
    }
  }
}

Build it into your own app

Web and mobile apps connect to the hosted endpoint over HTTPS using the official MCP SDK. The OAuth flow opens a browser/web view; tokens are managed by the SDK — your app never handles CDS credentials.

// npm i @modelcontextprotocol/sdk
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(
  new URL('https://mcp.cdsgroupe.com/mcp'),
  { authProvider /* your OAuth 2.1 provider — opens the CDS login */ },
);

const client = new Client({ name: 'my-app', version: '1.0.0' }, { capabilities: {} });
await client.connect(transport);

const result = await client.callTool({
  name: 'cds_search_hotels',
  arguments: { location: 'Paris', checkIn: '2026-06-01', checkOut: '2026-06-02', adults: 2 },
});