> ## 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/admin.json get /action-participations
openapi: 3.1.0
info:
  title: Nudj Admin API
  version: 1.0.0
servers:
  - url: https://{subdomain}.nudj.cx/api/v2/admin
    description: Organization API Server
    variables:
      subdomain:
        description: Your organization's subdomain (required)
        default: your-org
security:
  - ApiToken: []
paths:
  /action-participations:
    get:
      tags:
        - Action Participation
      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: communityId
          schema:
            type: string
        - in: query
          name: allocationId
          schema:
            type: string
        - in: query
          name: actionId
          schema:
            type: string
        - in: query
          name: status
          schema:
            type: string
            enum:
              - criteriaMet
              - criteriaUnmet
      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
            - 'null'
        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
            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
            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
            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'
        - type: object
          properties:
            key:
              type: string
              const: interaction-image-upload
            description:
              type: string
            disclaimers:
              type: array
              items:
                $ref: '#/components/schemas/ImageUploadDisclaimer'
            allowBypassUpload:
              type:
                - boolean
                - 'null'
            aiValidation:
              type: boolean
            aiValidationPrompt:
              type:
                - string
                - 'null'
          required:
            - key
            - description
            - disclaimers
            - aiValidation
        - allOf:
            - $ref: '#/components/schemas/SpotObjectActionAttributes'
          type: object
          properties:
            timestamps:
              type: array
              items:
                type: number
                minimum: 0
              minItems: 1
              description: >-
                Array of timestamps in milliseconds where objects appear in the
                video
          required:
            - timestamps
          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.
        - $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'
      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
            - 'null'
        processedAt:
          type:
            - string
            - 'null'
      required:
        - id
        - criteriaMet
        - output
        - status
        - participatedAt
      title: ActionParticipationStatus
      description: The status of an action participation.
    MultipleChoiceActionAttributes:
      type: object
      properties:
        key:
          type: string
          const: 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
        correctAnswers:
          type: array
          items:
            type: string
          description: >-
            The correct answers for this question. This must match the ids of
            the options array.
      required:
        - key
        - question
        - options
        - minimumNumberOfAnswersRequired
        - maximumNumberOfAnswersAllowed
        - correctAnswers
      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
          const: 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
          const: 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
            - 'null'
      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
          const: 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?'
        singleUse:
          type: boolean
          description: >-
            If true, a secret access code can only be used once from the options
            array
        validation:
          type: string
          enum:
            - pre-defined-options
            - regex
          description: The validation type for the secret access code question
        regex:
          type:
            - string
            - 'null'
          description: >-
            Must be supplied if validation is Regex. Will used to validate the
            secret access code ie '^[A-Z0-9]{6}$' which is a 6 character
            uppercase alphanumeric code
        options:
          type:
            - array
            - 'null'
          items:
            type: string
          description: >-
            Must be supplied if validation is PreDefinedOptions. This is an
            array of unique secret access codes that can be used to answer the
            question
      required:
        - key
        - question
        - singleUse
        - validation
      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
          const: 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
            - 'null'
          description: The number of selections required
        correctAnswers:
          type:
            - array
            - 'null'
          items:
            type: string
          description: The correct answers to the question. This is an array of image ids
      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
          const: 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
          const: 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?'
        correctAnswers:
          type: array
          items:
            type: string
          minItems: 2
          description: >-
            The possible correct answers to the question. This is an array of
            strings and must contain at least 2 answers ie ['Paris', 'paris',
            'London', 'london']
      required:
        - key
        - question
        - correctAnswers
      description: A question with a single fixed answer
      x-action-category: Question
      title: Single Fixed Answer Question
    VoteActionAttributes:
      type: object
      properties:
        key:
          type: string
          const: 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
          const: 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
          const: 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
            - 'null'
          description: Optional unit for the values (e.g., '£', '%')
        unitPlacement:
          type:
            - string
            - 'null'
          enum:
            - before
            - after
          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
          const: interaction-external-link
        externalLinkSiteName:
          type: string
          minLength: 1
        externalLinkSource:
          type: string
        externalLinkUrl:
          type: string
          minLength: 1
        opensInNewTab:
          type: boolean
        showMetadata:
          type:
            - boolean
            - 'null'
          description: >-
            Whether to show metadata on the external link. Including the title,
            description, and image.
        validateWithEvent:
          type:
            - boolean
            - 'null'
        event:
          oneOf:
            - $ref: '#/components/schemas/ExternalLinkActionEvent'
            - type: 'null'
      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
          const: 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>
    ImageUploadDisclaimer:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
      required:
        - id
        - label
      title: ImageUploadDisclaimer
      description: An image upload disclaimer
    SpotObjectActionAttributes:
      type: object
      properties:
        key:
          type: string
          const: 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
          const: 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
          const: image-analysis-receipt-detection
        description:
          type: string
          minLength: 1
        minimumAmount:
          type: number
        items:
          type:
            - array
            - 'null'
          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
          const: 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
          const: 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
          const: 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
          const: instagram-follow
        title:
          type: string
          minLength: 1
        businessAccountUsername:
          type: string
          minLength: 1
        businessAccountId:
          type:
            - string
            - 'null'
          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
          const: 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
          const: instagram-comment
        title:
          type: string
          minLength: 1
        postId:
          type: string
          minLength: 1
        numberOfMentions:
          type:
            - number
            - 'null'
      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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
        code:
          type: string
          minLength: 1
          description: The original, unminified code for development and debugging
        images:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                minLength: 1
                description: The image identifier/key
              value:
                type: string
                minLength: 1
                description: The image URL or base64 data
            required:
              - key
              - value
          description: Array of images used within the generative action
        texts:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                minLength: 1
                description: The text identifier/key
              value:
                type: string
                minLength: 1
                description: The text content value
            required:
              - key
              - value
          description: >-
            Array of text content used in the code that can be dynamically
            replaced
        variables:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                minLength: 1
                description: The variable identifier/key
              value:
                type: string
                minLength: 1
                description: The variable value
            required:
              - key
              - value
          description: >-
            Array of variables used within the generative action for dynamic
            configuration
        validationFunction:
          type: string
          description: >-
            Custom validation function logic for the action when validation is
            not handled in the code itself
        aiValidationPrompt:
          type: string
          description: AI prompt for validating the action results or user input
      required:
        - key
        - title
        - minifiedCode
        - code
        - images
        - texts
        - variables
      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
          const: 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
          const: 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
          const: 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
            - 'null'
          pattern: ^[0-9a-fA-F]{24}$
          description: Source ID to a specific event source
        eventName:
          type:
            - string
            - 'null'
          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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
            - 'null'
          pattern: ^[0-9a-fA-F]{24}$
          description: The source ID of the event.
        eventName:
          type:
            - string
            - 'null'
          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.
    ExternalLinkActionOutput:
      type: object
      properties:
        key:
          type: string
          const: interaction-external-link
        eventId:
          type:
            - string
            - 'null'
      required:
        - key
      x-action-category: Interaction
      title: ExternalLinkActionOutput
      description: The output of an external link action.
    EngageWithContentActionOutput:
      type: object
      properties:
        key:
          type: string
          const: 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
          const: interaction-image-upload
        wasBypassed:
          type: boolean
        confidenceScore:
          type:
            - number
            - 'null'
      required:
        - key
        - wasBypassed
      x-action-category: Interaction
      title: ImageUploadActionOutput
      description: The output of an image upload action.
    SpotObjectActionOutput:
      type: object
      properties:
        key:
          type: string
          const: interaction-spot-object
      required:
        - key
      x-action-category: Interaction
      title: SpotObjectActionOutput
      description: The output of a spot object interaction action.
    OpenEndedActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-open-ended
      required:
        - key
      x-action-category: Question
      title: OpenEndedActionOutput
      description: The output of an open ended question action.
    MultipleChoiceActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-multiple-choice
      required:
        - key
      x-action-category: Question
      title: MultipleChoiceActionOutput
      description: The output of a multiple choice question action.
    SingleFixedAnswerActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-closed-ended
      required:
        - key
      x-action-category: Question
      title: SingleFixedAnswerActionOutput
      description: The output of a single fixed answer question action.
    SelectFromImagesActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-select-from-images
      required:
        - key
      x-action-category: Question
      title: SelectFromImagesActionOutput
      description: The output of a select from images question action.
    RateYourExperienceActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-rate-your-experience
      required:
        - key
      x-action-category: Question
      title: RateYourExperienceActionOutput
      description: The output of a rate your experience question action.
    SelectFromListActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-select-from-list
      required:
        - key
      x-action-category: Question
      title: SelectFromListActionOutput
      description: The output of a select from list question action.
    SecretAccessCodeActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-secret-access-code
      required:
        - key
      x-action-category: Question
      title: SecretAccessCodeActionOutput
      description: The output of a secret access code question action.
    VoteActionOutput:
      type: object
      properties:
        key:
          type: string
          const: 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
          const: question-select-date
      required:
        - key
      x-action-category: Question
      title: SelectADateActionOutput
      description: The output of a select a date question action.
    SelectValueInRangeActionOutput:
      type: object
      properties:
        key:
          type: string
          const: question-select-value-in-range
      required:
        - key
      x-action-category: Question
      title: SelectValueInRangeActionOutput
      description: The output of a select value in range question action.
    ObjectDetectionActionOutput:
      type: object
      properties:
        key:
          type: string
          const: image-analysis-object-detection
      required:
        - key
      x-action-category: ImageAnalysis
      title: ObjectDetectionActionOutput
      description: The output of an object detection action.
    ReceiptDetectionActionOutput:
      type: object
      properties:
        key:
          type: string
          const: image-analysis-receipt-detection
      required:
        - key
      x-action-category: ImageAnalysis
      title: ReceiptDetectionActionOutput
      description: The output of a receipt detection action.
    FacebookCommentActionOutput:
      type: object
      properties:
        key:
          type: string
          const: 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
          const: 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
          const: 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
          const: instagram-follow
      required:
        - key
      x-action-category: Instagram
      title: InstagramFollowActionOutput
      description: The output of a instagram follow action.
    InstagramLikeActionOutput:
      type: object
      properties:
        key:
          type: string
          const: instagram-like
      required:
        - key
      x-action-category: Instagram
      title: InstagramLikeActionOutput
      description: The output of a instagram like action.
    InstagramCommentActionOutput:
      type: object
      properties:
        key:
          type: string
          const: instagram-comment
      required:
        - key
      x-action-category: Instagram
      title: InstagramCommentActionOutput
      description: The output of a instagram comment action.
    InstagramShareActionOutput:
      type: object
      properties:
        key:
          type: string
          const: instagram-share
      required:
        - key
      x-action-category: Instagram
      title: InstagramShareActionOutput
      description: The output of a instagram share action.
    InstagramPostActionOutput:
      type: object
      properties:
        key:
          type: string
          const: instagram-post
      required:
        - key
      x-action-category: Instagram
      title: InstagramPostActionOutput
      description: The output of a instagram post action.
    CommentOnPostActionOutput:
      type: object
      properties:
        key:
          type: string
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
          const: platform-validate-event
        eventId:
          type:
            - string
            - 'null'
          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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
          const: 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
          const: youtube-comment
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
      required:
        - key
        - wasBypassed
      title: YoutubeCommentActionOutput
      description: A youtube comment action output
    YoutubeSubscribeActionOutput:
      type: object
      properties:
        key:
          type: string
          const: youtube-subscribe
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
      required:
        - key
        - wasBypassed
      title: YoutubeSubscribeActionOutput
      description: A youtube subscribe action output
    YoutubeLikeActionOutput:
      type: object
      properties:
        key:
          type: string
          const: youtube-like
        wasBypassed:
          type: boolean
          description: Indicates whether the validation was bypassed
      required:
        - key
        - wasBypassed
      title: YoutubeLikeActionOutput
      description: A youtube like action output
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: x-api-token

````