GraphQL Admin API / 仕様変更

Partner アプリの Bulk Operations は
「事前に許可した場合だけ」実行できるように

bulk クエリと bulk ミューテーションは、それぞれ Partner Dashboard でアクセスを有効化しないと access denied エラーになる。全 API バージョンが対象。直近 31 日使っていない種類はアクセスを失う。

このページの構成
  1. そもそも何が変わるのか(30秒で理解)
  2. 仕組み図解 : bulk operation が実行されるまで
  3. bulk クエリと bulk ミューテーションは別々に許可
  4. 影響を受けるアプリ/受けないアプリ
  5. 既存アプリの扱いと「31日ルール」
  6. 有効化の手順(3ステップ)
  7. 技術者が押さえるべき5つのポイント
  8. 業務に活かせる3つのユースケース
  9. 提案で使える1行サマリ

1そもそも何が変わるのか

これまでは GraphQL Admin API の bulk operations をどのアプリでもそのまま呼べた。
今日からは Partner Dashboard で「bulk operations へのアクセス」を有効化したアプリだけ が bulk クエリ/bulk ミューテーションを実行できる。

これまで : 呼べば動く

bulk operation を始めるのに、Partner Dashboard 側での事前許可は不要だった。

これから : 事前許可が必要

bulk クエリ・bulk ミューテーションそれぞれにアクセスが必要。無いまま開始すると access denied エラー。

2仕組み図解 : bulk operation が実行されるまで

Partner アプリ bulkOperationRunQuery bulkOperationRunMutation 任意のストアで実行 GraphQL Admin API 全 API バージョン が対象 その操作種別の アクセスあり? Partner Dashboard の設定 Yes No bulk operation 実行 従来どおり処理される access denied エラー リクエストは拒否
アクセスは アプリ単位 で付与され、そのアプリをインストールしている すべてのストア に適用される。ストアごとの設定は不要。
エラーの具体的なエラーコード・レスポンス形式は記事に記載なし。

3bulk クエリと bulk ミューテーションは別々に許可

読み取り系

bulk クエリ

bulkOperationRunQuery を実行するには bulk クエリへのアクセス が必要。

Partner Dashboard のボタン名 : 「Allow bulk queries」

書き込み系

bulk ミューテーション

bulkOperationRunMutation を実行するには bulk ミューテーションへのアクセス が必要。

Partner Dashboard のボタン名 : 「Allow bulk mutations」

片方だけ有効でも、もう片方は使えない。アプリが実際に使う操作種別すべてを有効化しておく必要がある。

4影響を受けるアプリ/受けないアプリ

対象

Public アプリ

Partner として開発し、bulk operations を実行する公開アプリ。

対象

Partner が作る Custom アプリ

Partner として開発し、bulk operations を実行するカスタムアプリ。

現時点で対象外

マーチャントが作るアプリ

Shopify 管理画面や Dev Dashboard でマーチャントが作成したアプリ。「現時点では」影響なし。

項目内容
対象 APIGraphQL Admin API(bulk クエリ/bulk ミューテーション)
対象 API バージョン全バージョン 古いバージョンに固定していても対象
開始時期公開日(2026-11-06)当日から
未許可時の挙動access denied エラー
アクセスの適用範囲アプリをインストールしている全ストア

5既存アプリの扱いと「31日ルール」

直近 31 日間に実行あり → アクセスは自動で有効化済み 最後の実行から 31 日 その操作種別のアクセスを失う Partner Dashboard で再度有効化 ※ bulk クエリ/bulk ミューテーションそれぞれ独立に判定

すでに bulk を使っているアプリ

Shopify 側でアクセスを有効化済み。Partner Dashboard で状態を確認できる。

31 日以上使っていない操作種別

直近 31 日に bulk クエリ/bulk ミューテーションを実行していないアプリは、その操作種別へのアクセスを失う。再度有効化すれば戻せる。

6有効化の手順(3ステップ)

