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

# Rychlý start s API

> Vytvořte v Developer Hub servisní účet a klíč API, ověřte se pomocí autentizace Basic a odešlete svůj první požadavek na veřejné API Living Security.

Vytvořte v Developer Hub servisní účet a klíč API a poté odešlete svůj
první požadavek. Tento rychlý start používá autentizaci pomocí klíče API; klient
OAuth nepotřebujete. Pokud vaše integrace vyžaduje krátkodobé přístupové tokeny OAuth,
přečtěte si část [Autentizace](/cs/developers/v1/authentication).

## Předpoklady

* Přístup správce k Nástěnce Living Security.
* Zobrazený Developer Hub v nabídce **Nastavení → Integrace a vývojáři →
  Developer Hub**.

## Vytvoření přihlašovacích údajů

<Steps>
  <Step title="Vytvořte servisní účet">
    V Developer Hub otevřete kartu **Servisní účty** a vytvořte
    účet. Dejte mu popisný název (například `reporting-pipeline`) a
    udělte oprávnění, která mohou jeho klíče používat – pro tento návod stačí `organization:read`.

    Oprávnění účtu představují horní hranici pro každý klíč vytvořený v rámci něj:
    klíč nikdy nemůže dělat více, než jeho servisní účet povoluje.
  </Step>

  <Step title="Vytvořte klíč API">
    Otevřete stránku s podrobnostmi o servisním účtu a vytvořte klíč. Vyberte
    oprávnění, která tento konkrétní klíč potřebuje (podmnožinu oprávnění účtu), a
    dobu platnosti – 30, 90 nebo 365 dní, případně vlastní období. Platnost je
    povinná.

    Tajný klíč začíná `lsk_live_` a zobrazí se **pouze jednou**. Ihned ho zkopírujte
    do správce tajných klíčů; později jej nelze znovu zobrazit.

    <Warning>
      Tajné klíče API nikdy neukládejte do správy verzí ani je nevkládejte do kódu
      na straně klienta. Kdokoli, kdo tajný klíč má, může jednat s oprávněními tohoto klíče.
    </Warning>
  </Step>

  <Step title="Zvolte region">
    Volejte regionální hostitele `/v1`, který odpovídá umístění dat
    organizace. Klíče se ověřují pouze na tomto hostiteli.

    | Region | Základní URL |
    | - | - |
    | USA | `https://api.us-east-1.livingsecurity.ai/v1` |
    | EU | `https://api.eu-west-1.livingsecurity.ai/v1` |

    Pokud si nejste jisti, kterého hostitele použít, přečtěte si část [Regiony](/cs/developers/v1/regions). Platný klíč odeslaný do druhého regionu selže s chybou `unauthorized`. Hostitele
    přepnete pomocí rozevíracího seznamu regionů u ukázky níže.
  </Step>

  <Step title="Odešlete první požadavek">
    Načtěte `LIVING_SECURITY_API_KEY` ze správce tajných klíčů do prostředí
    procesu, který požadavek odesílá. Níže uvedené příklady jej čtou bez vložení
    tajného klíče do zdrojového kódu. Pro Python nejprve nainstalujte `requests`.

    Zavolejte API s tajným klíčem v poli hesla nebo uživatelského jména pro HTTP Basic
    autentizaci – funguje obojí, takže klienti, které vyžadují vyplnění obou polí (například
    konektor Web v Power BI), mohou do druhého pole zadat zástupnou hodnotu, například `apikey`.

    <CodeGroup>
      ```bash cURL theme={null}
      curl --fail-with-body --connect-timeout 5 --max-time 30 \
        https://api.eu-west-1.livingsecurity.ai/v1/organization \
        -u "apikey:${LIVING_SECURITY_API_KEY:?Set LIVING_SECURITY_API_KEY}" \
        -H "Living-Security-Version: 2026-07-01"
      ```

      ```bash cURL (key as username) theme={null}
      curl --fail-with-body --connect-timeout 5 --max-time 30 \
        https://api.eu-west-1.livingsecurity.ai/v1/organization \
        -u "${LIVING_SECURITY_API_KEY:?Set LIVING_SECURITY_API_KEY}:" \
        -H "Living-Security-Version: 2026-07-01"
      ```

      ```python Python theme={null}
      import os
      import requests

      BASE = "https://api.eu-west-1.livingsecurity.ai/v1"

      response = requests.get(
          f"{BASE}/organization",
          auth=("apikey", os.environ["LIVING_SECURITY_API_KEY"]),
          headers={"Living-Security-Version": "2026-07-01"},
          timeout=(5, 30),
          allow_redirects=False,
      )
      response.raise_for_status()
      if response.status_code != 200:
          raise RuntimeError("Unexpected response; check your regional API URL")
      print(response.json())
      ```
    </CodeGroup>

    Úspěšná odpověď vrátí vaši organizaci:

    ```json Response theme={null}
    {
      "id": "1e2f3a4b-5c6d-4e7f-8a9b-0c1d2e3f4a5b",
      "object": "organization",
      "name": "Example Corp",
      "region": "eu",
      "plan": "enterprise",
      "subscription_status": "active",
      "created_at": "2024-03-12T18:04:11.000Z"
    }
    ```

    <Check>
      Pokud obdržíte tuto odpověď, vaše přihlašovací údaje fungují. Požadavek se také
      během okamžiku zobrazí na kartě **Protokoly požadavků** v Developer Hub.
    </Check>
  </Step>
