> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kameleoon.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get feature activity logs

> Get a list of feature activity logs



## OpenAPI

````yaml /automation.api.json get /feature-flags/activity-logs
openapi: 3.0.3
info:
  title: OpenAPI definition for automation api
  version: 1.0.0
servers:
  - url: https://api.kameleoon.com
security: []
tags:
  - description: >-
      This is an object representing a Kameleoon account.You can retrieve it to
      view its properties, such as its current e-mail address or locale.With
      proper authorization, your application can read and update an account and
      profile settings.<aside class="notice"> Not all settings are exposed via
      the API. See the API reference for details. </aside>
    name: Account
  - description: >-
      Feature flag is used to  help our clients implement new features, test and
      deploy them viaour SDK. This service allows you to create and configure
      the feature flag which will be used in the source code of your feature.
    name: FeatureFlag
  - description: >
      You can use your account to set up multiple websites.This is helpful if
      you want to test your website and its mobile version or if you want to try
      Kameleoon on your site in a pre-production environment,It allows you to
      create different testing environments.
    name: Site
  - description: >-
      Custom data is an advanced tool that lets you target your customers in a
      unique way using data that is already available,such as user account
      information.
    name: CustomData
  - description: >-
      Experiment is an A/B test which can be targeted to a specific audience or
      any other audience. Kameleoon has several types of experiments: `Classic`,
      `Multivariate test (MVT)`, `Server-side` and the one that suits the best
      can be used to achieve the best results.
    name: Experiment
  - description: >-
      To measure the efficiency of an experiment or a personalization, it must
      be linked to one or several goals. All goals can be managed through
      Kameleoon interface or Automation API. There are variety of different
      goals you can choose from to better measure the results.
    name: Goal
  - description: This is an object representing an image
    name: Image
  - description: >-
      This is an object representing a key moment. Please note that `KeyMoment`
      has now been renamed to `Triggers`.
    name: KeyMoment
  - description: >-
      KeyPage allows you to target visitors that have visited a particular page,
      or multiple pages on your website.
    name: KeyPage
  - description: >
      Web personalization tailors the experience for each visitor to improve
      your conversion rate.

      The personalization object contains all vital information about a
      personalization as well as segments and variations used in it.
    name: Personalization
  - description: This is an object representing a projectThemeConfig
    name: ProjectThemeConfig
  - description: This is an object representing recommender block
    name: RecommenderBlock
  - description: >
      Referrer is an advanced tool that allows you to target visitors according
      to acquisition methods that lead them to your website.

      Kameleoon automatically creates 5 default channels: `Bing`, `Baidu`,
      `Google`, `Yahoo` and `Google Adwords`.
    name: Referrer
  - description: >-
      Segmenting allows you to effectively target visitors.You can create,
      modify, and duplicate segments using the Segment Builder tool in
      Kameleoon’s backend or through our Automation API.
    name: Segment
  - description: This is an object representing studio recommender block
    name: StudioRecommenderBlock
  - description: This is an object representing tag
    name: Tag
  - description: >-
      Represents an object aggregating the main information about an experiment
      result.
    name: Takeaway
  - description: This is an object representing a takeaway comment.
    name: TakeawayComment
  - description: >-
      TargetingRule is a system entity that combines segments (user groups) and
      triggers (activation conditions) to define precise targeting rules for
      experiments.
    name: TargetingRule
  - description: This is an object representing a theme
    name: Theme
  - description: >-
      A variation is a modified version of your webpage that can be edited for
      experiments or personalization.

      When you add a new variation, Kameleoon creates a copy of the original
      page from which you started.All changes will be saved in the variation,
      which will include all your edits when the test starts.
    name: Variation
  - description: This is an object representing a widget
    name: Widget
  - description: This is an object representing a widget studio
    name: WidgetStudio
  - description: This is an object representing widget studio template
    name: WidgetStudioTemplate
  - name: Audience
    description: >-
      Audience refers to statistical information regarding the number of visits,
      conversions, and other metrics related to a specific segment. Gaining
      insights into your website's audience is essential for effectively
      adjusting segments.
  - name: Data
    description: >
      Web personalization involves offering visitors a tailored experience to
      optimize your conversion rate.

      Personalization object contains information about a personalization, as
      well as the segments and variations used in it.
  - name: Raw Export
    description: >-
      Start a raw data exportation for experiment or personalization, which will
      be sent to the given emails.