1

Apps からアプリを選択

Partner Dashboard の「Apps」を開き、対象アプリを選ぶ。

2

「API access requests」をクリック

サイドバーにあるメニューから開く。

3

「Run bulk operations」で許可

「Allow bulk queries」「Allow bulk mutations」の必要な方(または両方)をクリック。

アプリ設定の変更・新バージョンのリリース・マーチャントへの再インストール依頼は不要。
すでに有効な操作種別は、そのセクションに「有効」と表示される。

7技術者が押さえるべき5つのポイント

Q M

1. Query と Mutation は別権限

bulkOperationRunQuery と bulkOperationRunMutation で必要なアクセスが分かれる。コードベースでどちらを呼んでいるか棚卸しする。

ALL ver

2. API バージョン固定では回避できない

要件は GraphQL Admin API の全バージョンに適用。古いバージョンを使っていても同じく access denied になる。

31d

3. 低頻度ジョブは「休眠失効」に注意

直近 31 日未使用の操作種別はアクセスを失う。月次・四半期の移行バッチなど、たまにしか走らない処理は実行前に Partner Dashboard で状態確認が必要。

4. エラーハンドリングを明示的に

未許可だとリクエストが access denied で返る。エラーの具体的なコードや形式は記事に記載なしのため、ログ・アラートで bulk 開始失敗を検知できるようにしておく。

5. 対応はダッシュボード操作だけで完結

アプリ設定の変更・新バージョンリリース・マーチャントの再インストールは不要で、許可はインストール済みの全ストアに効く。デプロイを伴わない運用タスクとして扱える。マーチャント作成アプリ(管理画面/Dev Dashboard)は現時点で対象外。

8業務に活かせる3つのユースケース

USE CASE 1

自社 Partner アプリ群の「bulk アクセス棚卸し」

課題
複数の Public/Custom アプリを Partner として保守しており、どのアプリが bulk クエリ/ミューテーションを使っているか把握しきれていない。
打ち手
コード上の bulkOperationRunQuery/bulkOperationRunMutation 呼び出しを洗い出し、各アプリの Partner Dashboard「API access requests」で有効状態と突き合わせる。
効果
access denied による突発的なバッチ停止を未然に防げる。
技術メモ
Query と Mutation は別判定。片方しか有効でないケースを見落とさない。
CALENDAR 31
USE CASE 2

月次・季節バッチの「実行前チェック」を運用手順に組み込む

課題
月末の一括価格更新や年次の大量データエクスポートなど、間隔が 31 日を超える bulk 処理があり、実行時にアクセスが切れている恐れがある。
打ち手
バッチ実行の Runbook に「Partner Dashboard で Run bulk operations の有効状態を確認、無効なら Allow をクリック」を前段ステップとして追加。
効果
セール前などクリティカルなタイミングでの一括更新失敗を回避。
技術メモ
再有効化はアプリ設定変更・新バージョンリリース・再インストール不要。手順は数クリックで完結する。
access denied
USE CASE 3

bulk 開始失敗の監視・アラート整備

課題
bulk operation の開始が拒否されても、非同期処理のためエラーに気付くのが遅れ、データ同期の欠落が後から発覚する。
打ち手
bulk 開始リクエストのレスポンスで access denied を検知したら、通知チャンネルへアラートし「Partner Dashboard で再有効化」を案内する。
効果
アクセス失効からの復旧時間を短縮し、マーチャントへの影響を最小化。
技術メモ
エラーの具体的なコード・メッセージ形式は記事に記載なし。実際のレスポンスを確認してから検知条件を決める。

9提案で使える1行サマリ

「Partner アプリの bulk クエリ/bulk ミューテーションは、Partner Dashboard で事前許可しないと全 API バージョンで拒否される。
既存利用アプリは自動で許可済み、ただし 31 日使わないと失効。
対応はダッシュボードの数クリックだけ、デプロイも再インストールも不要。」