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

モバイルプッシュサブスクリプションAPI

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

認証済みユーザーのTo-Doアイテムのプッシュ通知を受け取るためにモバイルデバイスを登録します。すべてのプッシュ通知は、To-Doアイテムに対応しています。デバイスを登録しても、通知自体は配信されません。mobile_push_notifications_dispatch機能フラグをインスタンスに対して、mobile_push_notifications機能フラグを各ユーザーに対してそれぞれ有効にすることで、配信が有効になります。

デバイスを登録する

認証済みユーザーのデバイストークンを登録します。このエンドポイントは冪等なアップサートです。既存のトークンを再度登録すると、その属性とlast_seen_atタイムスタンプが更新され、クライアントはアプリケーションの起動ごとに再登録します。リクエストから省略された属性は、トークンがすでに登録されている場合、格納されている値を保持します。別のユーザーに属するトークンを登録すると、認証済みユーザーに再割り当てされます。

各ユーザーは最大20台のデバイスを登録できます。90日間参照されていないサブスクリプションは自動的に削除されます。

POST /user/push_subscriptions

サポートされている属性は以下のとおりです:

属性タイプ必須説明
device_token文字列はい16進数のAPNsデバイストークン。
platform文字列いいえデバイスプラットフォーム。iosまたはmacosのいずれか。新規登録はデフォルトでiosになります。
apns_environment文字列いいえトークンが発行されたAPNs環境: productionまたはsandbox。デフォルト: production。
bundle_id文字列いいえアプリケーションのバンドル識別子。
device_name文字列いいえ人間が読める形式のデバイス名。
app_version文字列いいえインストールされているアプリケーションのバージョン。
locale文字列いいえデバイスのロケール。
payload_mode文字列いいえfullはプッシュペイロードで通知コンテンツを送信します。id_onlyは、コンテンツのないペイロードのためにレコード識別子のみを送信します。新規登録はデフォルトでfullになります。

リクエスト例:

shell
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "device_token=abcdef0123456789abcdef0123456789" \
  --data "apns_environment=sandbox" \
  --url "https://gitlab.example.com/api/v4/user/push_subscriptions"

成功した場合、201と次のレスポンス属性を返します:

属性タイプ説明
id整数サブスクリプションのID。
created_at文字列サブスクリプションが作成された日時(ISO 8601形式)。

レスポンス例:

json
{
  "id": 1,
  "created_at": "2026-07-30T18:15:31.189Z"
}

デバイスの登録を解除する

認証済みユーザーのデバイストークンのサブスクリプションを削除します。例えば、サインアウト時などです。トークンはURLではなくリクエストボディで渡されるため、アクセスログには表示されません。成功すると204 No Contentを返し、一致するサブスクリプションがない場合は404 Not Foundを返します。

DELETE /user/push_subscriptions

サポートされている属性は以下のとおりです:

属性タイプ必須説明
device_token文字列はい16進数のAPNsデバイストークン。

リクエスト例:

shell
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data "device_token=abcdef0123456789abcdef0123456789" \
  --url "https://gitlab.example.com/api/v4/user/push_subscriptions"