正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

REST API

  • プラン: Premium、Ultimate
  • 提供形態: GitLab.com
  • ステータス: ベータ版

この機能の利用可否は機能フラグによって制御されています。 詳細については、履歴を参照してください。 この機能はテスト目的で利用可能ですが、本番環境での使用には対応していません。

Orbit REST APIを使用すると、スクリプト、CIパイプライン、またはカスタムツールからナレッジグラフに直接クエリを実行できます。

認証

すべてのエンドポイントには、read_apiスコープを持つGitLabパーソナルアクセストークンが必要です。Bearerトークンとして渡してください。

--header "Authorization: Bearer <your_token>"

結果は、トークンオーナーがGitLabでアクセスできるエンティティにスコープされます。

課金

APIコールはサブスクリプションのGitLabクレジットを消費します。POST /api/v4/orbit/queryへの各コールはクレジットを消費します。その他のエンドポイントは消費対象外です。

エンドポイント

メソッドエンドポイント説明
POST/api/v4/orbit/queryグラフクエリを実行する
GET/api/v4/orbit/schema現在のスキーマをフェッチする
GET/api/v4/orbit/statusインデックス作成のステータスを確認する
GET/api/v4/orbit/tools利用可能なMCPツール定義を一覧表示する

クエリエンドポイント

OrbitクエリDSLを使用してグラフクエリを実行します。

リクエストボディには以下が含まれます。

  • query: Orbitクエリオブジェクト。
  • format: オプションのレスポンス形式。構造化されたJSONにはrawを、AIエージェント向けに最適化されたコンパクトなテキストにはllmを使用します。デフォルト: llm

例:

curl --request POST \
  --header "Authorization: Bearer <your_token>" \
  --header "Content-Type: application/json" \
  --data '{"query": <query_json>, "format": "raw"}' \
  "https://gitlab.com/api/v4/orbit/query"

完全なDSLについては、クエリ言語リファレンスを参照してください。

リクエスト例

パイプラインの失敗が最も多いプロジェクトを検索するリクエストの例:

リクエストボディをrequest.jsonに記述します。

{
  "query": {
    "query_type": "aggregation",
    "nodes": [
      {"id": "pl", "entity": "Pipeline", "filters": {"status": "failed"}},
      {"id": "p", "entity": "Project", "columns": ["name", "full_path"]}
    ],
    "relationships": [
      {"type": "IN_PROJECT", "from": "pl", "to": "p"}
    ],
    "group_by": [{"kind": "node", "node": "p"}],
    "aggregations": [
      {
        "function": "count",
        "target": "pl",
        "alias": "failed_pipelines"
      }
    ],
    "aggregation_sort": {"column": "failed_pipelines", "direction": "DESC"},
    "limit": 10
  },
  "format": "raw"
}
curl --request POST \
  --header "Authorization: Bearer <your_token>" \
  --header "Content-Type: application/json" \
  --data @request.json \
  "https://gitlab.com/api/v4/orbit/query"

レスポンス例:

{
  "result": {
    "format_version": "2.0.0",
    "query_type": "aggregation",
    "nodes": [],
    "edges": [],
    "group_columns": [
      {
        "name": "p",
        "kind": "node",
        "node": "p",
        "entity": "Project"
      }
    ],
    "columns": [
      {
        "name": "failed_pipelines",
        "function": "count",
        "target": "pl"
      }
    ],
    "rows": [
      {
        "p": {
          "type": "Project",
          "id": "1",
          "properties": {
            "name": "payments-api",
            "full_path": "my-org/payments-api"
          }
        },
        "failed_pipelines": 47
      }
    ]
  },
  "query_type": "aggregation",
  "raw_query_strings": null,
  "row_count": 1
}

スキーマエンドポイント

現在のオントロジー(すべてのノードタイプ、そのプロパティと型、およびすべてのリレーションシップタイプ)を返します。

curl --header "Authorization: Bearer <your_token>" \
  "https://gitlab.com/api/v4/orbit/schema"

クエリを作成する前に、利用可能なエンティティタイプとプロパティを確認するために使用してください。

ステータスエンドポイント

Orbitが有効になっているグループのインデックス作成ステータスを返します。

curl --header "Authorization: Bearer <your_token>" \
  "https://gitlab.com/api/v4/orbit/status"

レスポンス例:

{
  "status": "indexed",
  "domains": {
    "sdlc": {"indexed": true, "last_updated": "2026-05-05T14:22:00Z"},
    "code": {"indexed": true, "last_updated": "2026-05-05T14:18:00Z"}
  },
  "projects": {
    "total": 847,
    "indexed": 847
  }
}

ツールエンドポイント

MCPクライアントと互換性のある形式で、query_graphget_graph_schemaのMCPツール定義を返します。

curl --header "Authorization: Bearer <your_token>" \
  "https://gitlab.com/api/v4/orbit/tools"