> ## Documentation Index
> Fetch the complete documentation index at: https://docs.spaportal.cz/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

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`. The SpaPortal API follows RESTful conventions: resources are read with `GET` requests, filtered by query parameters. Response bodies are encoded as JSON.

* HTTPS only
* Query parameters for `GET` filters

## Paths and field names

API paths are versioned:

```txt theme={null}
https://spaportal.cz/api/v2
```

Resource paths use plural nouns: `/hotels`, `/room-types`, `/amenity-categories`.

## IDs

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

## Dates

[Read the dates guide](/api/dates).

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

## Currencies

[Read the currencies guide](/api/currencies).

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 request parameter.

## Images and thumbnails

Hotels and room types can include images as `{ url, thumbnailUrl }` objects — `thumbnailUrl` is a smaller generated preview, or `null` when unavailable.

## Localization

[Read the localization guide](/api/localization).

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

## Pagination

[Read the pagination guide](/api/pagination).

List responses are `{ data, pagination }`; pass the previous response's `nextCursor` back as `cursor` to fetch the next page.

## Search

[Read the search guide](/api/search).

List endpoints accept `search` for free-text filtering — case- and
diacritics-insensitive, matched across 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](/api/sorting).

List endpoints 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](/api/expand).

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