# API genel bakış

> PentAGI'yi REST ve GraphQL üzerinden otomatikleştirin — bir Bearer token oluşturun, CI/CD'den flows başlatın, sonuçları kendi araçlarınıza çekin ve bir istemci oluşturun.

Web arayüzünde yapabildiğiniz çoğu şey API üzerinden de kullanılabilir — CI/CD'den [flows](https://pentagi.com/tr/docs/glossary/#flow) başlatın, sonuçları kendi araçlarınıza çekin veya entegrasyonlar oluşturun.

| API     | Uç Nokta          | İnteraktif dokümantasyon     |
| ------- | ----------------- | ---------------------------- |
| GraphQL | `/api/v1/graphql` | `/api/v1/graphql/playground` |
| REST    | `/api/v1/...`     | `/api/v1/swagger/index.html` |

## [Token oluşturma](https://pentagi.com/tr/docs/api/overview/#create-a-token)

1. Web arayüzünde **Settings → API Tokens** bölümünü açın.
2. **Create Token** düğmesine tıklayın, isteğe bağlı olarak bir ad verin ve geçerlilik süresini 1 dakika ile 3 yıl arasında ayarlayın.
3. Token'ı hemen kopyalayın — token yalnızca bir kez gösterilir.

Bir token hesabınıza aittir ve rolünüzün izinlerini devralır. Kullanıcılar, roller ve API tokenları, flow şablonları, favoriler ve ayarlarınız yalnızca oturum açmış bir tarayıcı oturumundan yönetilir: Bir token, REST `/users`, `/roles` ve `/tokens` rotalarında 403 hatası alır ve bu GraphQL işlemlerinden bir hata döndürür.

## [API'yi çağırma](https://pentagi.com/tr/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"
```

Bir GraphQL mutasyonu ile flow başlatın:

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

## [İstemci oluşturma](https://pentagi.com/tr/docs/api/overview/#generate-a-client)

* **GraphQL** — şema depoda `backend/pkg/graph/schema.graphqls` konumundadır; GraphQL Code Generator, genqlient veya Apollo kullanın.
* **REST** — OpenAPI spesifikasyonu `/api/v1/swagger/doc.json` adresinde sunulmaktadır:

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