- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      message:
        default: ''
        description: Message to log to the console
        type: string
    required:
    - message
    title: Log a message to the console
    type: object
  implementation_url: https://normandy.cdn.mozilla.net/api/v1/action/console-log/implementation/sha384-dwDUzk7p67hyOW81gMBIWnhrBFoOvbRvrt2ftxkMrqBjbADVA_1TjHuv0i7bbFrN/
  name: console-log
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    description: This action shows a single survey.
    properties:
      engagementButtonLabel:
        default: null
        description: Text for the engagement button. If specified, this button will
          be shown instead of rating stars.
        type:
        - string
        - 'null'
      includeTelemetryUUID:
        default: false
        description: Include unique user ID in post-answer-url and Telemetry
        type: boolean
      learnMoreMessage:
        default: null
        description: Message to show to the user to learn more
        type:
        - string
        - 'null'
      learnMoreUrl:
        default: null
        description: URL to show to the user when they click Learn More
        type:
        - string
        - 'null'
      message:
        description: Message to show to the user
        type: string
      postAnswerUrl:
        default: null
        description: URL to redirect the user to after rating Firefox or clicking
          the engagement button
        type:
        - string
        - 'null'
      repeatEvery:
        default: null
        description: For repeatOption=xdays, how often (in days) the prompt is displayed.
        type:
        - number
        - 'null'
      repeatOption:
        default: once
        description: Determines how often a prompt is shown executes.
        enum:
        - once
        - xdays
        - nag
        type: string
      surveyId:
        description: Slug uniquely identifying this survey in telemetry
        type: string
      thanksMessage:
        description: Thanks message to show to the user after they've rated Firefox
        type: string
    required:
    - surveyId
    - message
    - thanksMessage
    - postAnswerUrl
    - learnMoreMessage
    - learnMoreUrl
    title: Show a Heartbeat survey.
    type: object
  implementation_url: https://normandy.cdn.mozilla.net/api/v1/action/show-heartbeat/implementation/sha384-VTOdZHFMo1LOw0JWf6_jAGBb9r5sBbb7BQrmI8n3wy3oVO3ywb1g3ulD1BagmaMA/
  name: show-heartbeat
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      branches:
        description: List of experimental branches
        items:
          properties:
            ratio:
              description: Ratio of users who should be grouped into this branch
              minimum: 1
              type: integer
            slug:
              description: Unique identifier for this branch of the experiment
              pattern: ^[A-Za-z0-9\-_]+$
              type: string
            value:
              description: Value to set the preference to for this branch
              type:
              - string
              - number
              - boolean
          required:
          - slug
          - value
          - ratio
          type: object
        minItems: 1
        type: array
      experimentDocumentUrl:
        default: ''
        description: URL of a document describing the experiment
        format: uri
        type: string
      isEnrollmentPaused:
        default: false
        description: If true, new users will not be enrolled in the study.
        type: boolean
      isHighPopulation:
        default: 'false'
        description: Marks the preference experiment as a high population experiment,
          that should be excluded from certain types of telemetry
        type: boolean
      preferenceBranchType:
        default: default
        description: Controls whether the default or user value of the preference
          is modified
        enum:
        - user
        - default
        type: string
      preferenceName:
        description: Full dotted-path of the preference that controls this experiment
        type: string
      preferenceType:
        description: Data type of the preference that controls this experiment
        enum:
        - string
        - integer
        - boolean
        type: string
      slug:
        description: Unique identifier for this experiment
        pattern: ^[A-Za-z0-9\-_]+$
        type: string
    required:
    - slug
    - preferenceName
    - preferenceType
    - branches
    title: Run a feature experiment activated by a preference.
    type: object
  implementation_url: https://normandy.cdn.mozilla.net/api/v1/action/preference-experiment/implementation/sha384-o1w_DJcXVnm6ppFcrPr78-Q32ZVXgi6lfYm9wUS3JBj5466SxrFpXaFt_KgJC87O/
  name: preference-experiment
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      addonUrl:
        description: URL of the add-on XPI file
        format: uri
        minLength: 1
        type: string
      description:
        description: User-facing description of the study
        minLength: 1
        type: string
      extensionApiId:
        description: The record ID of the extension used for Normandy API calls.
        type: integer
      isEnrollmentPaused:
        default: false
        description: If true, new users will not be enrolled in the study.
        type: boolean
      name:
        description: User-facing name of the study
        minLength: 1
        type: string
    required:
    - name
    - description
    - addonUrl
    - extensionApiId
    title: Enroll a user in an opt-out SHIELD study
    type: object
  implementation_url: https://normandy.cdn.mozilla.net/api/v1/action/opt-out-study/implementation/sha384-QKoPs61T67mshtL1-RGVzzj7xgQbzCCit0fDUfnxE7UPiAKpHpFe5R7P-9Zr6jRZ/
  name: opt-out-study
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      preferences:
        description: The preferences to change, and their values
        items:
          properties:
            preferenceName:
              description: Full dotted-path of the preference being changed
              type: string
            value:
              description: Value to set the preference to
              type:
              - string
              - integer
              - boolean
          required:
          - preferenceName
          - value
          type: object
        minItems: 1
        type: array
      slug:
        description: Unique identifer for the rollout, used in telemetry and rollbacks
        pattern: ^[a-z0-9\-_]+$
        type: string
    required:
    - slug
    - preferences
    title: Change preferences permanently
    type: object
  implementation_url: null
  name: preference-rollout
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      rolloutSlug:
        description: Unique identifer for the rollout to undo
        pattern: ^[a-z0-9\-_]+$
        type: string
    required:
    - rolloutSlug
    title: Undo a preference rollout
    type: object
  implementation_url: null
  name: preference-rollback
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      addonUrl:
        description: URL of the add-on XPI file
        format: uri
        minLength: 1
        type: string
      description:
        description: User-facing description of the study
        minLength: 1
        type: string
      extensionApiId:
        description: The record ID of the extension used for Normandy API calls.
        type: integer
      isEnrollmentPaused:
        default: false
        description: If true, new users will not be enrolled in the study.
        type: boolean
      name:
        description: User-facing name of the study
        minLength: 1
        type: string
    required:
    - name
    - description
    - addonUrl
    - extensionApiId
    title: Enroll a user in an opt-out SHIELD study
    type: object
  implementation_url: null
  name: addon-study
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      branches:
        description: List of experimental branches
        items:
          properties:
            extensionApiId:
              default: null
              description: The record ID of the add-on uploaded to the Normandy server.
                May be null, in which case no add-on will be installed.
              type:
              - number
              - 'null'
            ratio:
              description: Ratio of users who should be grouped into this branch.
              minimum: 1
              type: integer
            slug:
              description: Unique identifier for this branch of the experiment.
              pattern: ^[A-Za-z0-9\-_]+$
              type: string
          required:
          - slug
          - ratio
          - extensionApiId
          type: object
        minItems: 1
        type: array
      isEnrollmentPaused:
        default: false
        description: If true, new users will not be enrolled in the study.
        type: boolean
      slug:
        description: Machine-readable identifier
        minLength: 1
        type: string
      userFacingDescription:
        description: User-facing description of the study
        minLength: 1
        type: string
      userFacingName:
        description: User-facing name of the study
        minLength: 1
        type: string
    required:
    - slug
    - userFacingName
    - userFacingDescription
    - branches
    title: Enroll a user in an add-on experiment, with managed branches
    type: object
  implementation_url: null
  name: branched-addon-study
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      branches:
        description: List of experimental branches
        items:
          properties:
            preferences:
              description: The set of preferences to be set if this branch is chosen
              patternProperties:
                .*:
                  properties:
                    preferenceBranchType:
                      default: default
                      description: Controls whether the default or user value of the
                        preference is modified
                      enum:
                      - user
                      - default
                      type: string
                    preferenceType:
                      description: Data type of the preference that controls this
                        experiment
                      enum:
                      - string
                      - integer
                      - boolean
                      type: string
                    preferenceValue:
                      description: Value for this preference when this branch is chosen
                      type:
                      - string
                      - number
                      - boolean
                  required:
                  - preferenceType
                  - preferenceBranchType
                  - preferenceValue
                  type: object
              type: object
            ratio:
              description: Ratio of users who should be grouped into this branch
              minimum: 1
              type: integer
            slug:
              description: Unique identifier for this branch of the experiment
              pattern: ^[A-Za-z0-9\-_]+$
              type: string
          required:
          - slug
          - ratio
          - preferences
          type: object
        minItems: 1
        type: array
      experimentDocumentUrl:
        default: ''
        description: URL of a document describing the experiment
        format: uri
        type: string
      isEnrollmentPaused:
        default: false
        description: If true, new users will not be enrolled in the study.
        type: boolean
      isHighPopulation:
        default: 'false'
        description: Marks the preference experiment as a high population experiment,
          that should be excluded from certain types of telemetry
        type: boolean
      slug:
        description: Unique identifier for this experiment
        pattern: ^[A-Za-z0-9\-_]+$
        type: string
      userFacingDescription:
        description: User-facing description of the experiment
        minLength: 1
        type: string
      userFacingName:
        description: User-facing name of the experiment
        minLength: 1
        type: string
    required:
    - slug
    - userFacingName
    - userFacingDescription
    - branches
    title: Run a feature experiment activated by a set of preferences.
    type: object
  implementation_url: null
  name: multi-preference-experiment
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      extensionApiId:
        description: The record ID of the extension used for Normandy API calls.
        type: integer
      slug:
        description: Unique identifer for the rollout, used in telemetry and rollbacks.
        pattern: ^[a-z0-9\-_]+$
        type: string
    required:
    - extensionApiId
    - slug
    title: Install add-on permanently
    type: object
  implementation_url: null
  name: addon-rollout
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      rolloutSlug:
        description: Unique identifer for the rollout to undo.
        pattern: ^[a-z0-9\-_]+$
        type: string
    required:
    - rolloutSlug
    title: Undo an add-on rollout
    type: object
  implementation_url: null
  name: addon-rollback
- arguments_schema:
    $schema: http://json-schema.org/draft-04/schema#
    properties:
      branches:
        description: List of experimental branches
        items:
          properties:
            groups:
              description: A list of experiment groups that can be used to exclude
                or select related experiments. May be empty.
              items:
                description: Identifier of the group
                type: string
              type: array
            ratio:
              description: Ratio of users who should be grouped into this branch.
              minimum: 1
              type: integer
            slug:
              description: Unique identifier for this branch of the experiment.
              pattern: ^[A-Za-z0-9\-_]+$
              type: string
            value:
              description: Message content.
              properties: {}
              type: object
          required:
          - slug
          - value
          - ratio
          - groups
          type: object
        minItems: 1
        type: array
      isEnrollmentPaused:
        default: false
        description: If true, new users will not be enrolled in the study.
        type: boolean
      slug:
        description: Unique identifier for this experiment
        pattern: ^[A-Za-z0-9\-_]+$
        type: string
    required:
    - slug
    - branches
    title: Messaging Experiment
    type: object
  implementation_url: null
  name: messaging-experiment
