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

# Get paginated action participations

> Retrieve a paginated list of action participations.



## OpenAPI

````yaml /openapi/integration.json get /action-participations
openapi: 3.0.3
info:
  title: Nudj Integration API
  version: 1.0.0
servers:
  - url: https://{subdomain}.nudj.cx/api/v2/integration
    description: Organization API Server
    variables:
      subdomain:
        description: Your organization's subdomain (required)
        default: your-org
security:
  - ApiToken: []
paths:
  /action-participations:
    get:
      tags:
        - ActionParticipation
      summary: Get paginated action participations
      description: Retrieve a paginated list of action participations.
      operationId: getPaginatedActionParticipations
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
          required: false
        - in: query
          name: skip
          schema:
            type: integer
            minimum: 0
            default: 0
          required: false
        - in: query
          name: sort
          schema:
            type: string
        - in: query
          name: search
          schema:
            type: string
        - in: query
          name: communityId
          schema:
            type: string
        - in: query
          name: allocationId
          schema:
            type: string
        - in: query
          name: featured
          schema:
            type: boolean
        - in: query
          name: verified
          schema:
            type: boolean
        - in: query
          name: isShop
          schema:
            type: boolean
        - in: query
          name: type
          schema:
            type: string
        - in: query
          name: status
          schema:
            type: string
        - in: query
          name: eventCategory
          schema:
            type: string
        - in: query
          name: eventSubCategory
          schema:
            type: string
        - in: query
          name: eventName
          schema:
            type: string
        - in: query
          name: displayMode
          schema:
            type: string
        - in: query
          name: fromDate
          schema:
            type: string
        - in: query
          name: toDate
          schema:
            type: string
        - in: query
          name: isGlobalTemplate
          schema:
            type: boolean
        - in: query
          name: key
          schema:
            type: string
        - in: query
          name: progressPeriod
          schema:
            type: string
        - in: query
          name: expand
          schema:
            type: string
        - in: query
          name: redeemableType
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  totalCount:
                    type: number
                  edges:
                    type: array
                    items:
                      $ref: '#/components/schemas/ActionParticipation'
                required:
                  - totalCount
                  - edges
        '400':
          description: Invalid input data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.BAD_REQUEST'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.NOT_FOUND'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error.INTERNAL_SERVER_ERROR'
