Mavrck Actions API

The Actions API from Mavrck — 5 operation(s) for actions.

OpenAPI Specification

mavrck-actions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.0.0
  description: Identify your most influential customers and activate them to drive more conversions on social.
  title: MAVRCK.IO Actions API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: Actions
paths:
  /action-groups/{actionGroupId}/actions:
    post:
      tags:
      - Actions
      x-handler: actions/action_controller.js
      x-access:
      - administrator
      summary: Create an action.
      operationId: createAction
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Action URI.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionURI'
        '400':
          description: Invalid input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Action group not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionDeprecated'
        required: true
  /action/{id}:
    get:
      x-handler: actions/action_controller.js
      x-access:
      - administrator
      - root
      - influencer
      summary: Retrieve an individual action.
      operationId: getActionById
      parameters:
      - name: id
        in: path
        description: ID of the action.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: An individual action
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionDeprecated'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Action not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Actions
    put:
      x-handler: actions/action_controller.js
      x-access:
      - administrator
      summary: Update an action.
      operationId: update
      parameters:
      - name: id
        in: path
        description: ID of action
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Empty object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Action not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionDeprecated'
    delete:
      x-handler: actions/action_controller.js
      x-access:
      - administrator
      operationId: delete
      summary: Delete an action.
      parameters:
      - name: id
        in: path
        description: ID of action
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Empty object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Action not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Actions
  /action-groups/{actionGroupId}/referral-actions:
    put:
      tags:
      - Actions
      operationId: updateReferralAction
      x-handler: actions/referral_action_controller.js
      x-access:
      - administrator
      summary: Create a Referral Action for an existing Activity.
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/ReferralActionData'
      responses:
        '200':
          description: Referral Action updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Access forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Message not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      tags:
      - Actions
      operationId: createReferralAction
      x-handler: actions/referral_action_controller.js
      x-access:
      - administrator
      summary: Create a Referral Action for an existing Activity.
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/ReferralActionData'
      responses:
        '200':
          description: Referral Action created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionDeprecated'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Access forbidden.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Message not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /v1/action-groups/{actionGroupId}/template-update-cta:
    post:
      operationId: hideTemplateUpdateCTA
      responses:
        '200':
          description: Template update CTA disabled
        '400':
          description: Invalid parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Action group not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Actions
      parameters:
      - in: path
        name: actionGroupId
        required: true
        schema:
          type: number
          format: double
  /v1/action-teasers/{id}:
    get:
      operationId: getActionTeaserById
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetActionTeaserResponse'
        '400':
          description: Invalid Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Action not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Actions
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
components:
  schemas:
    Error:
      type: object
      properties:
        type:
          type: string
          description: A key representing the type of error that has occurred.
        error:
          type: string
          description: A static description of the type of error.
        params:
          type: array
          description: For errors invovling parameters, this is an array containing the invalid parameters.
          items:
            type: string
        keys:
          type: array
          items:
            type:
            - string
            - object
        artifactLinks:
          $ref: '#/components/schemas/LinksDeprecated'
        parent:
          type: object
          properties:
            type:
              type: string
              description: A key representing the type of error generated by a request to an external API.
            error:
              type: string
              description: A static description of the parent error.
    BonusTier:
      description: 'Swagger 2 representation of a tiered bonus entry.


        `upperBound` is required for `BOUNDED` tiers and must be omitted for

        `OPEN_ENDED` tiers. The bonus-tier validator enforces that conditional rule.


        Validation rules:

        - `bonusTiers` may contain at most 5 tiers.

        - Tiers must be sorted by `lowerBound`.

        - Adjacent tiers must be contiguous.

        - The final tier must be `OPEN_ENDED`.

        - `bonusTierCurrencyCode` is required when `bonusTiers` is non-empty.'
      properties:
        type:
          type: string
          enum:
          - BOUNDED
          - OPEN_ENDED
        lowerBound:
          type: number
          format: double
          description: Inclusive lower conversion/order bound for this payout tier. Must be non-negative.
        upperBound:
          type: number
          format: double
          description: Exclusive upper conversion/order bound for a `BOUNDED` tier.
        bonusAmount:
          type: number
          format: double
          description: Bonus payout amount in `bonusTierCurrencyCode`. Must be positive.
      required:
      - type
      - lowerBound
      - bonusAmount
      type: object
      additionalProperties: false
    WorkflowStatusRequirementDeprecated:
      type: object
      properties:
        satisfied:
          type: boolean
        incentiveId:
          type: number
        name:
          type: string
    QuestionDeprecated:
      type: object
      properties:
        id:
          type: integer
          description: The question ID
        key:
          type: string
          description: Unique key of the question
        type:
          type: string
          description: Indicates the HTML tag that is used to dynamically render this question.
        className:
          type: string
          description: Additional classes for fields styling and formatting.
        questionText:
          type: string
          description: The text of the question
        markUpQuestionText:
          type: string
          description: The text of the question with HTML markup
        questionResponses:
          x-access:
          - root
          - administrator
          type: array
          items:
            type: object
        maxResponses:
          type: integer
          description: Maximum length of responses allowed for this question.
        hasResponses:
          x-access:
          - root
          - administrator
          type: boolean
        templateOptions:
          type: object
          properties:
            type:
              type: string
              description: Indicates the data type to be submitted for this question in the form response.
            label:
              type: string
              description: Human-readable label for the question.
            placeholder:
              type: string
              description: Placeholder text to be display in the input field.
            maxUploads:
              type: integer
              description: Maximum uploads for file upload questions
            accept:
              type: string
              description: The accepted file extension types for file upload questions
            required:
              type: boolean
              description: Required value for the question
            min:
              type: integer
              description: Minimum number allowed for a number type
            max:
              type: integer
              description: Maximum number allowed for a number type
            minlength:
              type: integer
              description: Minimum length of string allowed for a text type
            maxlength:
              type: integer
              description: Maximum length of string allowed for a text type
            options:
              type: array
              description: Array of possible options for a radio type
              items:
                type: object
                properties:
                  name:
                    type: string
                    description: Text to show for option
                  value:
                    type: string
                    description: Key for option
        dataPointDefinitionId:
          type: integer
          description: Use a data point definition to create a question.
          x-access:
          - administrator
          - root
        dataPointDefinition:
          $ref: '#/components/schemas/DataPointDefinitionDeprecated'
        required:
          type: boolean
        order:
          type: integer
        hideFromInfluencers:
          type: boolean
    RoutingDeprecated:
      type: object
      description: Routing configuration.
      properties:
        success:
          $ref: '#/components/schemas/RoutingOptionsDeprecated'
        not_eligible:
          $ref: '#/components/schemas/RoutingOptionsDeprecated'
    AudienceDeprecated:
      type: object
      x-access:
      - root
      - administrator
      properties:
        id:
          type: integer
          description: Unique identifier representing a single audience.
        name:
          type: string
          description: Human-readable description of the audience displayed to administrators.
        criteria:
          type: array
          items:
            $ref: '#/components/schemas/InfluencerDataPointCriteriaDeprecated'
    RoutingOptions:
      properties:
        cta:
          type: string
        mode:
          type: string
        redirect_url:
          type: string
      type: object
      additionalProperties: false
    NetworkSlug:
      type: string
      enum:
      - blog
      - facebook
      - facebook_group
      - facebook_live
      - facebook_reel
      - image
      - instagram
      - instagram_reel
      - instagram_story
      - linkedin
      - pinterest
      - snapchat_story
      - tiktok
      - twitch_stream
      - twitter
      - video
      - youtube_video
      - youtube_shorts
    BazaarVoiceAppProductDeprecated:
      type: object
      properties:
        reviewProductId:
          type: integer
          description: Product id assigned by Mavrck
        externalBazaarProductId:
          type: string
          description: Product id assigned by BazaarVoice
    NotFoundError:
      properties:
        message:
          type: string
          enum:
          - Resource Not Found
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    DataPointDefinitionDeprecated:
      type: object
      required:
      - name
      - multi
      - customSet
      - type
      properties:
        id:
          type: integer
          description: Unique identifier for the data point.
        key:
          type: string
          description: Key for the datapoint
        name:
          type: string
          description: Display name for the data point.
        description:
          type: string
          description: The description of the datapoint definition
          x-access:
          - root
          - administrator
        multi:
          type: boolean
          description: Boolean indicating whether multiple responses are allowed.
        customSet:
          type: boolean
          description: Boolean indicating whether there is a custom set of responses, otherwise it is free-form.
        type:
          type: string
          description: Type of the data point, e.g. string, integer_range.
        markUpDescription:
          type: string
          description: The markup display description for the data point.
        communityId:
          type: integer
          description: The communityId to which this data point definition belongs.
          x-access:
          - root
        createdAt:
          type: string
          format: date-time
          description: Date time data point created.
          x-access:
          - root
          - administrator
        updatedAt:
          type: string
          format: date-time
          description: Date time data point updated.
          x-access:
          - root
          - administrator
        mergeTag:
          type: boolean
          description: 1 if the data point should be included as a merge tag, 0 otherwise
        archived:
          type: boolean
          description: 1 if the data point is archived, 0 if it is not
        setElements:
          $ref: '#/components/schemas/DataPointDefinitionSetElementDeprecated'
        membersCompleted:
          type: integer
          description: The count of members who have completed this data point.
          x-access:
          - administrator
        actionGroups:
          type: array
          description: An array of live action groups that this datapoint is a part of
          x-access:
          - administrator
          items:
            type: object
            properties:
              id:
                type: integer
              title:
                type: string
    DataPointDefinitionSetElementDeprecated:
      type: array
      items:
        type: object
        properties:
          id:
            type: integer
            description: Unique identifier for the data point set element.
          key:
            type: string
          displayLabel:
            type: string
          markUpDisplayLabel:
            type: string
    ProductDeprecated:
      type: object
      properties:
        id:
          type: integer
          description: id of the product
        title:
          type: string
          description: title of the product
        description:
          type: string
          description: Description of product
        image:
          type: string
          description: product image url
        communityId:
          type: string
          description: instance to which this product belongs
        bazaarVoiceAppProduct:
          $ref: '#/components/schemas/BazaarVoiceAppProductDeprecated'
        powerReviewsPage:
          $ref: '#/components/schemas/PowerReviewsPageDeprecated'
        yotpoAppProduct:
          $ref: '#/components/schemas/YotpoAppProductDeprecated'
    PendingActivationURI:
      type: object
      properties:
        id:
          type: integer
    ActivationURI:
      type: object
      required:
      - id
      properties:
        id:
          type: integer
          description: Unique identifier representing the activation.
        incentive:
          $ref: '#/components/schemas/IncentiveDeprecated'
        points:
          type: number
          description: The number of points earned after activating.
    NetworkName:
      type: string
      enum:
      - Blog
      - Facebook
      - Facebook Group
      - Facebook Live
      - Facebook Reel
      - Image
      - Instagram
      - Instagram Reel
      - Instagram Story
      - LinkedIn
      - Pinterest
      - Snapchat Story
      - TikTok
      - Twitch Stream
      - Twitter
      - Video
      - YouTube Video
      - YouTube Shorts
    PowerReviewsPageDeprecated:
      type: object
      properties:
        id:
          type: integer
          description: id of the product
        reviewProductId:
          type: integer
          description: the power reviews id
        powerReviewsAppId:
          type: string
          description: the product id
        externalPageId:
          type: string
          description: product image url
        PowerReviewsApp:
          type: object
          items:
            $ref: '#/components/schemas/PowerReviewsAppDeprecated'
    ForbiddenError:
      properties:
        message:
          type: string
          enum:
          - Access Forbidden
        details:
          properties: {}
          additionalProperties:
            additionalProperties: true
          type: object
      required:
      - message
      - details
      type: object
      additionalProperties: false
    ActionDeprecated:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier representing a single action.
        type:
          type: string
          description: A key to specify the type of action.
        title:
          type: string
          description: A concise call to action, grabbing the influencer's attention.
        label:
          type: string
          description: Internal label for action.
        description:
          type: string
          description: An elaboration on the title.
        image:
          type: string
          description: An image to associate with the action.
        instructions:
          type: string
          description: Instructions on how to complete the action
        linkReference:
          type: string
          description: Reference to Link
        actionGroupId:
          type: integer
          x-access:
          - administrator
          - root
          - influencer
          description: ID of the parent action group.
        actionGroupType:
          type: string
          x-access:
          - administrator
          - root
          description: Type of the parent action group.
        actionGroupTitle:
          type: string
        brandSuitabilityGuidelines:
          type:
          - 'null'
          - string
          description: Optional guidelines from the parent action group to customize the brand suitability review for this action's campaign.
        ActionGroup:
          type: object
          properties:
            id:
              type: integer
              description: Unique identifier representing a single action group.
            communityId:
              type: string
            communityName:
              type: string
            communityImage:
              type: string
            type:
              type: string
            mainType:
              type: string
              description: First action in the group type
            name:
              type: string
              description: Human-readable description of the action group displayed for administrators.
              x-access:
              - root
              - administrator
            title:
              type: string
            description:
              type: string
            image:
              type: string
            contentType:
              type: string
              description: For content action groups, this provides the type of content, which either matches og:image or is derived from internal heuristics.
            url:
              type: string
              description: For content action groups, this contains the url input upon creation.
            status:
              type: string
              description: The state of the action group. One of the set {"LIVE", "PAUSED", "PENDING", "EXPIRED"}.
              x-access:
              - root
              - administrator
            startDate:
              format: date-time
              type: string
              description: The scheduled time in which the action group will become available to influencers.
            endDate:
              format: date-time
              type:
              - 'null'
              - string
              description: The scheduled time in which the action group will no longer be available to influencers.
            createdAt:
              format: date-time
              type:
              - 'null'
              - string
            notInCommunity:
              type: boolean
              x-access:
              - root
              - administrator
              description: Filter this action group if the client specifies channel=community.
            isAutoCreated:
              type: boolean
            isPrimaryReferralActivity:
              type: boolean
            multipleActivations:
              type: boolean
              description: Indicates whether this action group can be completed multiple times. Only available for photoChallenge.
            campaign:
              type: object
              x-access:
              - root
              - administrator
              properties:
                id:
                  type: integer
                  description: Unique identifier representing a single campaign.
                name:
                  type: string
                  description: Name of campaign.
                description:
                  type: string
                  description: Name of campaign.
                brand:
                  $ref: '#/components/schemas/BrandDeprecated'
                hasActivations:
                  type: boolean
                  description: Flag that indicates whether this campaign is associated with any activations.
                createdAt:
                  format: date-time
                  type: string
                  description: The date and time that the campaign was created.
            audience:
              $ref: '#/components/schemas/AudienceDeprecated'
            incentive:
              $ref: '#/components/schemas/IncentiveDeprecated'
            incentives:
              items:
                $ref: '#/components/schemas/IncentiveDeprecated'
              type: array
            points:
              type: object
              properties:
                min:
                  type: integer
                max:
                  type: integer
            hasScheduledNotifications:
              type: boolean
              description: Indicates whether the action group is tied to any scheduled notifications. The audience cannot be modified if this is the case.
            listId:
              type: integer
            listDeliverables:
              type: array
              items:
                $ref: '#/components/schemas/ListDeliverable'
            influencerReviewDeliverable:
              type: object
              properties:
                id:
                  type: integer
                count:
                  type: integer
                listId:
                  type: integer
            workflowStatuses:
              type: array
              items:
                $ref: '#/components/schemas/ListCustomStatusDeprecated'
            locale:
              type: string
              description: Formatted according to language codes (https://www.w3schools.com/tags/ref_language_codes.asp)
            activatedUsersMetrics:
              type: integer
            clicksMetrics:
              type: integer
            engagementsMetrics:
              type: integer
            impressionsMetrics:
              type: integer
            conversionsCountMetrics:
              type: integer
            conversionsValueMetrics:
              type: number
            posts:
              type: integer
            engagements:
              type: integer
            impressions:
              type: integer
            cpe:
              type: number
            cpp:
              type: number
            cpm:
              type: number
            cpa:
              type: number
            committedAmount:
              type: number
            paidAmount:
              type: number
            readyAmount:
              type: number
            cost:
              type: number
     

# --- truncated at 32 KB (61 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mavrck/refs/heads/main/openapi/mavrck-actions-api-openapi.yml