コンテンツにスキップ

エラーコード

標準のHTTPステータスコードに加えて、RealityConnect APIの一部の操作は、リクエストが拒否された理由を判別するために、レスポンスボディにマシンリーダブルなerrorコードを返します。このページでは、エンドポイントごとに名前付きコードを一覧にし、それぞれの発生条件と対処方法を説明します。


名前付きコードを返す操作は、以下の形式を使用します。エンドポイントごとの追加フィールドについては、各項で補足します。

{
"statusCode": 409,
"error": "NodeHasDerivatives",
"message": "..."
}

messageは省略可能で、存在する場合は人が読める形式の詳細を示します。処理の分岐はmessageではなくerrorを基準にしてください。

PATCH /v1/nodes/{nodeId}/move/{newParentId} — 409 Conflict

コード意味推奨される対応
AccessRightsChangeRequired移動によってノードへのアクセス権を持つユーザーが変わります。具体的な変更内容はmessageで説明されますアクセス権の変更内容を確認するか、許容できる場合はforce: trueを指定して再試行してください
MaxDepthExceeded移動によって階層の最大許容深度を超えますより浅い階層にノードを移動してください
CircularityFound移動先の親ノードが、移動対象のノードのサブツリー内にありますノード自身のサブツリー外の親を選択してください
NodeHaveMembershipsAttachedノードに、権限の境界を越えた移動を妨げるメンバーシップレコードが関連付けられています先にメンバーシップを削除するか、同じ権限スコープ内で移動してください
NodesInDifferentRegionsノードと移動先の親ノードが異なるリージョンにプロビジョニングされています解決不可 — ノードはリージョンを越えて移動できません
NodeCannotBeMovedこのノードタイプは移動をサポートしていませんこのノードタイプでは解決不可
DerivativesNotInCommonParentノードの派生出力のすべてが、移動先と共通の親の下にありません派生物を再編成してから再試行してください
SourcesNotInCommonParentノードのソース入力のすべてが共通の親の下にありませんソースを再編成してから再試行してください
DataBundleLinkedToTwinノードのデータバンドルがツインにリンクされています先にツインとのリンクを解除してください
DoesNotMeetHierarchyConstraints移動がタイプ固有の階層ルールに違反しています移動先の親がどの子タイプを許可しているか確認してください
MoveNodeFailedより具体的なコードがない理由で移動が拒否されました再試行してください。解消しない場合はサポートにお問い合わせください

DELETE /v1/nodes/{nodeId} — 409 Conflict

コード意味推奨される対応
NodeHasDerivativesノードには先に削除する必要がある派生出力があり、derivatives[]に一覧表示されます一覧表示された派生物を削除または移動してから再試行してください
NodeNotInDeletableStateノードは現在処理中、または処理に失敗しています(isProcessing/isFailedを参照)処理が完了するまで待つか、失敗を解決してから再試行してください
NodeHasBundleDependantsノードのデータバンドルに、削除を妨げる依存先があります先に依存先を削除してください
DeleteNodeFailedより具体的なコードがない理由で削除が拒否されました再試行してください。解消しない場合はサポートにお問い合わせください

ゴミ箱内のノードの復元または完全削除

Section titled “ゴミ箱内のノードの復元または完全削除”
エンドポイントステータスコード意味推奨される対応
PATCH /v1/nodes/{id}/restore409StorageLimitExceeded復元によって組織のストレージ容量を超えますストレージ容量を確保するか、容量上限を増やしてから再試行してください
DELETE /v1/nodes/{id}/hard409NoNodeRemovedノードが削除可能な状態でゴミ箱に見つかりませんでしたノードIDとゴミ箱の状態を確認してください

POST /v1/bundles/{bundleId}/processing — 409 Conflict

コード意味推奨される対応
ProcessingCostMismatch送信された処理コストが現在のコストと一致しません最新のコスト見積もりを取得してから再試行してください
NoInputDataFoundForProcessingこのバンドルを処理するための入力データが見つかりません処理を開始する前にアップロードセッションが完了していることを確認してください
InsufficientProcessingCapacity現在、処理キャパシティが利用できません後で再試行してください
FailedToLaunchProcessing処理ジョブを開始できませんでした再試行してください。解消しない場合はサポートにお問い合わせください
エンドポイントステータスコード意味推奨される対応
POST /v1/site-files403StorageLimitExceeded組織のストレージ容量を超えていますストレージ容量を確保するか、容量上限を増やしてください
POST /v1/site-files409FileAlreadyExists同一の識別情報を持つファイルが既に存在します既存のファイルを使用するか、別の名前でアップロードしてください
POST /v1/site-files/{fileId}/finalize400FileNotCompatibleアップロードされたファイルの形式が想定されるファイルタイプと互換性がありませんファイル形式を確認し、再アップロードしてください
POST /v1/bundles/{bundleId}/upload-sessions403StorageLimitExceeded組織のストレージ容量を超えていますストレージ容量を確保するか、容量上限を増やしてください
POST /v1/bundles/{bundleId}/upload-sessions/{sessionId}/files403StorageLimitExceeded組織のストレージ容量を超えていますストレージ容量を確保するか、容量上限を増やしてください
POST /v1/twin/{contextId}/object/attachments409StorageLimitExceeded組織のストレージ容量を超えていますストレージ容量を確保するか、容量上限を増やしてください
POST /v1/twin/{contextId}/object/attachments409FileAlreadyExists同一の識別情報を持つ添付ファイルが既に存在します既存の添付ファイルを使用するか、別の名前でアップロードしてください

