# Přehled API

> Automatizujte PentAGI prostřednictvím REST a GraphQL — vytvořte Bearer token, spouštějte flow z CI/CD, načítejte výsledky do vlastních nástrojů a generujte klienta.

Většina funkcí dostupných ve webovém rozhraní je přístupná také prostřednictvím API — spouštějte [flow](https://pentagi.com/cs/docs/glossary/#flow) z CI/CD, stahujte výsledky do vlastních nástrojů nebo vytvářejte integrace.

| API     | Koncový bod       | Interaktivní dokumentace     |
| ------- | ----------------- | ---------------------------- |
| GraphQL | `/api/v1/graphql` | `/api/v1/graphql/playground` |
| REST    | `/api/v1/...`     | `/api/v1/swagger/index.html` |

## [Vytvoření tokenu](https://pentagi.com/cs/docs/api/overview/#create-a-token)

1. Ve webovém rozhraní otevřete **Settings → API Tokens**.
2. Klikněte na **Create Token**, volitelně jej pojmenujte a nastavte platnost v rozmezí od 1 minuty do 3 let.
3. Token si ihned zkopírujte — zobrazí se pouze jednou.

Token je vázán na váš účet a dědí oprávnění vaší role. Uživatelé, role a API tokeny, šablony flow, oblíbené položky a vaše nastavení jsou spravovány pouze z přihlášené relace prohlížeče: token obdrží chybu 403 na REST `/users`, `/roles` a `/tokens` trasách a chybu z těchto GraphQL operací.

## [Volání API](https://pentagi.com/cs/docs/api/overview/#call-the-api)

```bash
curl -X POST https://your-pentagi-host:8443/api/v1/graphql \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "{ flows { id title status } }"}'

curl https://your-pentagi-host:8443/api/v1/flows/ \
  -H "Authorization: Bearer YOUR_API_TOKEN"
```

Spuštění flow pomocí mutace GraphQL:

```graphql
mutation CreateFlow {
  createFlow(modelProvider: "openai", input: "Test the security of https://example.com") {
    id
    title
    status
    createdAt
  }
}
```

## [Generování klienta](https://pentagi.com/cs/docs/api/overview/#generate-a-client)

* **GraphQL** — schéma je k dispozici jako `backend/pkg/graph/schema.graphqls` v repozitáři; použijte GraphQL Code Generator, genqlient nebo Apollo.
* **REST** — specifikace OpenAPI je dostupná na adrese `/api/v1/swagger/doc.json`:

```bash
openapi-generator-cli generate \
  -i https://your-pentagi-host:8443/api/v1/swagger/doc.json \
  -g python \
  -o ./pentagi-client
```