JuperionDeveloper PortalEarly accessRequest access

Developer Portal › Partner API

Partner API Early access

Overview

The Juperion Partner API is being built so partners can connect the hotel inventory in Juperion to their own systems. It is in early access: this page describes the rules and the plan, and endpoints are published as they are approved.

  • Prices and availability come from one price engine; you only see the sale price opened to you.
  • Every endpoint is approved explicitly; no operation appears on this page or in openapi.json without that approval.
  • You start in the test (sandbox) environment; live access opens after the tests are complete.

Conventions

  • Money: every amount is an integer in minor units with its ISO 4217 currency next to it (example: 8100 + "EUR" = EUR 81.00). No decimals, no currency conversion.
  • Dates: stay days as YYYY-MM-DD in the hotel's local calendar; timestamps in UTC, ISO 8601.
  • Format: JSON (UTF-8). Ignore fields you do not know; new optional fields may be added.

Modules

Juperion is made of modules licensed together or separately. API access is per module: a module's endpoints are available only to accounts holding that module's licence.

  • Reservation core (CRS)

    Contracts, price engine, availability and bookings. The source of the Partner API's prices and stock; not called directly.

    CoreNo API

  • Channel connections (DMC / OTA)

    Availability, prices and bookings for partners. The subject of this page.

    Licence requiredAPI: early access

  • Call centre and CRM

    Customers, leads and call-centre workflows.

    Licence requiredAPI: planned

  • Telephony

    Lines, calls and call records.

    Licence requiredAPI: planned

  • E-mail

    Corporate and transactional e-mail.

    Licence requiredAPI: planned

  • WhatsApp and e-mail commands

    Add-on; only together with another module.

    Licence requiredAPI: planned

  • Ads and video

    Ads panel and video content.

    Licence requiredAPI: planned

  • Price comparison

    Regular comparison of market prices.

    Licence requiredAPI: planned

  • Accounting

    Accounts, payment plans and invoices.

    Licence requiredAPI: planned

Authentication

Early access Planned method (early access, may change): an API key and a short-lived access token.

  1. You receive an API key. It is shown once; we store only its hash. If you lose it you get a new one, and the old one stops after a short grace period.
  2. You exchange the key for a short-lived access token. The token address is sent together with your access.
  3. Send the token on every request: Authorization: Bearer <token>. When it expires, get a new one.
  4. Every key has scopes (e.g. content, search, booking) and an optional IP allow-list. A request outside its scopes gets 403.

Environments

  • Test (sandbox): with test keys, on test data. No real booking is made.
  • Live: with a separate live key, after the tests are complete and approved. A test key does not work live and a live key does not work in test.

Do not keep keys in code, in a browser or in a repository. Keys are never issued on this page.

HTTP
Authorization: Bearer <token>

Errors

Every error has the same shape. Messages are fixed and neutral; your program should decide on the code field.

HTTPcodeMeaning
400validation_errorThe request is invalid; fields says which field was refused and why.
401unauthorizedThe token is missing, invalid or expired.
403forbiddenThe key has no scope or permission for this operation.
404not_foundNo such record, or it is not open to you.
409price_changed · unavailable · conflictThe price moved, the room can no longer be sold, or the same Idempotency-Key was used with a different request.
429rate_limitedRate limit reached; wait Retry-After seconds.
5xx—Temporary problem; retry with increasing intervals.

Quote the requestId when you report a problem. The code list is final with the endpoints; new codes may be added.

JSON
{
  "error": {
    "code": "validation_error",
    "message": "Invalid request",
    "requestId": "3f2c9a1e-…",
    "fields": { "rooms[0].adults": "required" }
  }
}

Idempotency-Key

Booking and cancellation requests will require an Idempotency-Key header. After a network error you can safely retry with the same key; the operation is never done twice.

  • 8–100 characters; a new value (e.g. a UUID) for every new booking or cancellation attempt.
  • Same key + same request body: the first answer is returned again.
  • Same key + different body: refused with 409.
  • First request still in progress: 409; retry shortly.
HTTP
Idempotency-Key: 6f1d2b7e-5c1a-4b8e-9d0f-2a7c4e9b1d33

Rate limits

Limits are per key and agreed with each partner.

  • Planned default: 60 requests per minute per key. Searches may count heavier than reads.
  • Over the limit you get 429 with a Retry-After header; do not retry before it has passed.
  • A daily quota by licence plan may be added later; if so, it is announced here.

Versioning

The version is part of the address: /v1/…

  • Inside v1 changes are additive only: new endpoints, new optional fields, new values. Ignore fields and values you do not know.
  • A breaking change comes as a new version (/v2); v1 keeps running beside it for a period.
  • An operation to be removed is announced in advance and marked with Deprecation / Sunset headers in its answers.

Endpoints

This section is generated from the openapi.json document. Only operations approved for partners appear.

Download openapi.json

Early access

No endpoint is published yet. Every approved endpoint appears here and in openapi.json; test access is given on request.

Disabled during early access

Changelog

  • First release: documentation page and openapi.json (early access, no endpoint yet).

Request access

Write to us to join the early access. Please include:

  • Company name, website and a technical contact
  • How you want to connect: pull from us (search, booking), or push to us
  • Expected request volume and target markets
  • Your own connectivity specification, if you have one (link or file)

E-mail: system@juperion.dev

This page has no login, no key issuing and no data. Access is sent by e-mail after a review.