components:
  schemas:
    ActionParticipation:
      type: object
      properties:
        id:
          type: string
        organisationId:
          type: string
        communityId:
          type: string
        actionId:
          type: string
        userId:
          type: string
        actionCategory:
          type: string
          enum:
            - nudj
            - discord
            - facebook
            - imageAnalysis
            - instagram
            - interaction
            - linkedin
            - question
            - platform
            - spotify
            - tiktok
            - twitter
            - youtube
        actionKey:
          type: string
          enum:
            - facebook-comment
            - facebook-follow
            - facebook-like
            - image-analysis-object-detection
            - image-analysis-receipt-detection
            - instagram-follow
            - instagram-like
            - instagram-comment
            - instagram-share
            - instagram-post
            - interaction-engage-with-content
            - interaction-external-link
            - interaction-image-upload
            - interaction-spot-object
            - platform-comment-on-post
            - platform-complete-achievement
            - platform-generative-action
            - platform-like-post
            - platform-play-game
            - platform-validate-event
            - question-multiple-choice
            - question-open-ended
            - question-rate-your-experience
            - question-secret-access-code
            - question-select-date
            - question-select-from-images
            - question-select-value-in-range
            - question-select-from-list
            - question-closed-ended
            - question-vote
            - spotify-follow
            - spotify-listen
            - spotify-save
            - tiktok-follow
            - tiktok-watch
            - tiktok-post
            - youtube-like
            - youtube-comment
            - youtube-subscribe
        actionAttributes:
          $ref: '#/components/schemas/ActionAttributes'
        allocationId:
          type: string
        allocatedTo:
          type: string
          enum:
            - achievement
            - action
            - community
            - challenge
            - leaderboard
            - post
            - reward
            - reward-asset
            - reward-entry
        actionGroupId:
          type: string
          nullable: true
        participationStatuses:
          type: array
          items:
            $ref: '#/components/schemas/ActionParticipationStatus'
        createdAt:
          type: string
        updatedAt:
          type: string
      required:
        - id
        - organisationId
        - communityId
        - actionId
        - userId
        - actionCategory
        - actionKey
        - actionAttributes
        - allocationId
        - allocatedTo
        - participationStatuses
        - createdAt
        - updatedAt
      title: ActionParticipation
      description: An action participation
    error.BAD_REQUEST:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Invalid input data
        code:
          type: string
          description: The error code
          example: BAD_REQUEST
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              path:
                type: array
                items:
                  oneOf:
                    - type: string
                    - type: integer
                description: The path to the field that caused the error
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: BAD_REQUEST
        message: Invalid input data
        issues: []
    error.NOT_FOUND:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Not found
        code:
          type: string
          description: The error code
          example: NOT_FOUND
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              path:
                type: array
                items:
                  oneOf:
                    - type: string
                    - type: integer
                description: The path to the field that caused the error
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: NOT_FOUND
        message: Not found
        issues: []
    error.INTERNAL_SERVER_ERROR:
      type: object
      properties:
        message:
          type: string
          description: The error message
          example: Internal server error
        code:
          type: string
          description: The error code
          example: INTERNAL_SERVER_ERROR
        issues:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
              path:
                type: array
                items:
                  oneOf:
                    - type: string
                    - type: integer
                description: The path to the field that caused the error
            required:
              - message
          description: An array of issues that were responsible for the error
          example: []
      required:
        - message
        - code
      title: Error
      description: The error information
      example:
        code: INTERNAL_SERVER_ERROR
        message: Internal server error
        issues: []
    ActionAttributes:
      oneOf:
        - $ref: '#/components/schemas/MultipleChoiceActionAttributes'
        - $ref: '#/components/schemas/OpenEndedActionAttributes'
        - $ref: '#/components/schemas/RateYourExperienceActionAttributes'
        - $ref: '#/components/schemas/SecretAccessCodeActionAttributes'
        - $ref: '#/components/schemas/SelectFromImagesActionAttributes'
        - $ref: '#/components/schemas/SelectFromListActionAttributes'
        - $ref: '#/components/schemas/SingleFixedAnswerActionAttributes'
        - $ref: '#/components/schemas/VoteActionAttributes'
        - $ref: '#/components/schemas/SelectADateActionAttributes'
        - $ref: '#/components/schemas/SelectValueInRangeActionAttributes'
        - $ref: '#/components/schemas/ExternalLinkActionAttributes'
        - $ref: '#/components/schemas/EngageWithContentActionAttributes'
        - $ref: '#/components/schemas/ImageUploadActionAttributes'
        - $ref: '#/components/schemas/SpotObjectActionAttributes'
        - $ref: '#/components/schemas/ObjectDetectionActionAttributes'
        - $ref: '#/components/schemas/ReceiptDetectionActionAttributes'
        - $ref: '#/components/schemas/FacebookCommentActionAttributes'
        - $ref: '#/components/schemas/FacebookFollowActionAttributes'
        - $ref: '#/components/schemas/FacebookLikeActionAttributes'
        - $ref: '#/components/schemas/InstagramFollowActionAttributes'
        - $ref: '#/components/schemas/InstagramLikeActionAttributes'
        - $ref: '#/components/schemas/InstagramCommentActionAttributes'
        - $ref: '#/components/schemas/InstagramShareActionAttributes'
        - $ref: '#/components/schemas/InstagramPostActionAttributes'
        - $ref: '#/components/schemas/CommentOnPostActionAttributes'
        - $ref: '#/components/schemas/CompleteAchievementActionAttributes'
        - $ref: '#/components/schemas/GenerativeActionActionAttributes'
        - $ref: '#/components/schemas/LikePostActionAttributes'
        - $ref: '#/components/schemas/PlayGameActionAttributes'
        - $ref: '#/components/schemas/ValidateEventActionAttributes'
        - $ref: '#/components/schemas/SpotifyFollowActionAttributes'
        - $ref: '#/components/schemas/SpotifyListenActionAttributes'
        - $ref: '#/components/schemas/SpotifySaveActionAttributes'
        - $ref: '#/components/schemas/YoutubeCommentActionAttributes'
        - $ref: '#/components/schemas/YoutubeSubscribeActionAttributes'
        - $ref: '#/components/schemas/YoutubeLikeActionAttributes'
        - $ref: '#/components/schemas/TikTokFollowActionAttributes'
        - $ref: '#/components/schemas/TikTokPostActionAttributes'
        - $ref: '#/components/schemas/TikTokWatchActionAttributes'
      discriminator:
        propertyName: key
        mapping:
          question-multiple-choice:
            $ref: '#/components/schemas/MultipleChoiceActionAttributes'
          question-open-ended:
            $ref: '#/components/schemas/OpenEndedActionAttributes'
          question-rate-your-experience:
            $ref: '#/components/schemas/RateYourExperienceActionAttributes'
          question-secret-access-code:
            $ref: '#/components/schemas/SecretAccessCodeActionAttributes'
          question-select-from-images:
            $ref: '#/components/schemas/SelectFromImagesActionAttributes'
          question-select-from-list:
            $ref: '#/components/schemas/SelectFromListActionAttributes'
          question-closed-ended:
            $ref: '#/components/schemas/SingleFixedAnswerActionAttributes'
          question-vote:
            $ref: '#/components/schemas/VoteActionAttributes'
          question-select-date:
            $ref: '#/components/schemas/SelectADateActionAttributes'
          question-select-value-in-range:
            $ref: '#/components/schemas/SelectValueInRangeActionAttributes'
          interaction-external-link:
            $ref: '#/components/schemas/ExternalLinkActionAttributes'
          interaction-engage-with-content:
            $ref: '#/components/schemas/EngageWithContentActionAttributes'
          interaction-image-upload:
            $ref: '#/components/schemas/ImageUploadActionAttributes'
          interaction-spot-object:
            $ref: '#/components/schemas/SpotObjectActionAttributes'
          image-analysis-object-detection:
            $ref: '#/components/schemas/ObjectDetectionActionAttributes'
          image-analysis-receipt-detection:
            $ref: '#/components/schemas/ReceiptDetectionActionAttributes'
          facebook-comment:
            $ref: '#/components/schemas/FacebookCommentActionAttributes'
          facebook-follow:
            $ref: '#/components/schemas/FacebookFollowActionAttributes'
          facebook-like:
            $ref: '#/components/schemas/FacebookLikeActionAttributes'
          instagram-follow:
            $ref: '#/components/schemas/InstagramFollowActionAttributes'
          instagram-like:
            $ref: '#/components/schemas/InstagramLikeActionAttributes'
          instagram-comment:
            $ref: '#/components/schemas/InstagramCommentActionAttributes'
          instagram-share:
            $ref: '#/components/schemas/InstagramShareActionAttributes'
          instagram-post:
            $ref: '#/components/schemas/InstagramPostActionAttributes'
          platform-comment-on-post:
            $ref: '#/components/schemas/CommentOnPostActionAttributes'
          platform-complete-achievement:
            $ref: '#/components/schemas/CompleteAchievementActionAttributes'
          platform-generative-action:
            $ref: '#/components/schemas/GenerativeActionActionAttributes'
          platform-like-post:
            $ref: '#/components/schemas/LikePostActionAttributes'
          platform-play-game:
            $ref: '#/components/schemas/PlayGameActionAttributes'
          platform-validate-event:
            $ref: '#/components/schemas/ValidateEventActionAttributes'
          spotify-follow:
            $ref: '#/components/schemas/SpotifyFollowActionAttributes'
          spotify-listen:
            $ref: '#/components/schemas/SpotifyListenActionAttributes'
          spotify-save:
            $ref: '#/components/schemas/SpotifySaveActionAttributes'
          youtube-comment:
            $ref: '#/components/schemas/YoutubeCommentActionAttributes'
          youtube-subscribe:
            $ref: '#/components/schemas/YoutubeSubscribeActionAttributes'
          youtube-like:
            $ref: '#/components/schemas/YoutubeLikeActionAttributes'
          tiktok-follow:
            $ref: '#/components/schemas/TikTokFollowActionAttributes'
          tiktok-post:
            $ref: '#/components/schemas/TikTokPostActionAttributes'
          tiktok-watch:
            $ref: '#/components/schemas/TikTokWatchActionAttributes'
      description: The attributes of an action
      title: Action Attributes
    ActionParticipationStatus:
      type: object
      properties:
        id:
          type: string
        criteriaMet:
          type: boolean
        output:
          $ref: '#/components/schemas/ActionOutput'
        status:
          type: string
          enum:
            - pending
            - in-progress
            - processed
            - failed
        participatedAt:
          type: string
        processingStartedAt:
          type: string
          nullable: true
        processedAt:
          type: string
          nullable: true
        unmetCriteriaMessage:
          type: string
          nullable: true
        metCriteriaMessage:
          type: string
          nullable: true
        processingFailedMessage:
          type: string
          nullable: true
      required:
        - id
        - criteriaMet
        - output
        - status
        - participatedAt
      title: ActionParticipationStatus
      description: The status of an action participation.
    MultipleChoiceActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-multiple-choice
          description: The multiple choice question action key
        question:
          type: string
          minLength: 1
          description: >-
            The multiple choice question to be answered ie 'What is your
            favorite color?'
        options:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: >-
                  The id of the option. This is used to identify the option and
                  each option must be unique ie '1' or '2'
              label:
                type: string
                description: The label of the option ie 'Red' or 'Blue'
            required:
              - id
              - label
          minItems: 2
          description: The multiple choice options available to answer the question
        minimumNumberOfAnswersRequired:
          type: number
          minimum: 1
          description: The minimum number of answers required
        maximumNumberOfAnswersAllowed:
          type: number
          minimum: 1
          description: The maximum number of answers allowed
      required:
        - key
        - question
        - options
        - minimumNumberOfAnswersRequired
        - maximumNumberOfAnswersAllowed
      description: >-
        A multiple choice question with configurable options and correct answer
        validation. The question text is stored in the details.title field of
        the action, while technical configuration remains in attributes.
      x-action-category: Question
      title: Multiple Choice Question
    OpenEndedActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-open-ended
          description: The open ended question action key
        question:
          type: string
          minLength: 1
          description: >-
            The open ended question to be answered ie 'Tell us about your
            skillset?'
      required:
        - key
        - question
      description: A question with a free response
      x-action-category: Question
      title: Open Ended Question
    RateYourExperienceActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-rate-your-experience
          description: The rate your experience question action key
        question:
          type: string
          minLength: 1
          description: The text to be displayed to the user ie 'How was your experience?'
        ratingStyle:
          type: string
          nullable: true
      required:
        - key
        - question
      description: A question with a rating scale
      x-action-category: Question
      title: Rate Your Experience Question
    SecretAccessCodeActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-secret-access-code
          description: The secret access code question action key
        question:
          type: string
          minLength: 1
          description: >-
            The secret access code question to be answered ie 'What is the
            secret access code found on your badge?'
      required:
        - key
        - question
      description: A question which requires a secret access code
      x-action-category: Question
      title: Secret Access Code Question
    SelectFromImagesActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-from-images
          description: The select from images question action key
        question:
          type: string
          minLength: 1
          description: The question to be answered ie 'Which image is a cat?'
        images:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: >-
                  The id of the image. This is used to identify the image and
                  each image must be unique ie '1' or '2'
              name:
                type: string
                description: The display name of the image
              uri:
                type: string
                description: The uri of the image
            required:
              - id
              - name
              - uri
          minItems: 2
          description: The images to select from
        numberOfAnswersRequired:
          type: number
          nullable: true
          description: The number of selections required
      required:
        - key
        - question
        - images
      description: A question with images to select from
      x-action-category: Question
      title: Select From Images Question
    SelectFromListActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-from-list
          description: The select from list question action key
        question:
          type: string
          minLength: 1
          description: >-
            The question to be answered ie 'Which color is your favorite?' from
            a list of options
        minimumNumberOfAnswersRequired:
          type: number
          minimum: 1
          description: The minimum number of answers required
        maximumNumberOfAnswersAllowed:
          type: number
          minimum: 1
          description: The maximum number of answers allowed
        options:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                minLength: 1
                description: >-
                  The id of the option. This is used to identify the option and
                  each option must be unique ie '1' or '2'
              label:
                type: string
                minLength: 1
                description: The label of the option
            required:
              - id
              - label
          minItems: 2
          description: The list of options to select from
      required:
        - key
        - question
        - minimumNumberOfAnswersRequired
        - maximumNumberOfAnswersAllowed
        - options
      description: A question with a list of options to select from
      x-action-category: Question
      title: Select From List Question
    SingleFixedAnswerActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-closed-ended
          description: The single fixed answer question action key
        question:
          type: string
          minLength: 1
          description: The question to be answered ie 'What is the capital of France?'
      required:
        - key
        - question
      description: A question with a single fixed answer
      x-action-category: Question
      title: Single Fixed Answer Question
    VoteActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-vote
          description: The vote question action key
        question:
          type: string
          minLength: 1
          description: The voting question to be answered ie 'What is your favorite color?'
        options:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: >-
                  The id of the option. This is used to identify the option and
                  each option must be unique ie '1' or '2'
              label:
                type: string
                minLength: 1
                description: The label of the option ie 'Red' or 'Blue'
            required:
              - id
              - label
          minItems: 2
          description: The voting options available (minimum 2, no maximum)
        allowMultipleVotes:
          type: boolean
          description: >-
            If true, users can vote multiple times in repeatable challenges
            (each vote counts separately). If false (default), votes are
            overwritten when the user repeats the action.
      required:
        - key
        - question
        - options
      description: >-
        A voting/polling action where users select one option from a list.
        Results are calculated in real-time by counting all participations for
        this action.
      x-action-category: Question
      title: Vote/Polling Question
    SelectADateActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-date
          description: The select a date question action key
        allowDates:
          type: string
          enum:
            - past
            - future
            - all
          description: The dates to allow ie 'past', 'future' or 'all'
        allowCurrentDate:
          type: boolean
          description: Whether to allow the current date
        question:
          type: string
          minLength: 1
          description: The question to be answered ie 'When is your birthday?'
      required:
        - key
        - allowDates
        - allowCurrentDate
        - question
      description: A question with a date to select from
      x-action-category: Question
      title: Select A Date Question
    SelectValueInRangeActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-value-in-range
          description: The select value in range question action key
        question:
          type: string
          minLength: 1
          description: The text to be displayed to the user ie 'How much would you invest?'
        minValue:
          type: number
          description: Minimum value of the range
        maxValue:
          type: number
          description: Maximum value of the range
        step:
          type: number
          description: Step size between values
        unit:
          type: string
          nullable: true
          description: Optional unit for the values (e.g., '£', '%')
        unitPlacement:
          type: string
          nullable: true
          enum:
            - before
            - after
            - null
          description: Whether the unit appears before or after the value
        progressionType:
          type: string
          enum:
            - linear
            - logarithmic
          description: >-
            Type of progression for the slider values: linear (equal intervals
            throughout the range, e.g., 0,10,20,30...) or logarithmic
            (increasing intervals, better for large ranges where precision is
            needed at lower values, e.g., 1,2,5,10,20,50,100...)
      required:
        - key
        - question
        - minValue
        - maxValue
        - step
        - progressionType
      description: A question with a value slider within a defined range
      x-action-category: Question
      title: Select Value In Range Question
    ExternalLinkActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-external-link
        externalLinkSiteName:
          type: string
          minLength: 1
        externalLinkSource:
          type: string
        externalLinkUrl:
          type: string
          minLength: 1
        opensInNewTab:
          type: boolean
        showMetadata:
          type: boolean
          nullable: true
          description: >-
            Whether to show metadata on the external link. Including the title,
            description, and image.
        validateWithEvent:
          type: boolean
          nullable: true
        event:
          allOf:
            - $ref: '#/components/schemas/ExternalLinkActionEvent'
          nullable: true
      required:
        - key
        - externalLinkSiteName
        - externalLinkSource
        - externalLinkUrl
        - opensInNewTab
      x-action-category: Interaction
      title: External Link Interaction
      description: >-
        A task that directs users to visit an external website by clicking a
        link. This action type is commonly used to drive traffic to specific
        webpages for promotional purposes, provide additional information, or
        engage users with related content. The link can be configured to open in
        a new tab and optionally validate that the user visited the destination.
    EngageWithContentActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-engage-with-content
        title:
          type: string
        content:
          type: string
      required:
        - key
        - title
        - content
      x-action-category: Interaction
      title: Engage With Content Interaction
      description: >-
        Creates rich, interactive content experiences using HTML formatting.
        Features include:

        - Full HTML support for advanced content formatting

        - Embedded media integration (YouTube videos, images) 

        - Structured content with headings, lists, and paragraphs

        - Custom styling and layout options


        Common use cases include:

        - Interactive tutorials and guides

        - Rich text announcements and updates 

        - Educational content with embedded videos

        - Formatted instructions and documentation


        Example YouTube embed format:

        <p>Text content</p><div data-youtube-video=""><iframe
        src="https://www.youtube.com/embed/VIDEO_ID" width="640" height="480"
        allowfullscreen="true" class="w-full max-w-full aspect-video
        rounded-lg"></iframe></div>
    ImageUploadActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-image-upload
        description:
          type: string
        disclaimers:
          type: array
          items:
            $ref: '#/components/schemas/ImageUploadDisclaimer'
        allowBypassUpload:
          type: boolean
          nullable: true
      required:
        - key
        - description
        - disclaimers
      x-action-category: Interaction
      title: Image Upload Interaction
      description: >-
        Enables users to upload and submit images with optional AI validation.
        Features include:


        - Configurable AI validation to ensure image meets specific criteria

        - Custom validation prompts for AI checking  

        - Multiple disclaimers for user acknowledgment

        - Optional bypass functionality for image upload requirements


        Common use cases include:

        - Profile pictures and document verification

        - Proof of completion and visual evidence submissions

        - Interactive games and treasure hunts requiring photo verification

        - Scavenger hunt challenges and photo-based puzzle solutions
    SpotObjectActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-spot-object
          description: The spot object interaction action key
        toleranceMs:
          type: number
          minimum: 0
          description: >-
            Tolerance in milliseconds before and after each timestamp that will
            be accepted as correct
      required:
        - key
        - toleranceMs
      description: >-
        An interaction action where users must spot objects at specific
        timestamps with configurable tolerance ranges. The timestamps array
        contains the correct moments (in milliseconds) where objects appear, and
        toleranceMs defines the acceptable range before and after each
        timestamp.
      x-action-category: Interaction
      title: Spot Object Action
    ObjectDetectionActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - image-analysis-object-detection
        description:
          type: string
          minLength: 1
        objects:
          type: array
          items:
            type: string
        allObjectsRequired:
          type: boolean
      required:
        - key
        - description
        - objects
        - allObjectsRequired
      x-action-category: Image Analysis
      title: Object Detection Action Attributes
      description: The attributes of an object detection action
    ReceiptDetectionActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - image-analysis-receipt-detection
        description:
          type: string
          minLength: 1
        minimumAmount:
          type: number
        items:
          type: array
          nullable: true
          items:
            type: string
        allItemsRequired:
          type: boolean
      required:
        - key
        - description
        - minimumAmount
        - allItemsRequired
      x-action-category: Image Analysis
      title: Receipt Detection Action Attributes
      description: The attributes of a receipt detection action
    FacebookCommentActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - facebook-comment
        title:
          type: string
          minLength: 1
        postUrl:
          type: string
          minLength: 1
      required:
        - key
        - title
        - postUrl
      x-action-category: Facebook
      title: Facebook Comment Action Attributes
      description: The attributes of a Facebook comment action
    FacebookFollowActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - facebook-follow
        title:
          type: string
          minLength: 1
        businessAccountUsername:
          type: string
          minLength: 1
      required:
        - key
        - title
        - businessAccountUsername
      x-action-category: Facebook
      title: Facebook Follow Action Attributes
      description: The attributes of a Facebook follow action
    FacebookLikeActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - facebook-like
        title:
          type: string
          minLength: 1
        postUrl:
          type: string
          format: uri
      required:
        - key
        - title
        - postUrl
      x-action-category: Facebook
      title: Facebook Like Action Attributes
      description: The attributes of a Facebook like action
    InstagramFollowActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-follow
        title:
          type: string
          minLength: 1
        businessAccountUsername:
          type: string
          minLength: 1
        businessAccountId:
          type: string
          nullable: true
          minLength: 1
      required:
        - key
        - title
        - businessAccountUsername
      x-action-category: Instagram
      title: Instagram Follow Action Attributes
      description: The attributes of an Instagram follow action
    InstagramLikeActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-like
        title:
          type: string
          minLength: 1
        postId:
          type: string
          minLength: 1
      required:
        - key
        - title
        - postId
      x-action-category: Instagram
      title: Instagram Like Action Attributes
      description: The attributes of an Instagram like action
    InstagramCommentActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-comment
        title:
          type: string
          minLength: 1
        postId:
          type: string
          minLength: 1
        numberOfMentions:
          type: number
          nullable: true
      required:
        - key
        - title
        - postId
      x-action-category: Instagram
      title: Instagram Comment Action Attributes
      description: The attributes of an Instagram comment action
    InstagramShareActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-share
        title:
          type: string
          minLength: 1
        postId:
          type: string
          minLength: 1
      required:
        - key
        - title
        - postId
      x-action-category: Instagram
      title: Instagram Share Action Attributes
      description: The attributes of an Instagram share action
    InstagramPostActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-post
        title:
          type: string
          minLength: 1
        postContent:
          type: string
          minLength: 1
        postType:
          type: string
          minLength: 1
      required:
        - key
        - title
        - postContent
        - postType
      x-action-category: Instagram
      title: Instagram Post Action Attributes
      description: The attributes of an Instagram post action
    CommentOnPostActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-comment-on-post
        title:
          type: string
          minLength: 1
        postId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
        imageRequired:
          type: boolean
      required:
        - key
        - title
        - postId
        - imageRequired
      x-action-category: Platform
      title: Comment On Post Action Attributes
      description: >-
        Enables commenting on posts with optional image attachments. Features:
        direct commenting via postId, configurable image requirements, custom
        titles. Used for discussions, photo responses, feedback, and community
        engagement.
    CompleteAchievementActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-complete-achievement
        title:
          type: string
          minLength: 1
        achievementId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
      required:
        - key
        - title
        - achievementId
      x-action-category: Platform
      title: Complete Achievement Action Attributes
      description: >-
        Enables users to complete specific achievements. Used for tracking
        achievement progress, gamification, and user engagement metrics.
    GenerativeActionActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-generative-action
          description: The generative action key
        title:
          type: string
          minLength: 1
          description: The title of the generative action
        minifiedCode:
          type: string
          minLength: 1
          description: The minified code that will be executed on the client side
      required:
        - key
        - title
        - minifiedCode
      description: >-
        Enables users to interact with generated code or content. Contains both
        the original code and minified version for execution, along with
        associated assets and validation logic.
      x-action-category: Platform
      title: Generative Action Attributes
    LikePostActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-like-post
        title:
          type: string
          minLength: 1
        postId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
      required:
        - key
        - title
        - postId
      x-action-category: Platform
      title: Like Post Action Attributes
      description: >-
        Enables users to like/upvote specific posts. Used for engagement
        tracking, content popularity, and community interaction metrics.
    PlayGameActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-play-game
        title:
          type: string
          minLength: 1
        gameConfigId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
        gameType:
          type: string
          enum:
            - catch
            - memory
            - scratch
      required:
        - key
        - title
        - gameConfigId
        - gameType
      x-action-category: Platform
      title: Play Game Action Attributes
      description: Triggers a game defined by a game configuration.
    ValidateEventActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-validate-event
        title:
          type: string
          minLength: 1
          description: Display title for the action
        eventType:
          type: string
          enum:
            - achievement-completion
            - facebook-comment
            - facebook-follow
            - facebook-like
            - image-analysis-object-detection
            - image-analysis-receipt-detection
            - instagram-follow
            - instagram-like
            - instagram-comment
            - instagram-share
            - instagram-post
            - interaction-engage-with-content
            - interaction-external-link
            - interaction-image-upload
            - interaction-spot-object
            - platform-comment-on-post
            - platform-complete-achievement
            - platform-generative-action
            - platform-like-post
            - platform-play-game
            - platform-validate-event
            - question-multiple-choice
            - question-open-ended
            - question-rate-your-experience
            - question-secret-access-code
            - question-select-date
            - question-select-from-images
            - question-select-value-in-range
            - question-select-from-list
            - question-closed-ended
            - question-vote
            - spotify-follow
            - spotify-listen
            - spotify-save
            - tiktok-follow
            - tiktok-watch
            - tiktok-post
            - youtube-like
            - youtube-comment
            - youtube-subscribe
            - action-completion
            - skip-action
            - 42-school
            - api-auth-link
            - api-token-link
            - apple
            - asgardeo
            - atlassian
            - auth0
            - authentik
            - azure-ad-b2c
            - azure-ad
            - azure-devops
            - battlenet
            - beyondidentity
            - box
            - boxyhq-saml
            - bungie
            - click-up
            - cognito
            - coinbase
            - descope
            - discord
            - dribbble
            - dropbox
            - duende-identity-server6
            - email
            - eveonline
            - facebook
            - faceit
            - foursquare
            - freshbooks
            - fusionauth
            - github
            - gitlab
            - google
            - hubspot
            - identity-server4
            - instagram
            - kakao
            - keycloak
            - line
            - linkedin
            - mailchimp
            - mailru
            - mastodon
            - mattermost
            - medium
            - naver
            - netlify
            - notion
            - okta
            - onelogin
            - organisation-oidc
            - osso
            - osu
            - passage
            - patreon
            - pinterest
            - pipedrive
            - reddit
            - salesforce
            - slack
            - spotify
            - strava
            - tiktok
            - todoist
            - trakt
            - twitch
            - twitter
            - united-effects
            - vk
            - wikimedia
            - wordpress
            - workos
            - yandex
            - youtube
            - zitadel
            - zoho
            - zoom
            - blog-comment
            - blog-like
            - blog-share
            - blog-view
            - challenge-started
            - challenge-completion
            - challenge-unlock
            - community-visit
            - parental-approval-requested
            - parental-approval-approved
            - parental-approval-rejected
            - custom
            - game-started
            - game-completed
            - leaderboard-finish
            - invite-admin-user
            - points-credit
            - points-spend
            - post-comment
            - post-like
            - post-view
            - reward-redemption
            - reward-allocation-purchase
            - reward-giveaway-winner
            - reward-claim
            - reward-distribution
            - manual-distribution
            - referral-link-used
            - shop-purchase
            - share-challenge-details
            - share-challenge-results
            - share-community
            - share-reward
            - share-post
            - share-profile
            - share-anything
            - streak-extended
            - profile-picture-added
            - bio-added
            - variable-captured
            - xp-gained
            - xp-total
            - xp-leaderboard-topper
          description: Type of the event to validate
        eventSourceId:
          type: string
          nullable: true
          pattern: ^[0-9a-fA-F]{24}$
          description: Source ID to a specific event source
        eventName:
          type: string
          nullable: true
          minLength: 1
          description: Event name. This is required for custom events
      required:
        - key
        - title
        - eventType
        - eventSourceId
        - eventName
      x-action-category: Platform
      title: Validate Event Action Attributes
      description: Configuration for validating user completion of specific events
    SpotifyFollowActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - spotify-follow
        spotifyURL:
          type: string
          minLength: 1
      required:
        - key
        - spotifyURL
      x-action-category: Spotify
      title: Spotify Follow Action Attributes
      description: The attributes of a Spotify follow action
    SpotifyListenActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - spotify-listen
        spotifyURL:
          type: string
          minLength: 1
        playCount:
          type: number
          minimum: 1
      required:
        - key
        - spotifyURL
        - playCount
      x-action-category: Spotify
      title: Spotify Listen Action Attributes
      description: The attributes of a Spotify listen action
    SpotifySaveActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - spotify-save
        spotifyURL:
          type: string
          minLength: 1
      required:
        - key
        - spotifyURL
      x-action-category: Spotify
      title: Spotify Save Action Attributes
      description: The attributes of a Spotify save action
    YoutubeCommentActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - youtube-comment
        videoUrl:
          type: string
          minLength: 1
      required:
        - key
        - videoUrl
      x-action-category: Youtube
      title: Youtube Comment Action Attributes
      description: The attributes of a Youtube comment action
    YoutubeSubscribeActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - youtube-subscribe
        username:
          type: string
          minLength: 1
      required:
        - key
        - username
      x-action-category: Youtube
      title: Youtube Subscribe Action Attributes
      description: The attributes of a Youtube subscribe action
    YoutubeLikeActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - youtube-like
        videoUrl:
          type: string
          minLength: 1
      required:
        - key
        - videoUrl
      x-action-category: Youtube
      title: Youtube Like Action Attributes
      description: The attributes of a Youtube like action
    TikTokFollowActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - tiktok-follow
        title:
          type: string
          minLength: 1
          maxLength: 100
        accountUsername:
          type: string
          minLength: 1
      required:
        - key
        - title
        - accountUsername
      x-action-category: TikTok
      title: TikTok Follow Action Attributes
      description: The attributes of a TikTok follow action
    TikTokPostActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - tiktok-post
        title:
          type: string
          minLength: 1
          maxLength: 100
        hashtags:
          type: array
          items:
            type: string
            pattern: ^#?[A-Za-z0-9_]+$
            minLength: 1
          minItems: 1
      required:
        - key
        - title
        - hashtags
      x-action-category: TikTok
      title: TikTok Post Video With Hashtag Action Attributes
      description: The attributes of a TikTok post video with hashtags action
    TikTokWatchActionAttributes:
      type: object
      properties:
        key:
          type: string
          enum:
            - tiktok-watch
        title:
          type: string
          minLength: 1
          maxLength: 100
        videoUrl:
          type: string
          minLength: 1
      required:
        - key
        - title
        - videoUrl
      x-action-category: TikTok
      title: TikTok Watch Video Action Attributes
      description: The attributes of a TikTok watch video action
    ActionOutput:
      oneOf:
        - $ref: '#/components/schemas/ExternalLinkActionOutput'
        - $ref: '#/components/schemas/EngageWithContentActionOutput'
        - $ref: '#/components/schemas/ImageUploadActionOutput'
        - $ref: '#/components/schemas/SpotObjectActionOutput'
        - $ref: '#/components/schemas/OpenEndedActionOutput'
        - $ref: '#/components/schemas/MultipleChoiceActionOutput'
        - $ref: '#/components/schemas/SingleFixedAnswerActionOutput'
        - $ref: '#/components/schemas/SelectFromImagesActionOutput'
        - $ref: '#/components/schemas/RateYourExperienceActionOutput'
        - $ref: '#/components/schemas/SelectFromListActionOutput'
        - $ref: '#/components/schemas/SecretAccessCodeActionOutput'
        - $ref: '#/components/schemas/VoteActionOutput'
        - $ref: '#/components/schemas/SelectADateActionOutput'
        - $ref: '#/components/schemas/SelectValueInRangeActionOutput'
        - $ref: '#/components/schemas/ObjectDetectionActionOutput'
        - $ref: '#/components/schemas/ReceiptDetectionActionOutput'
        - $ref: '#/components/schemas/FacebookCommentActionOutput'
        - $ref: '#/components/schemas/FacebookFollowActionOutput'
        - $ref: '#/components/schemas/FacebookLikeActionOutput'
        - $ref: '#/components/schemas/InstagramFollowActionOutput'
        - $ref: '#/components/schemas/InstagramLikeActionOutput'
        - $ref: '#/components/schemas/InstagramCommentActionOutput'
        - $ref: '#/components/schemas/InstagramShareActionOutput'
        - $ref: '#/components/schemas/InstagramPostActionOutput'
        - $ref: '#/components/schemas/CommentOnPostActionOutput'
        - $ref: '#/components/schemas/CompleteAchievementActionOutput'
        - $ref: '#/components/schemas/GenerativeActionActionOutput'
        - $ref: '#/components/schemas/LikePostActionOutput'
        - $ref: '#/components/schemas/PlayGameActionOutput'
        - $ref: '#/components/schemas/ValidateEventActionOutput'
        - $ref: '#/components/schemas/SpotifyFollowActionOutput'
        - $ref: '#/components/schemas/SpotifyListenActionOutput'
        - $ref: '#/components/schemas/SpotifySaveActionOutput'
        - $ref: '#/components/schemas/TikTokFollowActionOutput'
        - $ref: '#/components/schemas/TikTokPostActionOutput'
        - $ref: '#/components/schemas/TikTokWatchActionOutput'
        - $ref: '#/components/schemas/YoutubeCommentActionOutput'
        - $ref: '#/components/schemas/YoutubeSubscribeActionOutput'
        - $ref: '#/components/schemas/YoutubeLikeActionOutput'
      discriminator:
        propertyName: key
        mapping:
          interaction-external-link:
            $ref: '#/components/schemas/ExternalLinkActionOutput'
          interaction-engage-with-content:
            $ref: '#/components/schemas/EngageWithContentActionOutput'
          interaction-image-upload:
            $ref: '#/components/schemas/ImageUploadActionOutput'
          interaction-spot-object:
            $ref: '#/components/schemas/SpotObjectActionOutput'
          question-open-ended:
            $ref: '#/components/schemas/OpenEndedActionOutput'
          question-multiple-choice:
            $ref: '#/components/schemas/MultipleChoiceActionOutput'
          question-closed-ended:
            $ref: '#/components/schemas/SingleFixedAnswerActionOutput'
          question-select-from-images:
            $ref: '#/components/schemas/SelectFromImagesActionOutput'
          question-rate-your-experience:
            $ref: '#/components/schemas/RateYourExperienceActionOutput'
          question-select-from-list:
            $ref: '#/components/schemas/SelectFromListActionOutput'
          question-secret-access-code:
            $ref: '#/components/schemas/SecretAccessCodeActionOutput'
          question-vote:
            $ref: '#/components/schemas/VoteActionOutput'
          question-select-date:
            $ref: '#/components/schemas/SelectADateActionOutput'
          question-select-value-in-range:
            $ref: '#/components/schemas/SelectValueInRangeActionOutput'
          image-analysis-object-detection:
            $ref: '#/components/schemas/ObjectDetectionActionOutput'
          image-analysis-receipt-detection:
            $ref: '#/components/schemas/ReceiptDetectionActionOutput'
          facebook-comment:
            $ref: '#/components/schemas/FacebookCommentActionOutput'
          facebook-follow:
            $ref: '#/components/schemas/FacebookFollowActionOutput'
          facebook-like:
            $ref: '#/components/schemas/FacebookLikeActionOutput'
          instagram-follow:
            $ref: '#/components/schemas/InstagramFollowActionOutput'
          instagram-like:
            $ref: '#/components/schemas/InstagramLikeActionOutput'
          instagram-comment:
            $ref: '#/components/schemas/InstagramCommentActionOutput'
          instagram-share:
            $ref: '#/components/schemas/InstagramShareActionOutput'
          instagram-post:
            $ref: '#/components/schemas/InstagramPostActionOutput'
          platform-comment-on-post:
            $ref: '#/components/schemas/CommentOnPostActionOutput'
          platform-complete-achievement:
            $ref: '#/components/schemas/CompleteAchievementActionOutput'
          platform-generative-action:
            $ref: '#/components/schemas/GenerativeActionActionOutput'
          platform-like-post:
            $ref: '#/components/schemas/LikePostActionOutput'
          platform-play-game:
            $ref: '#/components/schemas/PlayGameActionOutput'
          platform-validate-event:
            $ref: '#/components/schemas/ValidateEventActionOutput'
          spotify-follow:
            $ref: '#/components/schemas/SpotifyFollowActionOutput'
          spotify-listen:
            $ref: '#/components/schemas/SpotifyListenActionOutput'
          spotify-save:
            $ref: '#/components/schemas/SpotifySaveActionOutput'
          tiktok-follow:
            $ref: '#/components/schemas/TikTokFollowActionOutput'
          tiktok-post:
            $ref: '#/components/schemas/TikTokPostActionOutput'
          tiktok-watch:
            $ref: '#/components/schemas/TikTokWatchActionOutput'
          youtube-comment:
            $ref: '#/components/schemas/YoutubeCommentActionOutput'
          youtube-subscribe:
            $ref: '#/components/schemas/YoutubeSubscribeActionOutput'
          youtube-like:
            $ref: '#/components/schemas/YoutubeLikeActionOutput'
      title: ActionOutput
      description: The output of an action.
    ExternalLinkActionEvent:
      type: object
      properties:
        eventCategory:
          type: string
          enum:
            - achievement
            - action
            - auth
            - blog
            - challenge
            - community
            - custom
            - game
            - leaderboard
            - organisation
            - points
            - post
            - referral
            - reward
            - shop
            - social
            - social-connection
            - streak
            - user
            - variable
            - xp
          description: The category of the event.
        eventSubCategory:
          type: string
          enum:
            - achievement-completion
            - facebook-comment
            - facebook-follow
            - facebook-like
            - image-analysis-object-detection
            - image-analysis-receipt-detection
            - instagram-follow
            - instagram-like
            - instagram-comment
            - instagram-share
            - instagram-post
            - interaction-engage-with-content
            - interaction-external-link
            - interaction-image-upload
            - interaction-spot-object
            - platform-comment-on-post
            - platform-complete-achievement
            - platform-generative-action
            - platform-like-post
            - platform-play-game
            - platform-validate-event
            - question-multiple-choice
            - question-open-ended
            - question-rate-your-experience
            - question-secret-access-code
            - question-select-date
            - question-select-from-images
            - question-select-value-in-range
            - question-select-from-list
            - question-closed-ended
            - question-vote
            - spotify-follow
            - spotify-listen
            - spotify-save
            - tiktok-follow
            - tiktok-watch
            - tiktok-post
            - youtube-like
            - youtube-comment
            - youtube-subscribe
            - action-completion
            - skip-action
            - 42-school
            - api-auth-link
            - api-token-link
            - apple
            - asgardeo
            - atlassian
            - auth0
            - authentik
            - azure-ad-b2c
            - azure-ad
            - azure-devops
            - battlenet
            - beyondidentity
            - box
            - boxyhq-saml
            - bungie
            - click-up
            - cognito
            - coinbase
            - descope
            - discord
            - dribbble
            - dropbox
            - duende-identity-server6
            - email
            - eveonline
            - facebook
            - faceit
            - foursquare
            - freshbooks
            - fusionauth
            - github
            - gitlab
            - google
            - hubspot
            - identity-server4
            - instagram
            - kakao
            - keycloak
            - line
            - linkedin
            - mailchimp
            - mailru
            - mastodon
            - mattermost
            - medium
            - naver
            - netlify
            - notion
            - okta
            - onelogin
            - organisation-oidc
            - osso
            - osu
            - passage
            - patreon
            - pinterest
            - pipedrive
            - reddit
            - salesforce
            - slack
            - spotify
            - strava
            - tiktok
            - todoist
            - trakt
            - twitch
            - twitter
            - united-effects
            - vk
            - wikimedia
            - wordpress
            - workos
            - yandex
            - youtube
            - zitadel
            - zoho
            - zoom
            - blog-comment
            - blog-like
            - blog-share
            - blog-view
            - challenge-started
            - challenge-completion
            - challenge-unlock
            - community-visit
            - parental-approval-requested
            - parental-approval-approved
            - parental-approval-rejected
            - custom
            - game-started
            - game-completed
            - leaderboard-finish
            - invite-admin-user
            - points-credit
            - points-spend
            - post-comment
            - post-like
            - post-view
            - reward-redemption
            - reward-allocation-purchase
            - reward-giveaway-winner
            - reward-claim
            - reward-distribution
            - manual-distribution
            - referral-link-used
            - shop-purchase
            - share-challenge-details
            - share-challenge-results
            - share-community
            - share-reward
            - share-post
            - share-profile
            - share-anything
            - streak-extended
            - profile-picture-added
            - bio-added
            - variable-captured
            - xp-gained
            - xp-total
            - xp-leaderboard-topper
          description: The sub-category of the event.
        eventSourceId:
          type: string
          nullable: true
          pattern: ^[0-9a-fA-F]{24}$
          description: The source ID of the event.
        eventName:
          type: string
          nullable: true
          description: The name of the event, required when using a custom event category.
      required:
        - eventCategory
        - eventSubCategory
      x-action-category: Interaction
      title: External Link Event
      description: An event that is triggered when a user clicks on an external link.
    ImageUploadDisclaimer:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
      required:
        - id
        - label
      title: ImageUploadDisclaimer
      description: An image upload disclaimer
    ExternalLinkActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-external-link
        eventId:
          type: string
          nullable: true
      required:
        - key
      x-action-category: Interaction
      title: ExternalLinkActionOutput
      description: The output of an external link action.
    EngageWithContentActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-engage-with-content
        timeOnContentInMilliseconds:
          type: number
      required:
        - key
        - timeOnContentInMilliseconds
      x-action-category: Interaction
      title: EngageWithContentActionOutput
      description: The output of an engage with content action.
    ImageUploadActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-image-upload
        wasBypassed:
          type: boolean
        confidenceScore:
          type: number
          nullable: true
        imageUrl:
          type: string
        disclaimers:
          type: array
          items:
            $ref: '#/components/schemas/ImageUploadDisclaimerStatus'
        imageSummary:
          type: string
          nullable: true
      required:
        - key
        - wasBypassed
        - imageUrl
        - disclaimers
      x-action-category: Interaction
      title: ImageUploadActionOutput
      description: The output of an image upload action.
    SpotObjectActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - interaction-spot-object
        timestamp:
          type: number
      required:
        - key
        - timestamp
      x-action-category: Interaction
      title: SpotObjectActionOutput
      description: The output of a spot object interaction action.
    OpenEndedActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-open-ended
        answer:
          type: string
      required:
        - key
        - answer
      x-action-category: Question
      title: OpenEndedActionOutput
      description: The output of an open ended question action.
    MultipleChoiceActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-multiple-choice
        answers:
          type: array
          items:
            type: string
      required:
        - key
        - answers
      x-action-category: Question
      title: MultipleChoiceActionOutput
      description: The output of a multiple choice question action.
    SingleFixedAnswerActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-closed-ended
        answer:
          type: string
      required:
        - key
        - answer
      x-action-category: Question
      title: SingleFixedAnswerActionOutput
      description: The output of a single fixed answer question action.
    SelectFromImagesActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-from-images
        answers:
          type: array
          items:
            type: string
      required:
        - key
        - answers
      x-action-category: Question
      title: SelectFromImagesActionOutput
      description: The output of a select from images question action.
    RateYourExperienceActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-rate-your-experience
        rating:
          type: number
      required:
        - key
        - rating
      x-action-category: Question
      title: RateYourExperienceActionOutput
      description: The output of a rate your experience question action.
    SelectFromListActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-from-list
        answers:
          type: array
          items:
            type: string
      required:
        - key
        - answers
      x-action-category: Question
      title: SelectFromListActionOutput
      description: The output of a select from list question action.
    SecretAccessCodeActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-secret-access-code
        accessCode:
          type: string
          minLength: 1
      required:
        - key
        - accessCode
      x-action-category: Question
      title: SecretAccessCodeActionOutput
      description: The output of a secret access code question action.
    VoteActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-vote
        votedOptionId:
          type: string
          description: The option ID the user voted for in this participation
        results:
          type: array
          items:
            type: object
            properties:
              optionId:
                type: string
                description: The ID of the option
              voteCount:
                type: number
                description: The number of votes this option received
              percentage:
                type: number
                description: The percentage of total votes this option received
            required:
              - optionId
              - voteCount
              - percentage
          description: >-
            The complete voting results at the time of submission, including
            vote counts and percentages for all options
      required:
        - key
        - votedOptionId
        - results
      x-action-category: Question
      title: VoteActionOutput
      description: >-
        The output of a vote question action, including the user's vote and
        real-time results.
    SelectADateActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-date
        date:
          type: string
      required:
        - key
        - date
      x-action-category: Question
      title: SelectADateActionOutput
      description: The output of a select a date question action.
    SelectValueInRangeActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - question-select-value-in-range
        selectedValue:
          type: number
      required:
        - key
        - selectedValue
      x-action-category: Question
      title: SelectValueInRangeActionOutput
      description: The output of a select value in range question action.
    ObjectDetectionActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - image-analysis-object-detection
        imageUrl:
          type: string
          minLength: 1
        fileName:
          type: string
          minLength: 1
        detectedObjects:
          type: array
          items:
            type: string
          minItems: 1
      required:
        - key
        - imageUrl
        - fileName
        - detectedObjects
      x-action-category: ImageAnalysis
      title: ObjectDetectionActionOutput
      description: The output of an object detection action.
    ReceiptDetectionActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - image-analysis-receipt-detection
        imageUrl:
          type: string
          minLength: 1
        fileName:
          type: string
          minLength: 1
        detectedItems:
          type: array
          items:
            type: string
          minItems: 1
      required:
        - key
        - imageUrl
        - fileName
        - detectedItems
      x-action-category: ImageAnalysis
      title: ReceiptDetectionActionOutput
      description: The output of a receipt detection action.
    FacebookCommentActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - facebook-comment
        postUrl:
          type: string
      required:
        - key
        - postUrl
      x-action-category: Facebook
      title: FacebookCommentActionOutput
      description: The output of a facebook comment action.
    FacebookFollowActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - facebook-follow
        businessAccountUsername:
          type: string
      required:
        - key
        - businessAccountUsername
      x-action-category: Facebook
      title: FacebookFollowActionOutput
      description: The output of a facebook follow action.
    FacebookLikeActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - facebook-like
        postUrl:
          type: string
      required:
        - key
        - postUrl
      x-action-category: Facebook
      title: FacebookLikeActionOutput
      description: The output of a facebook like action.
    InstagramFollowActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-follow
        businessAccountId:
          type: string
        businessAccountUsername:
          type: string
        followerAccountId:
          type: string
        followerAccountUsername:
          type: string
      required:
        - key
        - businessAccountId
        - businessAccountUsername
        - followerAccountId
        - followerAccountUsername
      x-action-category: Instagram
      title: InstagramFollowActionOutput
      description: The output of a instagram follow action.
    InstagramLikeActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-like
        postId:
          type: string
        likerAccountId:
          type: string
        likerAccountUsername:
          type: string
      required:
        - key
        - postId
        - likerAccountId
        - likerAccountUsername
      x-action-category: Instagram
      title: InstagramLikeActionOutput
      description: The output of a instagram like action.
    InstagramCommentActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-comment
        postId:
          type: string
        commenterAccountId:
          type: string
        commenterAccountUsername:
          type: string
        numberOfMentions:
          type: number
          nullable: true
        commentContent:
          type: string
          nullable: true
      required:
        - key
        - postId
        - commenterAccountId
        - commenterAccountUsername
      x-action-category: Instagram
      title: InstagramCommentActionOutput
      description: The output of a instagram comment action.
    InstagramShareActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-share
        postId:
          type: string
        sharerAccountId:
          type: string
        sharerAccountUsername:
          type: string
      required:
        - key
        - postId
        - sharerAccountId
        - sharerAccountUsername
      x-action-category: Instagram
      title: InstagramShareActionOutput
      description: The output of a instagram share action.
    InstagramPostActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - instagram-post
        postId:
          type: string
        posterAccountId:
          type: string
        posterAccountUsername:
          type: string
        postContent:
          type: string
        postMediaUrl:
          type: string
      required:
        - key
        - postId
        - posterAccountId
        - posterAccountUsername
        - postContent
        - postMediaUrl
      x-action-category: Instagram
      title: InstagramPostActionOutput
      description: The output of a instagram post action.
    CommentOnPostActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-comment-on-post
        postId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
      required:
        - key
        - postId
      x-action-category: Platform
      title: CommentOnPostActionOutput
      description: The output of a comment on post action.
    CompleteAchievementActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-complete-achievement
        achievementId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
      required:
        - key
        - achievementId
      x-action-category: Platform
      title: CompleteAchievementActionOutput
      description: The output of a complete achievement action.
    GenerativeActionActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-generative-action
      required:
        - key
      x-action-category: Platform
      title: GenerativeActionActionOutput
      description: The output of a generative action.
    LikePostActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-like-post
        postId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
      required:
        - key
        - postId
      x-action-category: Platform
      title: LikePostActionOutput
      description: The output of a like post action.
    PlayGameActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-play-game
        gameConfigId:
          type: string
          pattern: ^[0-9a-fA-F]{24}$
      required:
        - key
        - gameConfigId
      x-action-category: Platform
      title: PlayGameActionOutput
      description: The output of a play game action.
    ValidateEventActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - platform-validate-event
        eventId:
          type: string
          nullable: true
          description: ID of the validated event
      required:
        - key
        - eventId
      x-action-category: Platform
      title: Validate Event Action Output
      description: Result of event validation containing the validated event ID
    SpotifyFollowActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - spotify-follow
        spotifyUsername:
          type: string
        spotifyURL:
          type: string
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
      required:
        - key
        - spotifyUsername
        - spotifyURL
        - wasBypassed
      x-action-category: Spotify
      title: SpotifyFollowActionOutput
      description: The output of a spotify follow action.
    SpotifyListenActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - spotify-listen
        spotifyUsername:
          type: string
        spotifyURL:
          type: string
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
      required:
        - key
        - spotifyUsername
        - spotifyURL
        - wasBypassed
      x-action-category: Spotify
      title: SpotifyListenActionOutput
      description: The output of a spotify listen action.
    SpotifySaveActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - spotify-save
        spotifyUsername:
          type: string
        spotifyURL:
          type: string
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
      required:
        - key
        - spotifyUsername
        - spotifyURL
        - wasBypassed
      x-action-category: Spotify
      title: SpotifySaveActionOutput
      description: The output of a spotify save action.
    TikTokFollowActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - tiktok-follow
        accountUsername:
          type: string
      required:
        - key
        - accountUsername
      x-action-category: TikTok
      title: TikTokFollowActionOutput
      description: The output of a TikTok follow action.
    TikTokPostActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - tiktok-post
        hashtags:
          type: array
          items:
            type: string
            pattern: ^#[A-Za-z0-9_]+$
            minLength: 1
          minItems: 1
        videoUrl:
          type: string
      required:
        - key
        - hashtags
        - videoUrl
      x-action-category: TikTok
      title: TikTokPostActionOutput
      description: The output of a TikTok post video with hashtag action.
    TikTokWatchActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - tiktok-watch
        videoUrl:
          type: string
      required:
        - key
        - videoUrl
      x-action-category: TikTok
      title: TikTokWatchActionOutput
      description: The output of a TikTok watch video action.
    YoutubeCommentActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - youtube-comment
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
        videoUrl:
          type: string
        commenterChannelId:
          type: string
      required:
        - key
        - wasBypassed
        - videoUrl
        - commenterChannelId
      title: YoutubeCommentActionOutput
      description: A youtube comment action output
    YoutubeSubscribeActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - youtube-subscribe
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
        username:
          type: string
        subscriberChannelId:
          type: string
      required:
        - key
        - wasBypassed
        - username
        - subscriberChannelId
      title: YoutubeSubscribeActionOutput
      description: A youtube subscribe action output
    YoutubeLikeActionOutput:
      type: object
      properties:
        key:
          type: string
          enum:
            - youtube-like
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
        videoUrl:
          type: string
        likerChannelId:
          type: string
      required:
        - key
        - wasBypassed
        - videoUrl
        - likerChannelId
      title: YoutubeLikeActionOutput
      description: A youtube like action output
    ImageUploadDisclaimerStatus:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
        accepted:
          type: boolean
      required:
        - id
        - label
        - accepted
      title: ImageUploadDisclaimerStatus
      description: An image upload disclaimer with acceptance status
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: x-api-token

````