---
title: "Get feature activity logs"
method: GET
path: "/feature-flags/activity-logs"
tags: ["FeatureFlag"]
---

# Get feature activity logs

`GET /feature-flags/activity-logs`

Get a list of feature activity logs

## Query parameters

- `type` 'ENV_TURN_ON' | 'ENV_TURN_OFF' | 'ENV_CHANGE_DEFAULT_KEY' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_CHANGE_NAME' | 'RULE_CHANGE_VARIATION' | 'RULE_CHANGE_DEVIATION' | 'RULE_CHANGE_EXPOSITION' | 'RULE_CHANGE_ROLLOUT' | 'RULE_CHANGE_TARGETING' | 'RULE_CHANGE_SCHEDULING' | 'RULE_CHANGE_STATE' | 'RULE_RESHUFFLE' | 'RULE_CHANGE_ROLLBACK_CONDITIONS' | 'RULE_CHANGE_TRAFFIC_ALLOCATION_METHOD' | 'VARIATION_ADD' | 'VARIATION_UPDATE' | 'VARIATION_DELETE' | 'VARIABLE_ADD' | 'VARIABLE_UPDATE' | 'VARIABLE_DELETE' | 'GOAL_ADD' | 'GOAL_NEW_PRIMARY' | 'GOAL_DELETE' — Filter by activity log type
- `page` integer — Page number for pagination
- `perPage` integer — Number of items per page. Use -1 for no limit
- `sortKey` string — Field name to sort results by
- `sortOrder` 'ASC' | 'DESC' — Sort direction

## Response `200`

OK

