Mavrck Activations API

The Activations API from Mavrck — 12 operation(s) for activations.

OpenAPI Specification

mavrck-activations-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 Activations API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: Activations
paths:
  /action/{actionId}/activation:
    post:
      tags:
      - Activations
      x-handler: activations/action_activation_controller.js
      x-access:
      - influencer
      summary: Create an activation when an action is completed by a user.
      parameters:
      - name: actionId
        in: path
        required: true
        schema:
          type: string
      - name: productExperience
        in: query
        required: false
        description: Tag this activation with a key denoting the experience/channel in which the user created the activation.
        schema:
          type: string
      - name: utmSource
        in: query
        required: false
        schema:
          type: string
      - name: utmMedium
        in: query
        required: false
        schema:
          type: string
      - name: utmTerm
        in: query
        required: false
        schema:
          type: string
      - name: utmContent
        in: query
        required: false
        schema:
          type: string
      - name: utmCampaign
        in: query
        required: false
        schema:
          type: string
      - name: iovationIdentifier
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Activation URIs
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMetadata'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ActivationURI'
        '400':
          description: Action not completed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Action already completed by this influencer.
          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'
      requestBody:
        content:
          application/json:
            schema:
              type: object
  /action/{actionId}/activations:
    get:
      tags:
      - Activations
      operationId: getActionActivations
      x-handler: activations/action_activation_controller.js
      x-access:
      - administrator
      - root
      - influencer
      summary: Retrieve activations for an action.
      parameters:
      - $ref: '#/components/parameters/orderByParam'
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/approvalStatus'
      - name: actionId
        in: path
        required: true
        schema:
          type: string
      - name: minStars
        in: query
        required: false
        description: Filter on minimum stars.
        schema:
          type: integer
      - name: myActivations
        in: query
        description: As an influencer, select only my activations associated with the action.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Collection of activations.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMetadata'
                  data:
                    items:
                      $ref: '#/components/schemas/ActivationDeprecated'
                    type: array
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Session expired.
          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'
  /action-groups/{actionGroupId}/activations:
    get:
      tags:
      - Activations
      operationId: getActionGroupActivations
      x-handler: activations/action_group_activation_controller.js
      x-access:
      - administrator
      - influencer
      - shared-cipher
      x-sharedCipherParameters:
        actionGroupId: actionGroupId
      summary: Fetch all activations for an action group
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      - name: globalUserId
        in: query
        description: The global user Id to filter the results by.
        schema:
          type: integer
      - name: myActivations
        in: query
        description: Flag permitting the influencer to view unapproved and/or-only approved activations
        schema:
          type: boolean
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/postsWithUGC'
      - $ref: '#/components/parameters/networkParam'
      - $ref: '#/components/parameters/userFilter'
      - $ref: '#/components/parameters/orderDirection'
      - name: orderProperty
        in: query
        schema:
          type: string
          enum:
          - postDate
          - createdAt
          - engagements
          - estimatedImpressions
      - name: networks
        in: query
        description: Array of networks
        schema:
          type: array
          items:
            type: string
      - name: postDateAfter
        in: query
        description: The activation post date is >= this date
        schema:
          type: string
      - name: postDateBefore
        in: query
        description: The activation post date is <= this date
        schema:
          type: string
      - name: filterTagIds
        in: query
        description: Array of tag ids used for searching activations
        schema:
          type: array
          items:
            type: number
      - name: tagQuantifier
        in: query
        description: any or all option when searching for filterTagIds
        schema:
          type: string
      - name: shouldExportFilenames
        in: query
        description: Whether or not to export the filenames of the activations
        schema:
          type: boolean
      responses:
        '200':
          description: An array of activations.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMetadata'
                  data:
                    items:
                      $ref: '#/components/schemas/ActivationDeprecated'
                    type: array
        '400':
          description: Invalid/missing 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'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /activations:
    get:
      tags:
      - Activations
      operationId: getActivations
      x-handler: activations/activation_controller.js
      x-access:
      - influencer
      - administrator
      summary: Fetch all activations
      parameters:
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - name: orderProperty
        in: query
        schema:
          type: string
          enum:
          - postDate
          - createdAt
          - engagements
          - estimatedImpressions
      - $ref: '#/components/parameters/orderDirection'
      - $ref: '#/components/parameters/approvalStatus'
      - $ref: '#/components/parameters/postsWithUGC'
      - $ref: '#/components/parameters/networkParam'
      - $ref: '#/components/parameters/userFilter'
      - name: networks
        in: query
        description: Array of networks
        schema:
          type: array
          items:
            type: string
      - name: postDateAfter
        in: query
        description: The activation post date is >= this date
        schema:
          type: string
      - name: postDateBefore
        in: query
        description: The activation post date is <= this date
        schema:
          type: string
      - name: actionGroupId
        in: query
        description: Array of action group ids
        schema:
          type: array
          items:
            type: number
      - name: showcaseMode
        in: query
        description: It's showcase time!
        schema:
          type: boolean
      - name: globalUserId
        in: query
        description: The global user Id to filter the results by.
        schema:
          type: integer
      - name: filterTagIds
        in: query
        description: Array of tag ids used For searching activations
        schema:
          type: array
          items:
            type: number
      - name: tagQuantifier
        in: query
        description: any or all option when searching for filterTagIds
        schema:
          type: string
      - name: shouldExportFilenames
        in: query
        description: Whether or not to export the filenames of the activations
        schema:
          type: boolean
      responses:
        '200':
          description: An array of activations.
          content:
            application/json:
              schema:
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMetadata'
                  data:
                    items:
                      $ref: '#/components/schemas/ActivationDeprecated'
                    type: array
        '400':
          description: Invalid/missing 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'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      tags:
      - Activations
      operationId: createActivation
      x-access:
      - administrator
      x-handler: activations/activation_controller.js
      summary: Create an activation manually.
      responses:
        '200':
          description: Activation created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationDeprecated'
        '400':
          description: Invalid/missing 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: Member or action 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:
              type: object
              required:
              - globalUserId
              - actionId
              - instagramPostId
              properties:
                globalUserId:
                  type: integer
                actionId:
                  type: string
                instagramPostId:
                  type: string
                activation:
                  $ref: '#/components/schemas/ActivationDeprecated'
        required: true
    delete:
      tags:
      - Activations
      operationId: deleteAndExcludeActivation
      x-access:
      - administrator
      x-handler: activations/activation_controller.js
      summary: Delete this activation and exclude its content from being re-added to the action group
      parameters:
      - name: activationId
        in: query
        required: true
        schema:
          type: integer
      - name: markIncomplete
        in: query
        schema:
          type: boolean
      - name: trackingStatusId
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Activation deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Invalid/missing 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: Activation not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /activations/{id}/:
    put:
      tags:
      - Activations
      operationId: updateActivation
      x-handler: activations/activation_controller.js
      x-access:
      - administrator
      summary: Edit an activation.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/Activation'
      responses:
        '200':
          description: Activation edited successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationDeprecated'
        '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'
  /action-groups/{actionGroupId}/self-reported-activation-notifications:
    post:
      tags:
      - Activations
      operationId: selfReportActivationNotification
      x-handler: activations/self_reported_activations/self_reported_activation_notification_controller.js
      x-access:
      - influencer
      summary: "\n          Report information about an activation or content that could not be\n          programmatically activated directly to the marketer"
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Activation notification reported 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'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                activationId:
                  type: integer
                comment:
                  type: string
  /actions/{actionId}/manual-activations/{globalUserId}:
    post:
      tags:
      - Activations
      operationId: createManualActivation
      x-handler: activations/activation_manual_activate_controller.js
      x-access:
      - administrator
      summary: Create manual activation for action.
      parameters:
      - name: actionId
        in: path
        required: true
        schema:
          type: string
      - name: globalUserId
        in: path
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/Activation'
      responses:
        '200':
          description: Activation created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationDeprecated'
        '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/actions/{actionId}/self-reported-activations:
    post:
      operationId: selfReportActivation
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivationResponse'
        '400':
          description: Validation Failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Activations
      parameters:
      - in: path
        name: actionId
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LegacySelfReportedActivationBody'
  /v1/activations/{activationId}/approveApprovalStatus:
    put:
      operationId: approveApprovalStatus
      responses:
        '200':
          description: Activation successfully approved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Cannot Approve an Activation that's already Rejected, set to pending first.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Activation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Activations
      parameters:
      - in: path
        name: activationId
        required: true
        schema:
          type: number
          format: double
  /v1/activations/{activationId}/unrejectApprovalStatus:
    put:
      operationId: unrejectApprovalStatus
      responses:
        '200':
          description: Activation successfully set back to pending.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Cannot 'Unapprove' an Activation that's already approved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Activation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Activations
      parameters:
      - in: path
        name: activationId
        required: true
        schema:
          type: number
          format: double
  /v1/activations/{activationId}/rejectApprovalStatus:
    put:
      operationId: rejectApprovalStatus
      responses:
        '200':
          description: Activation successfully rejected.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TSOAEmptyObject'
        '400':
          description: Cannot reject an Activation that is approved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Activation not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Activations
      parameters:
      - in: path
        name: activationId
        required: true
        schema:
          type: number
          format: double
  /v1/activation/history:
    get:
      operationId: getActivationHistory
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBody_ActivationHistoryItem-Array_'
        '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'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - Activations
      parameters:
      - in: query
        name: limit
        required: false
        schema:
          type: number
          format: double
      - in: query
        name: offset
        required: false
        schema:
          type: number
          format: double
      - in: query
        name: campaignId
        required: false
        schema:
          type: string
      - in: query
        name: actionId
        required: false
        schema:
          type: string
      - in: query
        name: audienceId
        required: false
        schema:
          type: string
      - in: query
        name: actionTitle
        required: false
        schema:
          type: string
      - in: query
        name: actionTypes
        required: false
        schema:
          type: string
      - in: query
        name: type
        required: false
        schema:
          type: string
          enum:
          - create
          - amplify
          - survey
          - review
          - follow
          - view
          - other
