# API-Übersicht

> Automatisieren Sie PentAGI über REST und GraphQL – erstellen Sie ein Bearer-Token, starten Sie Flows aus CI/CD, holen Sie Ergebnisse in Ihre eigenen Tools und generieren Sie einen Client.

Das Meiste, was Sie in der Web-UI tun können, ist auch über die API verfügbar – starten Sie [Flows](https://pentagi.com/de/docs/glossary/#flow) aus CI/CD-Pipelines, rufen Sie Ergebnisse in Ihre eigenen Tools ab oder erstellen Sie Integrationen.

| API     | Endpunkt          | Interaktive Dokumentation    |
| ------- | ----------------- | ---------------------------- |
| GraphQL | `/api/v1/graphql` | `/api/v1/graphql/playground` |
| REST    | `/api/v1/...`     | `/api/v1/swagger/index.html` |

## [Token erstellen](https://pentagi.com/de/docs/api/overview/#create-a-token)

1. Öffnen Sie **Settings → API Tokens** in der Web-UI.
2. Klicken Sie auf **Create Token**, vergeben Sie optional einen Namen und legen Sie eine Ablaufzeit zwischen 1 Minute und 3 Jahren fest.
3. Kopieren Sie den Token sofort – er wird nur einmal angezeigt.

Ein Token gehört zu Ihrem Konto und erbt die Berechtigungen Ihrer Rolle. Benutzer, Rollen und API-Tokens, Flow-Vorlagen, Favoriten und Ihre Einstellungen werden nur aus einer angemeldeten Browsersitzung verwaltet: Ein Token erhält auf den REST-Routen `/users`, `/roles` und `/tokens` den Status 403 sowie einen Fehler bei diesen GraphQL-Operationen.

## [API aufrufen](https://pentagi.com/de/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"
```

Starten Sie einen Flow mit einer GraphQL-Mutation:

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

## [Client generieren](https://pentagi.com/de/docs/api/overview/#generate-a-client)

* **GraphQL** – das Schema befindet sich unter `backend/pkg/graph/schema.graphqls` im Repository; verwenden Sie GraphQL Code Generator, genqlient oder Apollo.
* **REST** – die OpenAPI-Spezifikation wird unter `/api/v1/swagger/doc.json` bereitgestellt:

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