このページでは

実験管理APIフラグエンドポイント

EU データレジデンシー

このページの例では、デフォルトのベース URL https://experiment.amplitude.comを使用しています。プロジェクトで Amplitude の EU データセンターを使用している場合は、代わりに https://experiment.eu.amplitude.com を使用してください。詳細については、「地域」を参照してください。

リスト

bash
GET https://experiment.amplitude.com/api/1/flags

設定の詳細を含むフラグのリストを取得します。 結果は、作成日時の新しい順に表示されます。

クエリパラメータ

レスポンス

リクエストが成功すると、200 OKレスポンスコードと、レスポンスボディ内のJSONエンコードされたフラグのリストが返されます。createdAtlastModifiedAtは、ISO 8601形式のUTCです。

curl --request GET \
--url 'https://experiment.amplitude.com/api/1/flags?limit=1000' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer <management-api-key>'

詳細を取得する

bash
GET https://experiment.amplitude.com/api/1/flags/<id>

フラグの設定の詳細を取得します。

パス変数

レスポンス

リクエストが成功すると、200 OK レスポンスと、フラグの詳細を含む JSON オブジェクトが返されます。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バージョンを一覧表示

bash
GET https://experiment.amplitude.com/api/1/flags/{id}/versions

フラグのすべてのバージョンのリストを取得します。

パス変数

レスポンス

リクエストが成功すると、200 OK レスポンスが返され、レスポンス本文にフラグのバージョンが JSON オブジェクトの配列として含まれます。バージョンは降順でソートされます。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/versions' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バージョン詳細の取得

bash
GET https://experiment.amplitude.com/api/1/flags/{id}/versions/{versionId}

フラグの特定のバージョンの詳細を取得します。

パス変数

レスポンス

リクエストが成功すると、200 OK応答とバージョンの詳細を含むJSONオブジェクトが返されます。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/versions/<versionId>' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バリアントを一覧表示

bash
GET https://experiment.amplitude.com/api/1/flags/{id}/variants

フラグのすべてのバリアントのリストを取得します。

パス変数

レスポンス

成功したリクエストは、200 OKレスポンスとバリアントをJSONオブジェクトの配列としてレスポンスボディに返します。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バリアントの詳細を取得する

bash
GET https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}

フラグの特定のバリアントの詳細を取得します。

パス変数

レスポンス

リクエストが成功すると、200 OKレスポンスとフラグバリアントの詳細を含むJSONオブジェクトが返されます。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バリアントのインクルージョンを取得する

bash
GET https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/users

フラグの特定のバリアントに対するインクルージョンのリストを取得します。

パス変数

レスポンス

リクエストが成功すると、200 OKレスポンスとバリアントのインクルージョンがJSONオブジェクトの配列として返されます。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/users' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バリアントコホートの包含情報の取得

bash
GET https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/cohorts

フラグの特定のバリアントに対するコホートインクルージョンのリストを取得します。

パス変数

レスポンス

リクエストが成功すると、200 OK応答と、バリアントが所属するコホートがコホート ID の配列として返されます。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/cohorts' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バリアントを作成する

bash
POST https://experiment.amplitude.com/api/1/flags/{id}/variants

フラグの新しいバリアントを作成する

パス変数

リクエスト本文

リクエスト例

json
{
  "key": "new-variant-key",
  "description": "optional description for variant",
  "name": "optional name for variant",
  "payload": { "variant-payload": "example payload" },
  "rolloutWeight": 0
}

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"key":"<key>","name":"<name>","description":"<description>","payload":"<payload>","rolloutWeight":<rolloutWeight>}'

バリアントを編集

bash
POST https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>

フラグのバリアントを編集します。

パス変数

リクエスト例

json
{
  "key": "updated-variant-key",
  "description": "updated optional description for variant",
  "name": "optional name for variant",
  "payload": { "variant-payload": "example payload" },
  "rolloutWeight": 0
}

リクエスト本文

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request PATCH \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"key":"<key>","name":"<name>","description":"<description>","payload":"<payload>","rolloutWeight":<rolloutWeight>}'

バリアントを削除

bash
DELETE https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}

フラグからバリアントを削除します。

パス変数

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

ユーザーをバリアントに追加する

bash
POST https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/users

1 つのバリアントにつき最大 2,000 個のインクルージョンを含めることができます。 この制限を超えると、Amplitudeは400エラーを返します。

フラグのバリアントにインクルージョン(ユーザーまたはデバイス)を追加します。

パス変数

リクエスト本文

リクエスト例

json
{
  "inclusions": [
    "<user1>@<your-company-email>, <user2>@<your-company-email>, <userId>"
  ]
}

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/users' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"inclusions":<["id1", "id2", "id3"]>}'

バリアントにコホートを追加する

bash
POST https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/cohorts

フラグのバリアントにコホートインクルージョンを追加します。

パス変数

リクエスト本文

リクエスト例

