Lesstep
Azure DevOps Services・REST API・2026年10月23日に確認

Azure DevOps の「TF400813: The user '…' is not authorized to access this resource.」

「ユーザー '…' にはこのリソースへのアクセスが許可されていない」という意味で、Azure DevOps が HTTP 401 で断っています。まず引用符の中の ID を見てください。aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa なら、Azure DevOps は資格情報を何も受け付けず、匿名の呼び出しとして扱っています。トークンが無い、写し間違い、期限切れ・取り消し済み、または Azure DevOps の期待する形で送られていない、のどれかです。

答えの全体

2026年10月23日に、非公開の組織へトークン無しと無効なトークンの両方で呼んだときの dev.azure.com の答え:

curl -u ':not-a-valid-token' -H 'X-TFS-FedAuthRedirect: Suppress' \
  'https://dev.azure.com/<組織>/_apis/projects?api-version=7.1'

HTTP 401
{"$id":"1","innerException":null,
 "message":"TF400813: The user 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa' is not authorized to access this resource.",
 "typeName":"Microsoft.TeamFoundation.Framework.Server.UnauthorizedRequestException, Microsoft.TeamFoundation.Framework.Server",
 "typeKey":"UnauthorizedRequestException","errorCode":0,"eventId":3000}

ID が aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa のとき

匿名の呼び出しとして扱われています。次の順に確かめます:

  1. トークンを送っているか。個人用アクセス トークンは、ユーザー名を空にしてトークンをパスワードにした Basic 認証で受け付けられます:curl -u ':<トークン>'、またはヘッダー Authorization: Basic + :<トークン> の Base64。
  2. トークン全体か。コピーで入った空白・改行や、1文字の欠けだけで無効になります。
  3. 期限切れ・取り消し済みではないか。右上の User settings → Personal access tokens で期限を見ます。
  4. Microsoft Entra のトークンか。有効なのは1時間です(Microsoft)。更新しないまま持ち続ける道具は、その後に失敗し始めます。IDE のプラグインのセッションが数時間後に使えなくなり、この匿名の ID が出た公開の報告があります。
  5. 「All accessible organizations」のトークンか。Azure DevOps Services で廃止が決まっています(日付は2026年12月1日だったが、10月23日に延期):組織用に作り直す。

別の ID のとき

Azure DevOps はその ID として資格情報を受け付けたうえで、その ID にはこのリソースを開く許可が無い、と言っています。そのアカウントがこの組織のメンバーか、ブラウザーでそのプロジェクトを開けるかを確かめます。読む権限の無いリポジトリは、これとは違い HTTP 404 と TF401019 で答えます。

トークンを手で確かめる

curl -u ':<トークン>' -H 'X-TFS-FedAuthRedirect: Suppress' \
  'https://dev.azure.com/<組織>/_apis/git/repositories?api-version=7.1'

リポジトリの一覧の JSON が返れば、そのトークンはその組織で少なくとも Code (Read) として通っています。匿名の ID の TF400813 なら通っていません。

IntelliJ IDEA・Rider で Azure DevOps のプルリクを見るなら

Azure DevOps Pull Requests は、Lesstep が作っている JetBrains IDE(2024.1 以降)と Android Studio のプラグインです。こうした答えを IDE の中で1行にまとめます。401 も、サインイン画面への 302 も、HTML のページも「Azure DevOps が個人用アクセス トークンを受け付けませんでした」と表示し、確かめる所と 設定を開く のリンクを添えます。トークンの代わりに Azure CLI のサインインも使え、その有効期間の短いトークンは切れる数分前に Azure CLI へもらい直します。受信箱は無料、投票・コメント・完了は Pro(30日間の無料試用つき)です。画面は日本語です。

JetBrains Marketplace で入れる

Azure DevOps と Microsoft Entra は Microsoft Corporation の商標、IntelliJ IDEA と Rider は JetBrains s.r.o. の商標です。このページは Microsoft・JetBrains のいずれとも提携しておらず、承認も受けていません。

ほかに:「203 Non-Authoritative Information」:JSON の代わりにサインイン ページ · VS30063:同じ断りを .NET のクライアントの言葉で · IntelliJ IDEA 2025.2 以降の Azure DevOps のプラグインの比較 · English