# Aperçu de l'API

> Automatisez PentAGI via REST et GraphQL — créez un jeton Bearer, lancez des flows depuis votre CI/CD, récupérez les résultats dans vos propres outils et générez un client.

La plupart des actions que vous pouvez effectuer dans l'interface web sont disponibles via l'API — lancez des [flows](https://pentagi.com/fr/docs/glossary/#flow) depuis votre CI/CD, récupérez les résultats dans vos propres outils ou créez des intégrations.

| API     | Point de terminaison | Documentation interactive    |
| ------- | -------------------- | ---------------------------- |
| GraphQL | `/api/v1/graphql`    | `/api/v1/graphql/playground` |
| REST    | `/api/v1/...`        | `/api/v1/swagger/index.html` |

## [Créer un jeton](https://pentagi.com/fr/docs/api/overview/#create-a-token)

1. Ouvrez **Settings → API Tokens** dans l'interface web.
2. Cliquez sur **Create Token**, nommez-le éventuellement et définissez une expiration comprise entre 1 minute et 3 ans.
3. Copiez le jeton immédiatement — il n'est affiché qu'une seule fois.

Un jeton est associé à votre compte et hérite des permissions de votre rôle. Les utilisateurs, les rôles et les jetons API, les modèles de flow, les favoris et vos paramètres sont gérés uniquement depuis une session de navigateur connectée : un jeton reçoit une erreur 403 sur les routes REST `/users`, `/roles` et `/tokens` ainsi qu’une erreur pour ces opérations GraphQL.

## [Appeler l'API](https://pentagi.com/fr/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"
```

Lancez un flow avec une mutation GraphQL :

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

## [Générer un client](https://pentagi.com/fr/docs/api/overview/#generate-a-client)

* **GraphQL** — le schéma est disponible à l'adresse `backend/pkg/graph/schema.graphqls` dans le dépôt ; utilisez GraphQL Code Generator, genqlient ou Apollo.
* **REST** — la spécification OpenAPI est servie à l'adresse `/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
```