GraphQL Admin API

DelegateAccessToken に
expiresIn フィールド追加

委任トークンの有効期限を秒単位で即時把握できるように

delegateAccessTokenCreateDelegateAccessTokenaccessTokendelegateAccessScopesdelegateAccessTokenCreateDelegateAccessTokenaccessToken+ expiresIn ✓〜 2026-01 以前2026-04 以降

GraphQL Admin API バージョン 2026-04 以降、delegateAccessTokenCreate ミューテーションが返す DelegateAccessToken 型に expiresIn フィールドが追加されました。アプリ開発者はトークンの残り有効秒数をレスポンスから直接取得でき、特に親トークンの TTL を継承するケースで有効期限が把握できなかった問題が解消されます。

1Before / After 図解

BEFORE(〜2026-01)accessToken: "tok_xxx"delegateAccessScopes: [...]✗ expiresIn : なし親 TTL 継承時、有効期限がまったく分からなかったAFTER(2026-04〜)accessToken: "tok_xxx"delegateAccessScopes: [...]expiresIn: 3541残り秒数を即時把握し適切なタイミングで再発行可能

2業務に活かせるユースケース

課題
長時間バッチ処理でトークンが途中失効し、処理が途中で中断する
打ち手
expiresIn を取得してバッチ開始前に残り秒数を確認。不足していれば事前に再発行してから処理を開始する
効果
失効によるエラーを事前回避でき、リトライコストを削減できる
技術メモ
API バージョン 2026-04 以降のエンドポイントを指定すること。expiresIn は整数(秒)で返る
課題
マルチテナント SaaS でショップごとに異なる TTL の委任トークンを管理しており、有効期限をアプリ側で計算・保存していた
打ち手
発行時のレスポンスから expiresIn を読み取り、そのまま DB へ保存。計算ロジックや推測が不要になる
効果
管理コードを簡素化でき、TTL ずれによる余分なリフレッシュ呼び出しを排除できる
技術メモ
REST Admin API の委任エンドポイントで既に提供されていた値と同一のため、REST との並行利用時も整合性が保たれる
課題
expiresIn 入力を省略して親トークンの TTL を継承させるパターンで、トークンがいつ失効するか判断できなかった
打ち手
入力省略のまま発行し、レスポンスの expiresIn で実際に継承された残り秒数を確認する
効果
継承パターンでも有効期限が把握可能になり、適切な警告やユーザー通知を実装できる
技術メモ
元記事では「入力を省略した場合に特に有益」と明記されている。入力値を明示した場合でも同様に返る

3技術者向けポイント

項目 詳細
対象 API バージョン GraphQL Admin API 2026-04 以降
型・フィールド名 DelegateAccessToken.expiresIn(整数、単位:秒)
取得方法 delegateAccessTokenCreate ミューテーションの返り値に追加するだけ。既存クエリへの破壊的変更なし
REST との整合性 REST Admin API の委任エンドポイントが返す expires_in と同一の値。両 API を併用しても一貫性が保たれる
移行・後方互換 フィールドの追加のみ。旧バージョンのクエリに影響なし。バージョンを 2026-04 以降に上げると自動で利用可能
入力省略時の挙動 expiresIn 入力を省略した場合、親トークンの残り TTL が継承されレスポンスに返る(元記事に明記)
📝 クエリ例(イメージ)

ミューテーションの delegateAccessToken 返り値ブロックに expiresIn を追記するだけで取得できます。既存の accessToken・delegateAccessScopes フィールドとの併用も可能です。具体的なスキーマ定義は Shopify 公式 GraphQL リファレンス でご確認ください。

委任トークンの有効期限をリアルタイムに把握できるようになり、トークン失効による処理中断や複雑な TTL 管理コードを根本から排除できます。

Source: https://shopify.dev/changelog/delegateaccesstokencreate-mutation-now-returns-expiresin | 公開日: 2026-04-01