API v1 | REST + MCP

Partner API documentation

Use REST for conventional integrations or MCP for agents and LLM products. Both surfaces share the same business rules and safety boundaries.

QUICKSTART

1. Get access

Approved partners receive an Entra application assignment and an APIM subscription. Production booking permissions are enabled separately for reading, creating, cancelling and updating bookings.

REST quickstart

export BASE_URL="https://myroom24.azure-api.net"

export TOKEN="<short-lived-entra-token>"

export KEY="<apim-subscription-key>"

curl "$BASE_URL/production/partner/v1/openapi.json" \

-H "Authorization: Bearer $TOKEN" \

-H "Ocp-Apim-Subscription-Key: $KEY"

01 | MICROSOFT ENTRA ID

Identity and app roles

OAuth 2.0 client credentials validate the partner identity and restrict business operations.

02 | AZURE API MANAGEMENT

Account and quota

One subscription per partner controls approval, revocation, rate limits and monthly quota.

REST API

Operations

Production REST base: /production/partner/v1. Sandbox REST base: /partner/v1. Sandbox activation is arranged during onboarding. Use the credentials issued for each environment; sandbox access does not grant production booking permissions.

GET /search - Search live offers

POST /offers/{offerId}/revalidate - Refresh price and availability

POST /quotes - Create an idempotent quote

GET /quotes/{quoteId} - Read an owned quote

POST /quotes/{quoteId}/checkout-handoff - Create a confirmed checkout URL

POST /attribution/events - Accept a signed attribution event

POST /booking-actions - Prepare a booking, cancellation or contact update

GET /booking-actions/{actionId} - Read action and approval status

POST /booking-actions/{actionId}/execute - Execute an approved action

GET /bookings/{reservationId} - Read a booking created by your integration

BOOKING ACTIONS

Prepare, approve, then track the result.

1. Prepare | Send a stable idempotencyKey and an action with kind book, cancel or edit. A new booking requires a fresh quoteId and traveller details. Cancellation and contact updates require the reservationId and its latest expectedUpdatedAt.

2. Get guest approval | Open the returned consentUrl. The guest signs in to myroom24, reviews the exact action and confirms it. Confirmation executes the action; your integration polls its status. A partner-supplied guest ID or confirmation flag is not guest consent.

3. Complete payment | For a new booking, the guest follows the Stripe Checkout link to pay or authorize the first instalment. The approved payment method supports later instalments. Card details stay on Stripe.

4. Read the booking | An action marked completed does not mean the reservation is confirmed or paid. Read the current booking and payment status; request bookings may also require host approval.

5. Handle retries | Reuse the original action and idempotency key. If an action remains executing or requires review, contact support before attempting another action.

Cancellation | Existing cancellation terms determine fees and refund processing. A cancellation response does not mean a refund has arrived. Payments still processing must settle first.

Contact updates | Only email and phone details of existing travellers can change. Names, ages, traveller count, dates and room remain unchanged. These updates affect myroom24 contact records.

Access | Ask for bookings.read, bookings.create, bookings.cancel and bookings.edit as needed. Your integration can access only bookings it created. Each change requires fresh guest approval.

MODEL CONTEXT PROTOCOL

MCP Streamable HTTP

Connect to /production/partner/mcp with the same production credentials. The tools use the same booking rules and guest approval flow as REST. Booking tools are available to clients with booking access enabled.

Available tools

search_stays

revalidate_stay_offer

create_stay_quote

get_stay_quote

prepare_checkout_handoff

prepare_booking_action

execute_booking_action

get_booking_action

get_partner_booking

SAFETY CONTRACT

The guest approves every booking change.

Bookings, cancellations and contact updates combine partner permissions with a signed-in guest's approval. Stripe handles payment details. The existing checkout handoff remains available for integrations that use the myroom24 checkout journey.

View Trust Center