Reference
REST API v1
JSON rozhraní na https://volnekurty.cz/api/v1. Všechny operace vyžadují osobní Bearer token a odpovědi se necachují.
Formát odpovědi
{
"data": { ... },
"meta": {
"requestId": "req_...",
"generatedAt": "2026-10-16T10:00:00.000Z",
"timezone": "Europe/Prague"
}
}Stránkované odpovědi přidávají nextCursor, hledání také coverage a spotřebované jednotky. Cursor je živý, platí 10 minut a není snapshot.
Endpointy
GET/api/v1/catalog
Skutečně podporované oblasti, sporty, filtry, délky a pravidla hledání. Scope catalog:read, 1 jednotka.
GET/api/v1/venues
Povinné metro; volitelně sport, query, cursor a limit 1–50. Scope catalog:read, 1 jednotka.
GET/api/v1/venues/{slug}
Detail areálu, kurty, vybavení, sezóny, cenové informace a ověřený booking URL. Scope catalog:read, 1 jednotka.
POST/api/v1/availability/search
Povinné metro, sport, dateFrom, timeFrom, timeTo a durationMinutes. Rozsah má 1–14 dní a nejvýše 40 skutečně prohledávaných areálů. Scopes catalog:read + availability:read; jednotky = počet dní.
{
"metro": "brno",
"sport": "tennis",
"dateFrom": "2026-10-17",
"timeFrom": "18:00",
"timeTo": "21:00",
"durationMinutes": 90
}GET/api/v1/me/favorites
Stránkovaný seznam oblíbených uložených v účtu. Scope favorites:read, 1 jednotka.
GET/api/v1/me
Scopes tohoto tokenu, expirace a společná kvóta. Nevrací e-mail ani jiné tokeny a nečerpá denní jednotku.
Chyby
JSON chyba má tvar { error: { code, message, requestId, details? } }. Běžné stavy: 400 neplatný vstup/cursor, 401 token, 403 scope nebo pozastavení, 404 zdroj, 413/415 tělo, 429 limit a 503 dočasný výpadek dat či služby.