このページでは

SCIM API

地域

ベース URL は、組織のデータのレジデンシーによって異なります。 このページのすべての例では、組織が Amplitude の EU データセンターを使用していない限り、デフォルトのベース URL を使用してください。その場合は、この表の EU ベース URL を使用してください。

この API は、core.amplitude.com(デフォルト) または core.eu.amplitude.com(EU) を使用します。 イベント取り込みは api2.amplitude.comまたは api.amplitude.comを使用します。その他の製品はドキュメントに記載されているように独自の API ホストを使用します。https://analytics.amplitude.comホスト名は、このAPIエンドポイントではなく、アナリティクスウェブアプリ(ブラウザーUI)です。

このベースURLに対してすべてのルートを形成するには、SCIM標準に従ってください。URLはリージョン内の組織間で変更されることはありません。これは、認証に使用されるSCIMキーによって、どの組織がリクエストを受信するかを決定するためです。

考慮事項

SCIM API連携を設定する際は、以下の点に注意してください。

Postmanコレクション

その他の例やAPIリクエストのテストについては、SCIM API Postmanコレクションを参照してください。

ルートバージョン

ルートには「1」が含まれていますが、AmplitudeはSCIM 1.1標準を実装していません。 「1」は、この実装のAmplitudeバージョンを示しています。これは、現在のユーザーへのサービスを中断することなく、破壊的な変更を導入する新しい反復に対してAPIを将来にわたって使用できるようにしています。

APIの使用制限

SCIM APIは、組織ごとに毎分100件のリクエストをサポートしています。Amplitudeは、リクエストごとにバーストリクエストに対するこの制限を解除できます。 詳細については、サポートチームまたはカスタマーサクセスマネージャーにお問い合わせください。

ユーザールート

このセクションでは、ユーザー管理用のルートについて詳しく説明します。

ユーザーについて

  • Amplitudeは、ユーザーが招待を受け入れ、組織にログインしているかどうかに関係なく、ユーザーをアクティブと定義します。この設定により、ID プロバイダーは招待済みユーザーや保留中のユーザーに招待を再送信できません。
  • SCIM API は、POST ルートを通じて作成されたユーザーに、登録を完了するよう招待メールを送信します。

サポートされているユーザーフィールド

Amplitudeはコアユーザーのスキーマで以下のフィールドをサポートしています:

ユーザーを取得する

GET /Users

その組織のAmplitude内のユーザーのリストを取得します。 これには保留中ユーザーと参加ユーザーの両方が含まれ、ページネーションとフィルタリングをサポートしています。

bash
GET /scim/1/Users HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}

クエリパラメータ

レスポンス

リクエストが成功すると、ユーザーデータを含むJSONレスポンスが返されます。

json
{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
  "startIndex": 1,
  "itemsPerPage": 100,
  "totalResults": 1,
  "Resources": [
    {
      "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
      "id": "datamonster@amplitude.com",
      "userName": "datamonster@amplitude.com",
      "name": {
        "givenName": "data",
        "familyName": "monster"
      },
      "active": true,
      "emails": [
        {
          "value": "datamonster@amplitude.com",
          "primary": true
        }
      ],
      "meta": {
        "resourceType": "User"
      }
    }
  ]
}

IDでユーザーを取得する

GET /Users/:id

ユーザーをIDで取得します。

bash
GET /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}

パス変数

レスポンス

リクエストが成功すると、ユーザーのデータを含むJSONレスポンスが返されます。

json
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
  "id": "datamonster@amplitude.com",
  "userName": "datamonster@amplitude.com",
  "name": {
    "givenName": "Data",
    "familyName": "Monster"
  },
  "active": true,
  "emails": [
    {
      "primary": true,
      "value": "datamonster@amplitude.com"
    }
  ],
  "groups": [],
  "meta": {
    "resourceType": "User"
  }
}

ユーザーを作成する

POST /Users

POSTリクエストにより、Amplitudeに新しいユーザーが作成されます。 この操作により、招待リンクがメールアドレスに送信されます。

成功するには、idおよびuserNameは有効なメールアドレスである必要があります。また、ユーザーが既に存在していたり、Amplitude組織への保留中の招待があったりしてはいけません。

ルートのリクエストボディは有効なSCIMユーザーリソースである必要があります。POST

APIはユーザールートのGroupsフィールドを無視します。ユーザーをグループに追加するには、グループAPIルートにリクエストを送信します。

bash
POST /scim/1/Users/ HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Type: application/json
Content-Length: 364
{
   "schemas":[
      "urn:ietf:params:scim:schemas:core:2.0:User"
   ],
   "id":"<USER EMAIL>",
   "userName":"<USER EMAIL>",
   "name":{
      "givenName":"<USER GIVEN NAME>",
      "familyName":"<USER FAMILY NAME>"
   },
   "emails":[
      {
         "value":"<USER EMAIL>",
         "primary":true
      }
   ],
   "meta":{
      "resourceType":"User"
   }
}

リクエスト本文

このリクエストの本文パラメータについては、サポートされているユーザーフィールドを参照してください。

レスポンス

リクエストが成功すると、201 Createdと元のリクエスト本文が返されます。

ユーザーを更新する

PUT /Users/:idまたはPATCH /Users/:id

指定されたIDを使用してAmplitudeユーザーを更新します。id は有効なメールアドレスでなければならず、ユーザーはすでにAmplitudeへの招待状を持っている必要があります。 メールアドレスを変更することはできません。

