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 |
|---|---|
| デフォルト | https://core.amplitude.com |
| 欧州連合 | https://core.eu.amplitude.com |
このベース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はコアユーザーのスキーマで以下のフィールドをサポートしています:
| SCIM ユーザー属性 | メモ |
|---|---|
userName | プライマリユーザーの電子メールアドレス。 |
id | プライマリユーザーの電子メールアドレス。 |
emails | Amplitudeは現在、ユーザーごとに1つのメールアドレスをサポートしています。 |
name.givenName | 表示名を作成するためにfamilyNameの先頭に追加されます。 |
name.familyName | Amplitude内で表示名を作成するためにgivenNameに追加されます。 |
active | 保留中および参加中のユーザーに該当します。 |
ユーザーを取得する
GET /Users
その組織のAmplitude内のユーザーのリストを取得します。 これには保留中ユーザーと参加ユーザーの両方が含まれ、ページネーションとフィルタリングをサポートしています。
GET /scim/1/Users HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
クエリパラメータ
| 名前 | 概要 |
|---|---|
startIndex | オプションです。整数です。 デフォルトは1です。1ベースのインデックスです。 |
itemsPerPage | オプションです。整数です。 デフォルトは100です。100は最大ページサイズです。 |
filter | 文字列です。 SCIMフィルタ構文に従う必要があります |
レスポンス
リクエストが成功すると、ユーザーデータを含む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で取得します。
GET /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
パス変数
| 名前 | 概要 |
|---|---|
id | 必須です。 有効なメールアドレスである必要があります。 大文字と小文字を区別しません。 |
レスポンス
リクエストが成功すると、ユーザーのデータを含む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ルートにリクエストを送信します。
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は招待を取り消します。
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は招待を取り消します。
DELETE /scim/1/Users/datamonster@amplitude.com HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
パス変数
| 名前 | 概要 |
|---|---|
id | 必須です。 有効なメールアドレスである必要があります。 大文字と小文字を区別しません。 |
ユーザーの反応
削除要求が成功すると、204 No Content応答が返されます。
グループルート
このセクションでは、権限グループAPIで使用できるリクエストについて詳しく説明します。Amplitudeはグループスキーマのすべてのコアフィールドをサポートしています。 グループ内のユーザーは、サポートされているユーザーフィールドにリストされているフィールドとともに返されます。
グループを取得する
GET /scim/1/Groups HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
{
"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 グループを返します。
GET /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {scim-token}
パス変数
| 名前 | 概要 |
|---|---|
id | 必須です。 整数です。 グループ ID |
応答例
リクエストが成功すると、200 OKステータスとグループに関するデータを含む 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はユーザーに招待メールを送信します。 権限グループの詳細についてはこちらをご覧ください。
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本文がグループのデータとともに返されます。
{
"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 レスポンスが返されます。
{
"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グループを削除します。
リクエスト例
DELETE /scim/1/Groups/632 HTTP/1.1
Host: core.amplitude.com
Authorization: Bearer {{scim-token}}
パス変数
| 名前 | 概要 |
|---|---|
id | 必須です。 整数です。 グループ ID |
レスポンス
削除が成功すると、204 No Contentステータスが返されます。
これは役に立ちましたか?