PUT /v1/groups/{groupId}/users/{userId}(メンバーの追加) — 409 Conflict

コード意味推奨される対応
GroupHasSamlLinkグループのメンバーシップはSAML/SSO連携によって管理されていますSAMLプロバイダー側でメンバーシップを管理してください
CannotInviteToSCIMGroupグループのメンバーシップはSCIMプロビジョニングによって管理されていますSCIMプロバイダー側でメンバーシップを管理してください
UserAlreadyMemberユーザーは既にグループのメンバーです対応不要

DELETE /v1/groups/{groupId}/users/{userId}(メンバーの削除) — 409 Conflict

コード意味推奨される対応
GroupHasSamlLinkグループのメンバーシップはSAML/SSO連携によって管理されていますSAMLプロバイダー側でメンバーシップを管理してください
CannotRemoveMemberFromSCIMGroupグループのメンバーシップはSCIMプロビジョニングによって管理されていますSCIMプロバイダー側でメンバーシップを管理してください

グループの作成・名前変更・削除

Section titled “グループの作成・名前変更・削除”

POST /v1/groupsおよびPATCH /v1/groups/{groupId} — 409 Conflict

コード意味推奨される対応
DuplicateGroupNameこの名前のグループは既に組織内に存在します別の名前を選択してください
CannotUpdateMemberFromSCIMGroupグループのメンバーシップはSCIMプロビジョニングによって管理されていますSCIMプロバイダー側でメンバーシップを管理してください

DELETE /v1/groups/{groupId} — 409 Conflict

コード意味推奨される対応
CannotRemoveSCIMGroupグループのメンバーシップはSCIMプロビジョニングによって管理されていますSCIMプロバイダー側でメンバーシップを管理してください
CannotRemoveOrganizationGroupグループに単一の所有ディビジョンがありません解決不可 — このグループはこのエンドポイントから削除できません

POST /v1/nodes/{nodeId}/invitationsとPOST /v1/invitationsは同じエラーコードを共有します。

ステータスコード意味推奨される対応
409UserAlreadyInvitedユーザーには既に保留中の招待があります対応不要
409UserAlreadyMemberユーザーは既にメンバーです対応不要
403InvalidEmailDomain招待されたメールアドレスのドメインは、この組織では許可されていません許可されたドメインのメールアドレスを使用してください
400CustomRoleNotAssignableToDataNode指定されたカスタムロールはこのノードに割り当てられませんこのノードに割り当て可能なロールを選択してください
400CustomRoleNotFound指定されたカスタムロールは存在しませんロールIDを確認してください
400AdminsitrativeRoleNotFound*指定された管理ロールは存在しませんロールIDを確認してください
400AdministrativeRoleInvalidNode管理ロールが、それをサポートしていないノードに対して指定されました代わりに組織レベルで管理ロールを割り当ててください
422InvitationEmailRejectedメールプロバイダーが受信者のアドレスを完全に拒否しました再試行する前にメールアドレスを修正してください
503InvitationEmailNotSentメールプロバイダーが一時的に利用できません。何も保存されていませんそのままリクエストを再試行してください

* このコード名はAPIの現在のレスポンスに含まれる表記のとおりです。AdministrativeRoleNotFoundではなく、表示されているとおりに正確に一致させてください。

レート制限・認証・アクセス制御

Section titled “レート制限・認証・アクセス制御”

403は、セキュリティモデルで説明されている3つのアクセス制御レイヤー(OAuthスコープ、ノードごとのロール、コンテンツアクセス)のいずれからも発生する可能性があります。現時点ではこの3つすべてが同じステータスコードを共有し、そのほとんどが同じ汎用的なボディを共有しているため、403を常にスコープの問題と決めつけず、「これらの理由のいずれかにより許可されていない」ものとして扱ってください。

ステータスコード意味
429rate_limited組織のリクエストバケットが枯渇しています — レート制限を参照してください
401not_authenticatedリクエストにベアラートークンがない、またはトークンを解析できません
401invalid_tokenトークンの署名または有効期限の検証に失敗しました
403(コードなし — message: "Insufficient OAuth scopes")トークンにその操作が必要とするスコープが含まれていません — OAuthスコープを参照してください
403(コードなし — message: "Forbidden resource")呼び出し元のロールまたはこのノードへのコンテンツアクセスがその操作を許可していない、あるいは組織がライセンス/シート数の上限に達しています — ボディではどちらかを判別できません
403errorCode: "SSORestrictedResource"このリソースは、特定のSSO/IDプロバイダーセッションを通じて認証された呼び出し元に制限されています
  • 各操作の完全なリクエストおよびレスポンススキーマについては、APIリファレンスを参照してください。