</Steps>

<Tip>
  Funguje také autentizace Bearer se stejným tajným klíčem (`Authorization: Bearer
    lsk_live_...`). Autentizace Basic existuje proto, aby se mohly připojit nástroje, které podporují pouze
  uživatelské jméno a heslo – například konektor Web v Power BI.
</Tip>

## Jak autentizace funguje

* **Přihlašovací údaje určují organizaci.** Požadavky `/v1` neobsahují
  žádný selektor tenanta: ani segment cesty s organizací, ani hlavičku organizace.
  Odeslání hlavičky `x-organization-id` je odmítnuto s chybou `invalid_request`.
  Hostitel musí stále odpovídat regionu dané organizace. Viz
  [Regiony](/cs/developers/v1/regions).
* **Oprávnění se kontrolují pro každou operaci.** Každá operace `/v1` vyžaduje
  pojmenované oprávnění (například `GET /v1/organization` vyžaduje
  `organization:read`). Klíč, kterému oprávnění chybí, obdrží `403` s kódem
  `insufficient_permission`.
* **Klíče mají omezenou platnost a lze je rotovat bez výpadku.** Rotaci s překryvným
  oknem najdete v části [Klíče API](/cs/developers/developer-hub/api-keys).

## Čtení chybových odpovědí

Každá chyba `/v1` má formát `application/problem+json`
([RFC 9457](https://www.rfc-editor.org/rfc/rfc9457)) se stabilním strojovým
kódem. Například požadavek s chybějícími nebo neznámými přihlašovacími údaji vrátí:

```json 401 Unauthorized theme={null}
{
  "type": "https://docs.livingsecurity.com/developers/v1/errors/unauthorized",
  "title": "Unauthorized",
  "status": 401,
  "detail": "No valid API credential was provided.",
  "code": "unauthorized",
  "request_id": "req_...",
  "doc_url": "https://docs.livingsecurity.com/developers/v1/errors/unauthorized",
  "retryable": false
}
```

Větvete podle `code`, nikdy podle `detail`. Postupujte podle `doc_url`, kde najdete kroky
k řešení, a při kontaktování podpory uveďte `request_id` – odpovídá
hlavičce odpovědi `Request-Id` a protokolům požadavků v Developer Hub. Úplný
seznam kódů je v [referenci chyb](/cs/developers/v1/errors/overview).

## Verze kontraktu

Každá odpověď v hlavičce `Living-Security-Version` vrací verzi kontraktu, která ji obsloužila,
spolu s hlavičkou `Request-Id` pro
korelaci.

Požadavek můžete připnout ke zveřejněné verzi kontraktu podle data:

<CodeGroup>
  ```bash cURL theme={null}
  curl --fail-with-body --connect-timeout 5 --max-time 30 \
    https://api.eu-west-1.livingsecurity.ai/v1/organization \
    -u "apikey:${LIVING_SECURITY_API_KEY:?Set LIVING_SECURITY_API_KEY}" \
    -H "Living-Security-Version: 2026-07-01"
  ```
</CodeGroup>

Verze se určuje v tomto pořadí: hlavička požadavku, pokud je přítomna, jinak
výchozí verze připnutá u servisního účtu, jinak nejnovější zveřejněná verze.
Vyžádání verze, která není zveřejněna (nebo je po datu ukončení podpory),
vrátí `400` s kódem `unsupported_version`. Zveřejněné verze a jejich
změny jsou uvedeny v [seznamu změn API](/cs/developers/v1/changelog).

## Řešení potíží s prvním požadavkem

| Výsledek | Další postup |
| - | - |
| `401 unauthorized` | Zkontrolujte tajný klíč, jeho platnost a region organizace. Nezkoušejte jiné hostitele s platnými přihlašovacími údaji. |
| `403 insufficient_permission` | Udělte `organization:read` servisnímu účtu i jeho klíči. |
| `400 unsupported_version` | Vyberte zveřejněnou verzi ze [seznamu změn](/cs/developers/v1/changelog). |
| `429 rate_limited` | Počkejte na `Retry-After`; postupujte podle [příkladu omezeného opakování](/cs/developers/v1/rate-limits). |
| Vypršení časového limitu sítě | Zkontrolujte konektivitu a zopakujte toto čtení v rámci rozpočtu opakování vaší aplikace. |

U ostatních chyb postupujte podle `doc_url` v odpovědi. Uschovejte `Request-Id` pro
podporu; do tiketu nikdy nevkládejte hlavičku Authorization ani svůj klíč API.

## Další kroky

<CardGroup cols={2}>
  <Card title="Regiony" href="/cs/developers/v1/regions">
    Zvolte hostitele `/v1` pro USA nebo EU pro danou organizaci.
  </Card>

  <Card title="Stránkování" href="/cs/developers/v1/pagination">
    Procházejte seznamy pomocí `page_token` a obálky seznamu.
  </Card>

  <Card title="Limity požadavků" href="/cs/developers/v1/rate-limits">
    Seznamte se s rozpočty požadavků a zpracováním odpovědí `429`.
  </Card>

  <Card title="Reference chyb" href="/cs/developers/v1/errors/overview">
    Všechny chybové kódy, jejich stavy HTTP a způsob řešení.
  </Card>

  <Card title="Developer Hub" href="/cs/developers/developer-hub/overview">
    Správa servisních účtů, klíčů API a protokolů požadavků.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.