SCIM APIリファレンス

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

SCIM APIリファレンス

このページでは、ユーザーおよびグループのプロビジョニングのためにaxeアカウントが公開するSCIM 2.0エンドポイントを記録しています。多くの場合、アイデンティティプロバイダーのSCIMコネクターがこれらのエンドポイントを呼び出します。このリファレンスは、カスタム統合を構築するチームや動作を直接検証するチームのためのものです。

axeはSCIM 2.0標準(RFC 7643 / RFC 7644)を実装しています。このページは、axe特有の動作に焦点を当てています。一般的なプロトコルについては、SCIM仕様書を参照してください。

基本URLと認証

すべてのエンドポイントは、地域またはプライベートの基本URL上の/api/scim/v2で提供されます。

https://axe.deque.com/api/scim/v2

すべてのリクエストは、SCIM APIキーで認証してください。

-H "X-API-Key: <API_KEY>"
# or
-H "Authorization: <API_KEY>"

キーと基本URLを取得するには、前提条件とセットアップを参照してください。

慣例

  • コンテンツタイプ: application/json
  • エラー応答はSCIMエラースキーマを使用します:
    {
      "schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],
      "detail": "<message>",
      "status": <code>
    }
  • ページネーション(ユーザー):startIndex(1から始まる)およびcount(1~100)。
  • フィルタリング(ユーザー、グループ):filtereq演算子を使用して、例えばuserName eq "user@example.com"

ユーザー

ユーザーのリスト

GET /api/scim/v2/Users

エンタープライズのメンバーを返します。ページネーションとフィルタリングをサポートしています。

note

filterが提供されている場合、検索はエンタープライズに限定されません:一致するがメンバーでないユーザーがactive: falseと共に返されます。結果をメンバーとして扱うのではなく、activeを確認してください。フィルタされたリクエストは常に最大で1つのリソースを返し、countstartIndexは無視されます。

クエリパラメータ

パラメータ タイプ 説明
filter 文字列 オプション。例えば、userName eq "user@example.com" または externalId eq "<id>"
startIndex 整数 オプション。最初の結果の1から始まるインデックス。デフォルトは1です。
count 整数 オプション。ページごとの結果、1100

curl -H "X-API-Key: $KEY" \
  "https://axe.deque.com/api/scim/v2/Users?count=10&startIndex=1"

レスポンス 200 OK

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
  "totalResults": 42,
  "itemsPerPage": 10,
  "startIndex": 1,
  "Resources": [
    {
      "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
      "id": "5f3e...c2",
      "userName": "user@example.com",
      "active": true,
      "name": { "givenName": "Alex", "familyName": "Doe" },
      "emails": [
        { "primary": true, "value": "user@example.com", "type": "work", "display": "user@example.com" }
      ],
      "groups": [
        { "value": "grp-1", "display": "Axe Monitor", "$ref": "/Groups/grp-1" }
      ],
      "meta": { "resourceType": "User", "location": "/Users/5f3e...c2" }
    }
  ]
}

エラー

ステータス detail
400 Count must be between 1-100

ユーザーの取得

GET /api/scim/v2/Users/{id}

axeユーザーIDで単一のユーザーを返します。activeがエンタープライズのメンバーシップを反映します。

レスポンス 200 OK — ユーザーリソース(上記参照)。

エラー

ステータス detail
404 User not found

ユーザーの作成

POST /api/scim/v2/Users

ユーザーをプロビジョニングします:axeアカウントを作成し、エンタープライズに追加し、招待メールを送信します。ボディ内のgroups値は無視されます — 製品アクセスはPATCH /Groupsを介して別途割り当ててください。

リクエストボディ

フィールド 必須 説明
schemas urn:ietf:params:scim:schemas:core:2.0:User を含める必要があります。
userName ユーザーのメールアドレス。
name.givenName 名前。
name.familyName 名字。
emails 正確に 1 つの primary: true エントリーを持つ配列。
active true はユーザーを企業に追加します。
externalId ディレクトリの一意の識別子(推奨)。

curl -X POST -H "X-API-Key: $KEY" -H "Content-Type: application/json" \
  -d '{
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
    "userName": "user@example.com",
    "name": { "givenName": "Alex", "familyName": "Doe" },
    "emails": [{ "type": "work", "value": "user@example.com", "primary": true }],
    "active": true
  }' \
  "https://axe.deque.com/api/scim/v2/Users"

応答 201 Created — 作成されたユーザーリソース。

エラー

ステータス detail
400 Validation errors: Exactly one primary e-mail is required at 'emails'.(一般的なエラーエンベロープ、SCIM エラースキーマではありません)
400 A primary email is required but was not found in the emails array
400 User email domain does not match enterprise root group
400 Enterprise does not have an identity provider configured
409 User is already a member of an enterprise

ユーザーの置き換え

PUT /api/scim/v2/Users/{id}

ユーザーの名前とメールアドレスが更新されます。

リクエスト本文

フィールド 必須 説明
schemas urn:ietf:params:scim:schemas:core:2.0:User を含める必要があります。
id ユーザーのAxeユーザーID(UUID)。パス内の {id} に一致する必要があります。
name.givenName 名前。
name.familyName 名字。
emails ユーザーのメールを含む配列。正確に一つのエントリーが primary: true を持たなければなりません。
name.middleName ミドルネーム。
meta 受け入れられて無視されます;meta はサーバーによって割り当てられます。

