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

# GraphQL API

> Dokumentace GraphQL API pro SignageLab CMS.

SignageLab poskytuje GraphQL API dostupné na adrese:

```
https://my.signagelab.com/api/graphql
```

## Autentizace

Všechny požadavky na API vyžadují bearer token pro autentizaci.

### Získání Bearer Tokenu

<Steps>
  <Step title="Přejděte do svého uživatelského profilu v CMS" />

  <Step title="Vytvořte nový API token" />

  <Step title="Nastavte dobu platnosti tokenu" />

  <Step title="Pojmenujte jej popisným názvem pro snadnou identifikaci" />

  <Step title="Zkopírujte vygenerovaný token" />
</Steps>

![image](https://1.signage-cdn.com/documentation/images/en/api/cms-token.png)

<Warning>Token uchovávejte v bezpečí. V případě kompromitace ho můžete deaktivovat ve svém uživatelském profilu.</Warning>

## Dokumentace API

Kompletní schéma API a dostupné query/mutace můžete prozkoumat otevřením GraphQL endpointu v prohlížeči:

```
https://my.signagelab.com/api/graphql
```

GraphQL playground poskytuje:

* Interaktivní dokumentaci všech dostupných operací
* Autocomplete pro pole a argumenty
* Introspekci schématu

Alternativně můžete použít introspekci schématu k vygenerování TypeScript typů do vašeho kódu, což umožní typově bezpečná volání API.

## Volání API

### Hlavičky

Všechny požadavky musí obsahovat hlavičku `Authorization` s vaším bearer tokenem:

```
Authorization: Bearer VÁŠ_TOKEN
```

Pro operace v rámci konkrétního účtu musíte také přidat hlavičku `account`:

```
account: ID_ÚČTU
```

### Příklady

**Obecné query (nevyžaduje scope na účet):**

```bash theme={null}
curl -X POST https://my.signagelab.com/api/graphql \
  -H "Authorization: Bearer VÁŠ_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"query { accounts { id name } }"}'
```

**Query v rámci účtu:**

```bash theme={null}
curl -X POST https://my.signagelab.com/api/graphql \
  -H "Authorization: Bearer VÁŠ_TOKEN" \
  -H "account: ID_ÚČTU" \
  -H "Content-Type: application/json" \
  -d '{"query":"query { account(id: \"ID_账户\") { id name } }"}'
```
