コンテンツへスキップ
PentAGI
API

API概要

RESTおよびGraphQLを介してPentAGIを自動化します。Bearerトークンを作成し、CI/CDからflowsを開始し、結果を独自のツールに取り込んでクライアントを生成します。

Web UIで実行できる操作の大部分はAPIでも利用可能です。CI/CDからflowsを開始したり、結果を独自のツールに取得したり、インテグレーションを構築したりできます。

APIエンドポイントインタラクティブドキュメント
GraphQL/api/v1/graphql/api/v1/graphql/playground
REST/api/v1/.../api/v1/swagger/index.html

トークンの作成

  1. Web UIでSettings → API Tokensを開きます。
  2. Create Tokenをクリックし、必要に応じて名前を設定して、1分から3年の間で有効期限を指定します。
  3. トークンをすぐにコピーしてください。表示されるのは一度だけです。

トークンはお客様のアカウントに関連付けられ、そのロールの権限を継承します。ユーザー、ロールおよびAPIトークン、flowテンプレート、お気に入り、そして設定は、サインインしたブラウザセッションからのみ管理されます。トークンはREST /users、/roles および /tokens ルートで403エラーとなり、それらのGraphQLオペレーションでもエラーが発生します。

APIの呼び出し

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"

GraphQLミューテーションを使用してflowを開始します:

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

クライアントの生成

  • GraphQL — スキーマはリポジトリ内のbackend/pkg/graph/schema.graphqlsにあります。GraphQL Code Generator、genqlient、またはApolloを使用してください。
  • REST — OpenAPI仕様は/api/v1/swagger/doc.jsonで提供されています:
openapi-generator-cli generate \
  -i https://your-pentagi-host:8443/api/v1/swagger/doc.json \
  -g python \
  -o ./pentagi-client

最終更新日