リクエスト本文でactiveスキーマフィールドを falseに設定すると、ユーザーは組織から削除され、そのユーザーはすべてのアクセス権を失います。 ユーザーが保留中の場合(招待を受け入れていない招待済みユーザー)、Amplitudeは招待を取り消します。

bash
PUT /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Length: 423
{
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
    "id": "datamonster@amplitude.com",
    "userName": "datamonster@amplitude.com",
    "name": {
        "givenName": "Datamonster", #[tl! ~~]
        "familyName": "Monster"
    },
    "emails": [{
        "primary": true,
        "value": "datamonster@amplitude.com"
    }],
    "active": true,
    "groups": [],
    "meta": {
        "resourceType": "User"
    }
}

レスポンス

成功したリクエストは、200 OKステータスと元のリクエスト本文を返します。

ユーザーを削除する

指定されたIDを持つAmplitudeユーザーを削除します。 IDは有効なメールアドレスでなければならず、ユーザーはすでにAmplitudeへの招待状を持っている必要があります。

保留中のユーザー(招待を受け入れていない招待済みユーザー)を削除した場合、Amplitudeは招待を取り消します。

bash
DELETE /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}

パス変数

ユーザーの反応

削除要求が成功すると、204 No Content応答が返されます。

グループルート

このセクションでは、権限グループAPIで使用できるリクエストについて詳しく説明します。Amplitudeはグループスキーマのすべてのコアフィールドをサポートしています。 グループ内のユーザーは、サポートされているユーザーフィールドにリストされているフィールドとともに返されます。

グループを取得する

bash
GET /scim/1/Groups HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
json
{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
  "startIndex": 1,
  "itemsPerPage": 100,
  "totalResults": 1,
  "Resources": [
    {
      "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
      "id": 632,
      "displayName": "Datamonster Party",
      "members": [
        {
          "value": "data.engineer@amplitude.com",
          "display": "data nommer"
        },
        {
          "value": "datamonster@amplitude.com",
          "display": "data monster"
        }
      ],
      "meta": {
        "resourceType": "Group",
        "created": "2022-02-03T20:40:22.000+00:00",
        "lastModified": "2022-02-03T20:40:22.000+00:00"
      }
    }
  ]
}

ID でグループを取得する

指定された数値 ID を持つ Amplitude グループを返します。

bash
GET /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}

パス変数

応答例

リクエストが成功すると、200 OKステータスとグループに関するデータを含む JSON レスポンスが返されます。

json
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
  "id": "632",
  "displayName": "Datamonster Party",
  "members": [
    {
      "value": "data.engineer@amplitude.com",
      "display": "Data Engineer"
    },
    {
      "value": "datamonster@amplitude.com",
      "display": "data monster"
    }
  ],
  "meta": {
    "resourceType": "Group",
    "created": "2022-02-03T20:40:22.000+00:00",
    "lastModified": "2022-02-03T20:40:22.000+00:00"
  }
}

グループを作成する

Amplitudeでグループを作成します。このルートは既存のユーザーをグループに追加し、新しいユーザーをAmplitudeに招待します。

最初にユーザーをAmplitudeの組織に招待せずにグループにユーザーを追加した場合、Amplitudeはユーザーに最小限の権限を割り当て、ユーザーをグループに追加します。 Amplitudeはユーザーに招待メールを送信します。 権限グループの詳細についてはこちらをご覧ください

bash
POST /scim/1/Groups HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Type: application/json
Content-Length: 265
{
   "schemas":[
      "urn:ietf:params:scim:schemas:core:2.0:Group"
   ],
   "displayName":"Group Name",
   "members":[
      {
         "value":"datamonster@amplitude.com"
      },
      {
         "value":"developerdocs@amplitude.com"
      }
   ]
}

レスポンス

リクエストが成功すると、200 OKステータスとJSON本文がグループのデータとともに返されます。

json
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
  "id": 671,
  "displayName": "Group Name",
  "members": [
    {
      "value": "datamonster@amplitude.com",
      "display": "data monster"
    },
    {
      "value": "developerdocs@amplitude.com",
      "display": "undefined undefined"
    }
  ],
  "meta": {
    "resourceType": "Group",
    "created": "2022-03-03T20:38:36.000+00:00",
    "lastModified": "2022-03-03T20:38:36.000+00:00"
  }
}

ユーザーグループを更新する

PATCHリクエストを使用して、グループへのユーザーの追加または削除を行います。このOperationsアレイは、addおよびremove操作をサポートします。

PATCH /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
Content-Type: application/json
{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
    "Operations": [
        {
          "op": "add",
          "path": "members",
          "value": [{
              "value": "new.member@amplitude.com"
          }]
        }
    ]
}

応答例

リクエストが成功すると、200 OKステータスと更新されたグループのデータを含む JSON レスポンスが返されます。

json
{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
  "id": "632",
  "displayName": "New Name",
  "members": [
    {
      "value": "data.engineer@amplitude.com",
      "display": "data engineer"
    },
    {
      "value": "datamonster@amplitude.com",
      "display": "data monster"
    },
    {
      "value": "new.member@amplitude.com",
      "display": "New Member"
    }
  ],
  "meta": {
    "resourceType": "Group",
    "created": "2022-02-03T20:40:22.000+00:00",
    "lastModified": "2022-02-03T21:25:25.000+00:00"
  }
}

DELETE /Groups/:id

Amplitudeグループを削除します。

リクエスト例

bash
DELETE /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {{scim-token}}

パス変数

レスポンス

削除が成功すると、204 No Contentステータスが返されます。

これは役に立ちましたか?