- FeatureActivityLogResponse[]
  - `contributorId` integer
  - `details` union
    - ActivityLogGoalDetailsResponse
      - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
      - `goalId` integer
      - `goalName` string
    - union — Details recorded when a delivery rule is added, deleted, renamed, or reconfigured.
      - ActivityLogRuleAddDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `ruleId` integer
        - `ruleName` string
        - `ruleStatus` 'ACTIVE' | 'PAUSED' | 'PLANNED'
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleDeleteDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleDeviationDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `newRuleDeviations` ActivityFeatureDeviationDetailsResponse[]
          - `exposition` number, double
          - `variationKey` string
          - `variationName` string
        - `oldRuleDeviations` ActivityFeatureDeviationDetailsResponse[]
          - `exposition` number, double
          - `variationKey` string
          - `variationName` string
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleExpositionDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `newRuleExposition` integer
        - `oldRuleExposition` integer
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleNameDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `oldRuleName` string
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleReshuffleDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleRolloutDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `newRuleRollout` union
          - CustomRampUpResponse
            - `type` 'PROGRESSIVE_EXPOSURE' | 'CUSTOM_RAMP_UP'
            - `steps` RolloutStepResponse[]
              - …
          - ProgressiveExposureResponse
            - `type` 'PROGRESSIVE_EXPOSURE' | 'CUSTOM_RAMP_UP'
            - `frequency` RolloutFrequencyResponse
              - …
            - `increaseBy` number, float
            - `percentageRange` PercentageRangeResponse
              - …
            - `releaseDateTime` string, date-time
        - `oldRuleRollout` union
          - CustomRampUpResponse
            - `type` 'PROGRESSIVE_EXPOSURE' | 'CUSTOM_RAMP_UP'
            - `steps` RolloutStepResponse[]
              - …
          - ProgressiveExposureResponse
            - `type` 'PROGRESSIVE_EXPOSURE' | 'CUSTOM_RAMP_UP'
            - `frequency` RolloutFrequencyResponse
              - …
            - `increaseBy` number, float
            - `percentageRange` PercentageRangeResponse
              - …
            - `releaseDateTime` string, date-time
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleSchedulingDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `newRuleDateRelease` RuleReleasePeriodResponse
          - `releaseEndTime` string, date-time
          - `releaseEndTimeZone` string
          - `releaseStartTime` string, date-time
          - `releaseStartTimeZone` string
        - `oldRuleDateRelease` RuleReleasePeriodResponse
          - `releaseEndTime` string, date-time
          - `releaseEndTimeZone` string
          - `releaseStartTime` string, date-time
          - `releaseStartTimeZone` string
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleStateDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `oldRuleState` 'ACTIVE' | 'PAUSED'
        - `ruleId` integer
        - `ruleName` string
        - `ruleState` 'ACTIVE' | 'PAUSED'
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleTargetingDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `newRuleSegmentId` integer
        - `oldRuleSegmentId` integer
        - `oldRuleSegmentName` string
        - `ruleId` integer
        - `ruleName` string
        - `ruleSegmentName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleTrafficAllocationMethodDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `newRuleDeviations` ActivityFeatureDeviationDetailsResponse[]
          - `exposition` number, double
          - `variationKey` string
          - `variationName` string
        - `newTrafficAllocationMethod` 'CONTEXTUAL_BANDIT' | 'MANUAL' | 'MULTI_ARMED_BANDIT'
        - `oldRuleDeviations` ActivityFeatureDeviationDetailsResponse[]
          - `exposition` number, double
          - `variationKey` string
          - `variationName` string
        - `oldTrafficAllocationMethod` 'CONTEXTUAL_BANDIT' | 'MANUAL' | 'MULTI_ARMED_BANDIT'
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
      - ActivityLogRuleVariationDetailsResponse
        - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
        - `oldRuleVariationKey` string
        - `oldRuleVariationName` string
        - `ruleId` integer
        - `ruleName` string
        - `ruleType` 'TARGETED_DELIVERY' | 'PROGRESSIVE_DELIVERY' | 'EXPERIMENTATION'
        - `ruleVariationKey` string
        - `ruleVariationName` string
    - ActivityLogVariableDetailsResponse
      - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
      - `defaultValue` string
      - `oldDefaultValue` string
      - `variableKey` string
      - `variableType` 'BOOLEAN' | 'NUMBER' | 'STRING' | 'JSON' | 'JS' | 'CSS' | 'ENUM'
    - ActivityLogVariationDetailsResponse
      - `type` 'GOAL' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_DEVIATION' | 'RULE_EXPOSITION' | 'RULE_NAME' | 'RULE_RESHUFFLE' | 'RULE_ROLLOUT' | 'RULE_SCHEDULING' | 'RULE_STATE' | 'RULE_TARGETING' | 'RULE_TRAFFIC_ALLOCATION' | 'RULE_VARIATION' | 'VARIABLE' | 'VARIATION', required — Type of the activity log details
      - `oldVariationName` string
      - `updatedVariableKeys` string[]
      - `variationKey` string
      - `variationName` string
  - `environmentId` integer
  - `featureId` integer
  - `impersonatorId` integer
  - `logType` 'ENV_TURN_ON' | 'ENV_TURN_OFF' | 'ENV_CHANGE_DEFAULT_KEY' | 'RULE_ADD' | 'RULE_DELETE' | 'RULE_CHANGE_NAME' | 'RULE_CHANGE_VARIATION' | 'RULE_CHANGE_DEVIATION' | 'RULE_CHANGE_EXPOSITION' | 'RULE_CHANGE_ROLLOUT' | 'RULE_CHANGE_TARGETING' | 'RULE_CHANGE_SCHEDULING' | 'RULE_CHANGE_STATE' | 'RULE_RESHUFFLE' | 'RULE_CHANGE_ROLLBACK_CONDITIONS' | 'RULE_CHANGE_TRAFFIC_ALLOCATION_METHOD' | 'VARIATION_ADD' | 'VARIATION_UPDATE' | 'VARIATION_DELETE' | 'VARIABLE_ADD' | 'VARIABLE_UPDATE' | 'VARIABLE_DELETE' | 'GOAL_ADD' | 'GOAL_NEW_PRIMARY' | 'GOAL_DELETE'
  - `timestamp` string, date-time

## Other responses

- `400` — Bad Request
- `403` — Forbidden
- `423` — Resource Locked
- `500` — Internal Server Error

---

[API](https://skmtc.net/kameleoon/apis/openapi-definition-for-automation-api.md) · [All operations](https://skmtc.net/kameleoon/apis/openapi-definition-for-automation-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kameleoon/openapi-definition-for-automation-api/revisions/09f2abcea0b5/schema)