json
{
  "inclusions": ["cohort-id-1", "cohort-id-2"]
}

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/cohorts' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"inclusions":["cohort-id-1", "cohort-id-2"]}'

バリアントからユーザーを削除する

bash
DELETE https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/users/{userIndex}

フラグのバリアントからインクルージョン(ユーザーまたはデバイス)を削除します。

パス変数

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/users/<userIndex>' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バリアントからすべてのユーザーを削除する

bash
DELETE https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/users

フラグのバリアントからすべてのインクルージョン(ユーザーまたはデバイス)を削除します。

パス変数

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/users' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

バリアントからユーザーを一括削除する

bash
DELETE https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/bulk-delete-users

フラグのバリアントからユーザーまたはデバイスを一括削除します。 各リクエストにつき100件に制限されています。

パス変数

リクエスト本文

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/bulk-delete-users' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"users":<["id1", "id2", "id3"]>}'

バリアントからコホートを一括削除

bash
DELETE https://experiment.amplitude.com/api/1/flags/{id}/variants/{variantKey}/bulk-delete-cohorts

フラグのバリアントからコホートを一括削除します。 各リクエストにつき100件に制限されています。

パス変数

リクエスト本文

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/variants/<variantKey>/bulk-delete-cohorts' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"users":["cohort-id-1", "cohort-id-2"]}'

デプロイメントを一覧表示する

bash
GET https://experiment.amplitude.com/api/1/flags/{id}/deployments

フラグのすべてのデプロイメントを一覧表示します。

パス変数

レスポンス

リクエストが成功すると、200 OKレスポンスと、フラグのデプロイメントの詳細を含むJSONオブジェクトの配列が返されます。

curl --request GET \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/deployments' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

デプロイメントを作成する

bash
POST https://experiment.amplitude.com/api/1/flags/{id}/deployments

フラグのデプロイメントを追加します。

パス変数

リクエスト本文

リクエスト例

json
{
    "deployments": [<deploymentId>]
}

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/deployments' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'
    --data '{"deployments":[<deploymentId>]}'

デプロイメントを削除する

bash
DELETE https://experiment.amplitude.com/api/1/flags/{id}/deployments/{deploymentId}

フラグからデプロイメントを削除します。

パス変数

レスポンス

成功したリクエストは200 OK応答とOKテキストを返します。

リクエスト

bash
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>/deployments/<deploymentId>' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>'

編集

bash
PATCH https://experiment.amplitude.com/api/1/flags/{id}

フラグを編集します。

パス変数

リクエスト本文

リクエスト例

json
{
  "name": "updated name",
  "description": "updated description",
  "bucketingKey": "amplitude_id",
  "bucketingSalt": "<bucketingSalt>",
  "bucketingUnit": "org id",
  "evaluationMode": "remote",
  "rolloutPercentage": 0,
  "enabled": false,
  "tags": ["prod", "staging"]
}

レスポンス

成功したリクエストは200 OK応答を返します。

レスポンス

bash
curl --request PATCH \
    --url 'https://experiment.amplitude.com/api/1/flags/<id>' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"enabled":<enabled>,"rolloutPercentage":<rolloutPercentage>}'

作成

bash
POST https://experiment.amplitude.com/api/1/flags

新しいフラグを作成します。

リクエスト本文

variants

variantsフィールドにはこれらのオブジェクトが含まれています。

targetSegments

targetSegmentsフィールドにはこれらのオブジェクトが含まれています。

conditions

conditionsフィールドにはこれらのオブジェクトが含まれています。

op

プロパティ値に対する操作を表す文字列値です。 可能な値は次のとおりです:

  • is
  • is not
  • contains
  • does not contain
  • less
  • less or equal
  • greater
  • greater or equal
  • set is
  • set is not
  • set contains
  • set does not contain
  • glob match
  • glob does not match
  • version less than
  • version less than or equal to
  • version greater than
  • version greater than or equal to

リクエスト例

json
{
  "projectId": "<projectId>",
  "name": "Analyze button clicks",
  "key": "analyze-button-clicks",
  "description": "analyze button clicks on the main page",
  "variants": [
    {
      "key": "on"
    }
  ],
  "rolloutWeights": { "on": 1 },
  "targetSegments": [
    {
      "name": "Segment 1",
      "conditions": [
        {
          "prop": "country",
          "op": "is",
          "type": "property",
          "values": ["United States"]
        }
      ],
      "percentage": 0,
      "bucketingKey": "amplitude_id",
      "rolloutWeights": {
        "on": 1
      }
    }
  ],
  "deployments": ["<deploymentId>"],
  "evaluationMode": "remote"
}

レスポンス

成功したリクエストは、200 OKレスポンスとフラグのIDとURLを含むJSONオブジェクトを返します。

curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/flags' \
    --header 'Content-Type: application/json' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <management-api-key>' \
    --data '{"projectId":"<projectId>","key":"<key>"}'

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