API miniaplikací

Endpointy pro generátory

Tahle stránka se skládá ze skutečného OpenAPI schématu a veřejného seznamu zapnutých miniaplikací.

Základní pravidla

Formát

Endpointy přijímají a vrací JSON. U POST endpointů používejte hlavičku Content-Type: application/json.

Chyby

Nevalidní vstupy vrací standardní FastAPI odpověď s polem detail a HTTP kódem 400 nebo 422.

Popisy

Popisy parametrů se berou z backendových Pydantic schemat, tedy z definice API. Úprava v backendu se propíše do OpenAPI i sem.

Endpointy

Generátor čísla OP

Generates one synthetic Czech ID card number for testing.

POST/api/public/miniapps/cislo-op/run

Parametry

Endpoint nepřijímá žádné parametry.

Request

Bez request body.

Response

{
  "value": "123456789"
}

Generátor IČ

Generates one valid Czech company identification number for testing.

POST/api/public/miniapps/ic/run

Parametry

Endpoint nepřijímá žádné parametry.

Request

Bez request body.

Response

{
  "value": "12345679"
}

Mixer skupin (optimalizovaný)

Runs the optimized variant of the group mixer. The request and response shape is the same as the standard group mixer.

POST/api/public/miniapps/mixer-skupin-opt/run

Parametry

PoleTypPovinnéVýchozíPopis
teamsstring[]ano-Názvy cílových skupin, do kterých se budou členové rozdělovat. Každý název skupiny musí být unikátní.
no_gostring[][]ano-Zakázané kombinace. Každý vnitřní seznam obsahuje položky, které nemají skončit spolu ve stejné nové skupině. Typicky původní název skupiny a její členové.
membersstring[]ano-Všechny položky, které se mají rozdělit. Kvůli kompatibilitě s legacy algoritmem obsahuje seznam i názvy skupin z `teams`.
attemptsintegerne30Maximální počet pokusů při hledání řešení. Vyšší číslo zvyšuje šanci najít řešení u složitějších vstupů, ale může prodloužit běh.
min_in_groupintegerne2Minimální počet položek v jedné výsledné skupině.
max_in_groupintegerne3Maximální počet položek v jedné výsledné skupině.

Request

{
  "teams": ["A", "B", "C"],
  "no_go": [
    ["A", "Alice", "Bob"],
    ["B", "Cyril", "Dana"]
  ],
  "members": [
    "A", "Alice", "Bob",
    "B", "Cyril", "Dana",
    "C", "Eva", "Filip"
  ],
  "attempts": 30,
  "min_in_group": 2,
  "max_in_group": 3
}

Response

{
  "groups": {
    "A": ["Cyril", "Eva"],
    "B": ["Alice", "Filip"],
    "C": ["Bob", "Dana"]
  }
}

Mixer skupin

Redistributes members into named groups while respecting forbidden combinations and group-size limits.

POST/api/public/miniapps/mixer-skupin/run

Parametry

PoleTypPovinnéVýchozíPopis
teamsstring[]ano-Názvy cílových skupin, do kterých se budou členové rozdělovat. Každý název skupiny musí být unikátní.
no_gostring[][]ano-Zakázané kombinace. Každý vnitřní seznam obsahuje položky, které nemají skončit spolu ve stejné nové skupině. Typicky původní název skupiny a její členové.
membersstring[]ano-Všechny položky, které se mají rozdělit. Kvůli kompatibilitě s legacy algoritmem obsahuje seznam i názvy skupin z `teams`.
attemptsintegerne30Maximální počet pokusů při hledání řešení. Vyšší číslo zvyšuje šanci najít řešení u složitějších vstupů, ale může prodloužit běh.
min_in_groupintegerne2Minimální počet položek v jedné výsledné skupině.
max_in_groupintegerne3Maximální počet položek v jedné výsledné skupině.

Request

{
  "teams": ["A", "B", "C"],
  "no_go": [
    ["A", "Alice", "Bob"],
    ["B", "Cyril", "Dana"]
  ],
  "members": [
    "A", "Alice", "Bob",
    "B", "Cyril", "Dana",
    "C", "Eva", "Filip"
  ],
  "attempts": 30,
  "min_in_group": 2,
  "max_in_group": 3
}

Response

{
  "groups": {
    "A": ["Cyril", "Eva"],
    "B": ["Alice", "Filip"],
    "C": ["Bob", "Dana"]
  }
}

Generátor RČ

Generates one Czech birth number. Optional parameters can constrain gender, date, slash formatting, and historical variant.

POST/api/public/miniapps/rc/run

Parametry

PoleTypPovinnéVýchozíPopis
woman"random" | "woman" | "man"ne"random"Pohlaví pro generované rodné číslo. `random` vybere náhodně, `woman` vygeneruje ženské rodné číslo a `man` mužské.
variant"random" | "standart" | "plus20" | "year1954"ne"random"Varianta zápisu měsíce. `standart` je běžná varianta, `plus20` použije ženskou variantu s přičtením 20 k měsíci u ročníků, kde je platná, `year1954` použije starší předrokovou variantu a `random` vybere platnou variantu podle zadaného roku.
slashbooleannetrueKdyž je `true`, vrátí rodné číslo s lomítkem.
yearinteger | nullne-Rok narození. Když chybí, generátor vybere rok náhodně. Zadaný rok omezuje dostupné varianty: před 1954 pouze `year1954`, 1954-2003 pouze `standart`, 2004 a novější `standart` nebo `plus20`.
monthinteger | nullne-Měsíc narození 1-12. Když chybí, vybere se náhodně.
dayinteger | nullne-Den narození. Pokud je zároveň zadaný měsíc a rok, validuje se skutečný počet dní v měsíci včetně přestupného roku.

Request

{
  "woman": "woman",
  "variant": "standart",
  "slash": true,
  "year": 1990,
  "month": 5,
  "day": 12
}

Response

{
  "value": "905512/1234"
}

Generátor VIN

Generates one synthetic VIN-like identifier for testing.

POST/api/public/miniapps/vin/run

Parametry

Endpoint nepřijímá žádné parametry.

Request

Bez request body.

Response

{
  "value": "1HGCM82633A004352"
}