応答 200 OK — 更新されたユーザーリソース。

エラー

ステータス detail
404 User not found
403 User is a member of multiple enterprises
403 User is not a member of this enterprise
400 No primary email found in the provided emails array
409 A user with this email already exists

ユーザーの有効化または無効化

PATCH /api/scim/v2/Users/{id}

企業のメンバーシップを設定します。active: trueによってユーザーが企業に追加され、active: falseによってユーザーが準備解除されます(メンバーシップが削除され、アカウントは保持されます)。

リクエストボディ

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [
    { "op": "replace", "value": { "active": false } }
  ]
}

レスポンス 204 No Content

エラー

ステータス detail
404 User not found
400 Cannot remove the last admin from the enterprise

ユーザーの準備解除

DELETE /api/scim/v2/Users/{id}

ユーザーを企業から削除します(ソフト削除 — アカウントは保持されます)。

レスポンス 204 No Content

エラー

ステータス detail
404 User not found
400 Cannot remove the last admin from the enterprise

グループ

グループは製品のサブスクリプション(製品のシートを付与する)またはチーム(ユーザーを整理する)のいずれかです。SCIM と axeアカウントの連携方法をご覧ください。

グループの一覧

GET /api/scim/v2/Groups

あなたの企業のすべての製品のサブスクリプションとチームを返します。このエンドポイントにはページ分割がありません。

クエリパラメータ

パラメータ タイプ 説明
filter 文字列 オプション。displayName eq "<name>"。厳密に一致し、チーム名や製品名に対して大文字小文字を区別する/UsersでのuserNameフィルタは大文字小文字を区別しません。

レスポンス 200 OK

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
  "totalResults": 5,
  "startIndex": 1,
  "itemsPerPage": 5,
  "Resources": [
    {
      "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
      "id": "grp-1",
      "displayName": "Axe Monitor",
      "members": [
        { "value": "5f3e...c2", "display": "user@example.com", "$ref": "/Users/5f3e...c2" }
      ]
    }
  ]
}

グループを取得

GET /api/scim/v2/Groups/{id}

レスポンス 200 OK — グループリソース。

エラー

ステータス detail
404 Group not found

グループを作成

POST /api/scim/v2/Groups

チームを作成します。displayNameが企業がアクティブなサブスクリプションを持つ製品の名前に正確に一致する場合、チームは作成されません — 代わりに既存の製品サブスクリプショングループが返されます(201、それに付随するidおよびLocation)、リクエストボディ内のmembersは無視されます。そのグループのメンバーシップはPATCH /Groups/{id}を通じて管理してください。

一致は大文字小文字を区別し、正確です。名前がサブスクリプションがではないアクティブである製品と一致する場合、その名前を持つ通常のチームが作成されます — 製品シートは付与されません。

リクエストボディ

フィールド 必須 説明
schemas urn:ietf:params:scim:schemas:core:2.0:Groupを含める必要があります。
displayName チーム名(空白ではない、128文字以内)。
members オプションの配列(最大1000)。

レスポンス 201 Created — 作成されたグループリソース、Location ヘッダー付き。

エラー

ステータス detail
400 The group was not created because some users are not members of the enterprise. User IDs: ...
409 A group with this displayName already exists

グループメンバーシップの更新

PATCH /api/scim/v2/Groups/{id}

メンバーを追加または削除します。サブスクリプショングループの場合、製品のシートを付与または取り消します。チームグループの場合、チームメンバーシップを変更します。

リクエストボディ

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [
    { "op": "add", "path": "members", "value": [ { "value": "5f3e...c2" } ] }
  ]
}

メンバーを削除するには、pathと一緒にop: "remove"を使用してください。replaceと空の配列を使用すると、すべてのメンバーが削除されます。

レスポンス 204 No Content

エラー

ステータス detail
404 Group not found
404 Product not found
402 Enterprise subscription out of seats
400 Some users were not added to the group because they are not members of the enterprise. User IDs: ...
400 Path is required for remove operations

グループの削除

DELETE /api/scim/v2/Groups/{id}

チームを削除します。製品サブスクリプショングループに対する削除リクエストは無視されます(204を返します)。

レスポンス 204 No Content

エラー

ステータス detail
404 Group not found

グループの更新(サポートされていません)

PUT /api/scim/v2/Groups/{id}

サポートされていません。405 Method not allowedを返します。メンバーシップを変更するにはPATCHを使用してください。


ディスカバリーエンドポイント

これらは自動コネクタ設定をサポートします。すべてが200 OKを返します。

エンドポイント 戻り値
GET /api/scim/v2/ServiceProviderConfig サポートされている機能(パッチ、最大100件の結果でのフィルタリング;バルクとソートはサポートされていません)。
GET /api/scim/v2/Schemas ユーザーとグループのスキーマ定義。
GET /api/scim/v2/Schemas/{id} URNによる単一のスキーマ。未知の場合は404 "Schema not found"
GET /api/scim/v2/ResourceTypes ユーザーとグループのリソースタイプ。
GET /api/scim/v2/ResourceTypes/{id} 単一のリソースタイプ。未知の場合は404 "Resource type not found"

関連項目