이 페이지에서

실험 실험 API 관리 실험 엔드포인트

EU 데이터 레지던시

. 이 페이지의 예제에서는 기본 URLhttps://experiment.amplitude.com을 사용합니다. 프로젝트에서 Amplitude의 EU 데이터 센터를 사용하고 있다면 대신 https://experiment.eu.amplitude.com 사용하세요. 자세한 내용은 지역을 참조하십시오.

목록

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

실험 목록과 해당 구성 세부 정보를 가져옵니다. 결과는 가장 최근에 생성된 항목부터 먼저 정렬됩니다.

이 목록에는 기능 및 웹 실험만 포함되며 deliveryMethod필드에는 각 실험의 유형이 표시됩니다. 이 엔드포인트의 이전 버전에서는 너지 실험과 같은 다른 전달 방법을 사용하여 실험을 반환할 수 있었으며 이를 구별할 방법이 없었습니다.

쿼리 매개 변수

응답

성공적인 요청은 200 OK응답과 응답 본문에 JSON으로 인코딩된 실험 목록을 반환합니다. createdAtlastModifiedAt은 ISO 8601 형식의 UTC입니다. deliveryMethod``feature은 기능 실험 web또는 웹 실험용입니다.

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

자세한 정보 보기

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

실험의 구성 세부 정보를 가져옵니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 실험 세부 정보가 포함된 JSON 객체를 반환합니다.

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

버전 목록

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

실험에 사용할 모든 버전 목록을 가져옵니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 응답 본문에 JSON 객체의 배열로 인코딩된 실험 버전 목록을 반환합니다. 버전은 내림차순으로 정렬됩니다.

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

버전 세부 정보 얻기

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

특정 버전의 실험에 대한 세부 정보를 가져옵니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 버전 세부 정보가 포함된 JSON 객체를 반환합니다.

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

변형 목록

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

실험에 사용할 모든 변형의 목록을 가져옵니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 응답 본문에 JSON 객체의 배열로 인코딩된 변형 목록을 반환합니다.

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

변형 세부 정보 얻기

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

실험의 특정 변형에 대한 세부 정보를 가져옵니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 실험 변형의 세부 정보가 포함된 JSON 객체를 반환합니다.

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

변형 포함 사항 가져오기

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

실험의 특정 변형에 대한 포함 항목 목록을 가져옵니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 실험 변형에 대한 포함 항목 목록을 JSON 객체의 배열로 반환합니다.

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

변형 코호트 포함 확인

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

실험의 특정 변형에 대한 코호트 포함 목록을 가져옵니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 실험 변형에 대한 코호트 포함 목록을 코호트 ID 배열로 반환합니다.

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

변형 생성

bash
POST https://experiment.amplitude.com/api/1/experiments/{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/experiments/<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
PATCH https://experiment.amplitude.com/api/1/experiments/<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": 10
}

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

curl
curl --request PATCH \
    --url 'https://experiment.amplitude.com/api/1/experiments/<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/experiments/{id}/variants/{variantKey}

실험에서 변형을 제거합니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

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

변형에 사용자 추가

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

실험의 변형에 포함 대상(사용자 또는 장치)을 추가합니다.

경로 변수

요청 예제

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

요청 본문

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

curl
curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/experiments/<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/experiments/{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/experiments/<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/experiments/{id}/variants/{variantKey}/users/{userIndex}

실험의 변형에서 포함 대상(사용자 또는 장치)을 제거합니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

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

변형에서 모든 사용자 제거

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

실험의 변형에서 모든 포함(사용자 또는 장치)을 제거합니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

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

변형에서 사용자를 대량 삭제

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

실험의 변형에서 사용자나 장치를 대량 제거합니다. 요청당 100개로 제한됩니다.

경로 변수

요청 본문

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

curl
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/experiments/<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/experiments/{id}/variants/{variantKey}/bulk-delete-cohorts

실험의 변형에서 코호트를 대량 제거합니다. 요청당 100개로 제한됩니다.

경로 변수

요청 본문

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

bash
curl --request DELETE \
    --url 'https://experiment.amplitude.com/api/1/experiments/<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/experiments/{id}/deployments

실험에 대한 모든 배포를 나열합니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 실험의 배포 세부 정보가 포함된 JSON 객체 배열을 반환합니다.

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

배포 추가

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

실험에 배포를 추가합니다.

경로 변수

요청 본문

요청 예제

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

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

curl
curl --request POST \
    --url 'https://experiment.amplitude.com/api/1/experiments/<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/experiments/{id}/deployments/{deploymentId}

실험에서 배포를 제거합니다.

경로 변수

응답

성공적인 요청은 200 OK응답과 OK 텍스트를 반환합니다.

요청

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

편집

웹 실험이나 가이드 및 설문조사 모두 실험 편집을 지원하지 않습니다. 웹 실험 또는 가이드 및 설문조사 실험을 편집하려고 하면 405오류가 반환됩니다.

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

실험을 편집합니다.

경로 변수

요청 본문

노출이벤트

필터

subprop_op

  • is
  • is not
  • contains
  • does not contain
  • less
  • less or equal
  • greater
  • greater or equal
  • glob match
  • glob does not match

요청 예제

json
{
  "name": "updated name",
  "description": "updated description",
  "bucketingKey": "amplitude_id",
  "bucketingSalt": "<bucketingSalt>",
  "evaluationMode": "remote",
  "rolloutPercentage": 0,
  "enabled": true,
  "experimentType": "a-b-test",
  "stickyBucketing": false,
  "startDate": "2023-07-31T10:26:00.996Z",
  "endDate": "2023-09-23T10:26:00.996Z",
  "tags": ["prod", "staging"],
  "exposureEvent": {
    "event_type": "_active",
    "filters": [
      {
        "group_type": "User",
        "subprop_key": "amplitude_day_of_week",
        "subprop_op": "is",
        "subprop_type": "day_time_prop",
        "subprop_value": ["Tuesday"]
      }
    ]
  }
}

응답

성공적인 요청은 200 OK응답을 반환합니다.

요청

curl
curl --request PATCH \
    --url 'https://experiment.amplitude.com/api/1/experiments/<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/experiments

새 피쳐 실험을 생성합니다.

요청 본문

변형

variants필드에는 이러한 객체가 포함되어 있습니다.

타겟세그먼트

targetSegments필드에는 이러한 객체가 포함되어 있습니다.

조건

conditions필드에는 이러한 객체가 포함되어 있습니다.

작업

특성 값에 대한 작업을 나타내는 문자열 값입니다. 가능한 값은 다음과 같습니다.

  • 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

요청 예제

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

응답

성공적인 요청은 응답과 실험의 ID 및 URL이 포함된 JSON 객체를 200 OK반환합니다.

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

이 내용이 도움이 되었나요?