Skip to main content
Learn the conventions, authentication, and pagination patterns used across the SpaPortal API.

Conventions

The base URL for API v2 is https://spaportal.cz/api/v2. Catalog resources are read with GET requests and filtered by query parameters. Response bodies are encoded as JSON. See API coverage for the status of each resource.
  • HTTPS only
  • Query parameters for GET filters

Paths and field names

API paths are versioned:
Resource paths use plural nouns: /hotels, /room-types, /amenity-categories. Visit types (/visit-types) are the stay packages hotels sell. Read Visit types for their behavior and the Visit type object for their fields.

IDs

Resources are identified by id, a 24-character hex string.

Dates

Read the dates guide. Date fields use ISO 8601 calendar dates in YYYY-MM-DD format, without a time or time zone.

Currencies

Read the currencies guide. Fields that use the Money object return CZK and EUR as integer minor units (amountMinor). Hotel pet fees use major-unit numbers instead. There is no currency selector for these catalog endpoints.

Prices

Read the prices guide. The Price from object defines the indicative price fields and their containers. The prices guide explains how complete offers are selected and discounted.

Images

Hotels, room types, and visit types include images with url, width, height, localized alt, and variants. Use available variants for responsive images and url as the fallback. Read the images guide for complete rendering and accessibility guidance.

Localization

Read the localization guide. Set the Accept-Language header (BCP 47 tags) to choose which locale keys localized fields return; omit it or send * to get all of cs-CZ, de, en, ru.

Pagination

Read the pagination guide. Hotel, room type, and visit type list responses are { data, pagination }; pass the previous response’s nextCursor back as cursor to fetch the next page. The amenity dictionary returns { data } in one response without pagination. Read the search guide. Hotel, room type, and visit type lists accept search for free-text filtering. Matching is case- and diacritics-insensitive and covers all supported languages (cs-CZ, de, en, ru) at once, so a term in any language matches. Each endpoint documents which field(s) it searches.

Sorting

Read the sorting guide. Hotel, room type, and visit type lists accept sort as <field>:<direction> (asc or desc), for example createdAt:desc. Each endpoint documents its sortable fields and default order.

Expand

Read the expand guide. Use expand to embed related resources inline (for example expand=hotel) instead of making a second request. Each endpoint documents the values it supports.