components:
  schemas:
    Administrator:
      properties:
        id:
          type: number
          format: double
        email:
          type: string
        first_name:
          type: string
        last_name:
          type:
          - string
          - 'null'
        image:
          type:
          - string
          - 'null'
        approves:
          type: boolean
        createdAt:
          type: string
      type: object
      additionalProperties: false
    Question:
      properties:
        className:
          type: string
        dataPointDefinition:
          $ref: '#/components/schemas/DataPointDefinition'
        dataPointDefinitionId:
          type: number
          format: double
        hasResponses:
          type: boolean
        hideFromInfluencers:
          type: boolean
        id:
          type: number
          format: double
        key:
          type: string
        maxResponses:
          type: number
          format: double
        order:
          type: number
          format: double
        questionResponses:
          items:
            additionalProperties: false
            type: object
          type: array
        questionText:
          type: string
        markUpQuestionText:
          type: string
        properties:
          properties:
            type:
              type: string
            required:
              type: boolean
            placeholder:
              type: string
            options:
              items:
                properties:
                  value:
                    type: string
                  name:
                    type: string
                type: object
              type: array
            minlength:
              type: number
              format: double
            min:
              type: number
              format: double
            maxlength:
              type: number
              format: double
            maxUploads:
              type: number
              format: double
            max:
              type: number
              format: double
            label:
              type: string
            accept:
              type: string
          type: object
        required:
          type: boolean
        templateOptions:
          additionalProperties: false
          type: object
        type:
          type: string
      type: object
      additionalProperties: false
    NetworkAccountDeprecated:
      type: object
      properties:
        id:
          type: integer
        reach:
          type: integer
        averageEngagements:
          type: integer
        engagementRate:
          type: number
    YotpoAppProduct:
      properties:
        reviewProductId:
          type: number
          format: double
        youtpoProductId:
          type: string
      type: object
      additionalProperties: false
    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'
    ActivationHistoryItem:
      properties:
        surveyResponses:
          type: string
        profilePicture:
          type: string
        posts:
          type: number
          format: double
        networkEngagements:
          type: string
        network:
          type: string
        membershipType:
          type: string
        membershipStatus:
          type: string
        membershipId:
          type: number
          format: double
        globalUserId:
          type: number
          format: double
        joinDate:
          type: string
          format: date-time
        fullName:
          type: string
        conversionsValue:
          type: string
        conversions:
          type: string
        contactZip:
          type: string
        contactStreetLine2:
          type: string
        contactStreet:
          type: string
        contactState:
          type: string
        contactLastName:
          type: string
        contactFirstName:
          type: string
        contactPhone:
          type: string
        contactEmail:
          type: string
        contactCountry:
          type: string
        contactCity:
          type: string
        clicks:
          type: string
        completionDate:
          type: string
          format: date-time
        campaignName:
          type: string
        campaignId:
          type: number
          format: double
        audienceName:
          type: string
        audienceId:
          type: number
          format: double
        actionType:
          type: string
 

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