paths:
  /feature-flags/activity-logs:
    get:
      tags:
        - FeatureFlag
      summary: Get feature activity logs
      description: Get a list of feature activity logs
      operationId: activity-logs
      parameters:
        - description: Filter by activity log type
          in: query
          name: type
          required: false
          schema:
            type: string
            description: Filter by activity log type
            enum:
              - 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
        - description: Page number for pagination
          in: query
          name: page
          required: false
          schema:
            minimum: 0
            exclusiveMinimum: true
            type: integer
            description: Page number for pagination
            format: int32
            default: 1
        - description: Number of items per page. Use -1 for no limit
          in: query
          name: perPage
          required: false
          schema:
            minimum: -1
            type: integer
            description: Number of items per page. Use -1 for no limit
            format: int32
            default: 20
        - description: Field name to sort results by
          example: createdAt
          in: query
          name: sortKey
          required: false
          schema:
            type: string
            description: Field name to sort results by
            example: createdAt
        - description: Sort direction
          in: query
          name: sortOrder
          required: false
          schema:
            type: string
            description: Sort direction
            enum:
              - ASC
              - DESC
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FeatureActivityLogResponse'
          description: OK
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Forbidden
        '423':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Resource Locked
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Internal Server Error
components:
  schemas:
    FeatureActivityLogResponse:
      type: object
      properties:
        contributorId:
          type: integer
          format: int64
        details:
          oneOf:
            - $ref: '#/components/schemas/ActivityLogGoalDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleAddDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleDeleteDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleDeviationDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleExpositionDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleNameDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleReshuffleDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleRolloutDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleSchedulingDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleStateDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogRuleTargetingDetailsResponse'
            - $ref: >-
                #/components/schemas/ActivityLogRuleTrafficAllocationMethodDetailsResponse
            - $ref: '#/components/schemas/ActivityLogRuleVariationDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogVariableDetailsResponse'
            - $ref: '#/components/schemas/ActivityLogVariationDetailsResponse'
        environmentId:
          type: integer
          format: int64
        featureId:
          type: integer
          format: int64
        impersonatorId:
          type: integer
          format: int64
        logType:
          type: string
          enum:
            - 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:
          type: string
          format: date-time
    ErrorResponseV1:
      type: object
      properties:
        message:
          type: string
        serviceName:
          type: string
        status:
          type: string
        time:
          type: integer
          format: int64
    ActivityLogGoalDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            goalId:
              type: integer
              format: int64
            goalName:
              type: string
    ActivityLogRuleAddDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleStatus:
              type: string
              enum:
                - ACTIVE
                - PAUSED
                - PLANNED
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleDeleteDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleDeviationDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            newRuleDeviations:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ActivityFeatureDeviationDetailsResponse'
            oldRuleDeviations:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ActivityFeatureDeviationDetailsResponse'
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleExpositionDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            newRuleExposition:
              type: integer
              format: int32
            oldRuleExposition:
              type: integer
              format: int32
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleNameDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            oldRuleName:
              type: string
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleReshuffleDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleRolloutDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            newRuleRollout:
              oneOf:
                - $ref: '#/components/schemas/CustomRampUpResponse'
                - $ref: '#/components/schemas/ProgressiveExposureResponse'
            oldRuleRollout:
              oneOf:
                - $ref: '#/components/schemas/CustomRampUpResponse'
                - $ref: '#/components/schemas/ProgressiveExposureResponse'
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleSchedulingDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            newRuleDateRelease:
              $ref: '#/components/schemas/RuleReleasePeriodResponse'
            oldRuleDateRelease:
              $ref: '#/components/schemas/RuleReleasePeriodResponse'
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleStateDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            oldRuleState:
              type: string
              enum:
                - ACTIVE
                - PAUSED
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleState:
              type: string
              enum:
                - ACTIVE
                - PAUSED
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleTargetingDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            newRuleSegmentId:
              type: integer
              format: int64
            oldRuleSegmentId:
              type: integer
              format: int64
            oldRuleSegmentName:
              type: string
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleSegmentName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleTrafficAllocationMethodDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            newRuleDeviations:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ActivityFeatureDeviationDetailsResponse'
            newTrafficAllocationMethod:
              type: string
              enum:
                - CONTEXTUAL_BANDIT
                - MANUAL
                - MULTI_ARMED_BANDIT
            oldRuleDeviations:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/ActivityFeatureDeviationDetailsResponse'
            oldTrafficAllocationMethod:
              type: string
              enum:
                - CONTEXTUAL_BANDIT
                - MANUAL
                - MULTI_ARMED_BANDIT
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
    ActivityLogRuleVariationDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            oldRuleVariationKey:
              type: string
            oldRuleVariationName:
              type: string
            ruleId:
              type: integer
              format: int64
            ruleName:
              type: string
            ruleType:
              type: string
              enum:
                - TARGETED_DELIVERY
                - PROGRESSIVE_DELIVERY
                - EXPERIMENTATION
            ruleVariationKey:
              type: string
            ruleVariationName:
              type: string
    ActivityLogVariableDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            defaultValue:
              type: string
            oldDefaultValue:
              type: string
            variableKey:
              type: string
            variableType:
              type: string
              enum:
                - BOOLEAN
                - NUMBER
                - STRING
                - JSON
                - JS
                - CSS
                - ENUM
    ActivityLogVariationDetailsResponse:
      required:
        - type
      type: object
      allOf:
        - $ref: '#/components/schemas/ActivityLogDetailsResponse'
        - type: object
          properties:
            oldVariationName:
              type: string
            updatedVariableKeys:
              type: array
              items:
                type: string
            variationKey:
              type: string
            variationName:
              type: string
    ActivityLogDetailsResponse:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: Type of the activity log details
          enum:
            - 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
      discriminator:
        propertyName: type
    ActivityFeatureDeviationDetailsResponse:
      type: object
      properties:
        exposition:
          type: number
          format: double
        variationKey:
          type: string
        variationName:
          type: string
    CustomRampUpResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/RuleRolloutResponse'
        - type: object
          properties:
            steps:
              uniqueItems: true
              type: array
              items:
                $ref: '#/components/schemas/RolloutStepResponse'
    ProgressiveExposureResponse:
      type: object
      allOf:
        - $ref: '#/components/schemas/RuleRolloutResponse'
        - type: object
          properties:
            frequency:
              $ref: '#/components/schemas/RolloutFrequencyResponse'
            increaseBy:
              type: number
              format: float
            percentageRange:
              $ref: '#/components/schemas/PercentageRangeResponse'
            releaseDateTime:
              type: string
              format: date-time
    RuleReleasePeriodResponse:
      type: object
      properties:
        releaseEndTime:
          type: string
          format: date-time
        releaseEndTimeZone:
          type: string
        releaseStartTime:
          type: string
          format: date-time
        releaseStartTimeZone:
          type: string
    RuleRolloutResponse:
      type: object
      properties:
        type:
          type: string
          enum:
            - PROGRESSIVE_EXPOSURE
            - CUSTOM_RAMP_UP
    RolloutStepResponse:
      type: object
      properties:
        dateTime:
          type: string
          format: date-time
        exposure:
          type: number
          format: float
    RolloutFrequencyResponse:
      type: object
      properties:
        unit:
          type: string
          enum:
            - DAYS
            - HOURS
            - MINUTES
        value:
          type: integer
          format: int32
    PercentageRangeResponse:
      type: object
      properties:
        start:
          type: number
          format: float
        stop:
          type: number
          format: float

````