Mavrck Action Groups API

The ActionGroups API from Mavrck — 14 operation(s) for actiongroups.

OpenAPI Specification

mavrck-actiongroups-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 Action Groups API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: ActionGroups
paths:
  /action-groups/{id}/re-order-actions:
    put:
      tags:
      - ActionGroups
      x-handler: actions/action_group_controller.js
      x-access:
      - administrator
      summary: Create an action.
      operationId: reOrderActions
      description: Accepts an ordered list of action ids
      parameters:
      - name: id
        in: path
        description: ID of action group
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Empty object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '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:
              type: object
              properties:
                actionIds:
                  type: array
                  items:
                    type: string
  /action-groups/{id}:
    get:
      x-handler: actions/action_group_controller.js
      x-access:
      - administrator
      - anonymous
      - root
      - influencer
      - shared-cipher
      summary: Retrieve an individual action group.
      operationId: getActionGroupById
      x-sharedCipherParameters:
        actionGroupId: id
      parameters:
      - name: id
        in: path
        description: ID of action group
        required: true
        schema:
          type: integer
      - name: hasActivated
        in: query
        description: Whether to return already activated actions in the action group.
        schema:
          type: boolean
      - name: simple
        in: query
        description: If true, then do not include associated data.
        schema:
          type: boolean
      responses:
        '200':
          description: An individual action group
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionGroupDeprecated'
        '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 group 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:
      - ActionGroups
    put:
      x-handler: actions/action_group_controller.js
      x-access:
      - administrator
      - root
      summary: Update an action group.
      operationId: updateActionGroup
      parameters:
      - name: id
        in: path
        description: ID of action group
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Empty object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Bad request
          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: Resource non-existent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Resource conflict.
          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:
      - ActionGroups
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionGroupDeprecated'
    delete:
      x-handler: actions/action_group_controller.js
      x-access:
      - administrator
      - root
      tags:
      - ActionGroups
      summary: Delete an action group.
      operationId: destroyActionGroup
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Action group deleted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Validation error.
          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: Action group not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /action-groups/{id}/unarchive:
    post:
      x-handler: actions/action_group_controller.js
      summary: Unarchive/Restore an action group
      x-access:
      - administrator
      tags:
      - ActionGroups
      operationId: unarchive
      parameters:
      - name: id
        in: path
        description: ID of action group
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Unarchival successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Validation error.
          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 Group not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /action-groups:
    get:
      x-access:
      - administrator
      - influencer
      - mvk-s2s
      - root
      x-handler: actions/action_group_controller.js
      summary: Retrieve all action groups.
      operationId: getAllActionGroups
      responses:
        '200':
          description: An array of action groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ResponseMetadata'
                  data:
                    items:
                      $ref: '#/components/schemas/ActionGroupDeprecated'
                    type: array
                  pagination:
                    type: object
                    properties:
                      next:
                        type: string
        '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: Action group 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'
      parameters:
      - name: q
        in: query
        description: Search for action group title.
        schema:
          type: string
      - description: CSV of desired statuses (e.g. status=LIVE,PAUSED)
        name: status
        in: query
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: sortable
        in: query
        description: Whether an action group is available to be sorted.
        schema:
          type: boolean
      - name: campaignId
        in: query
        description: Campaign Id
        schema:
          type: integer
      - name: audienceId
        in: query
        description: Audience Id
        schema:
          type: integer
      - name: communityId
        in: query
        schema:
          type: string
      - name: type
        in: query
        schema:
          type: string
          enum:
          - create
          - amplify
          - survey
          - review
          - follow
          - view
          - other
      - name: hasActivated
        in: query
        description: Whether to return already activated actions in the action group.
        schema:
          type: boolean
      - name: eligibleToAddInfluencers
        in: query
        description: Whether to return only action groups that have an application.
        schema:
          type: boolean
      - name: actionsNotIncluded
        in: query
        description: Whether to return action groups without actions included.
        schema:
          type: boolean
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/channel'
      - $ref: '#/components/parameters/orderDirection'
      - name: orderProperty
        in: query
        schema:
          type: string
          enum:
          - draftDueDate
          - contentDueDate
          - startDate
          - endDate
          - createdAt
          - activatedUsersMetrics
          - engagementsMetrics
          - clicksMetrics
          - impressionsMetrics
          - conversionsCountMetrics
          - conversionsValueMetrics
      - name: includeExportData
        in: query
        description: Whether to return action groups with the incentives summary and all affiliate data included. Used for the export.
        schema:
          type: boolean
      - name: ids
        in: query
        description: A comma-separated list of action group ids.
        schema:
          type: array
          items:
            type: integer
      - name: simple
        in: query
        description: If set to true, this will only return action group attributes. Only usable by administrators and other mvk services.
        schema:
          type: boolean
      - name: communityIds
        in: query
        schema:
          type: array
          items:
            type: string
      tags:
      - ActionGroups
    post:
      x-handler: actions/action_group_controller.js
      x-access:
      - administrator
      summary: Create an action group.
      operationId: createActionGroup
      responses:
        '200':
          description: ActionGroup URI
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionGroupURI'
        '400':
          description: Bad request
          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: Either the campaign or audience was 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:
      - ActionGroups
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                campaignId:
                  type: integer
                audienceId:
                  type: integer
                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:
                  - string
                  - 'null'
                  description: The scheduled time in which the action group will no longer be available to influencers.
                image:
                  type: string
                  description: For non-custom action groups, this will set the image on its child actions.
                type:
                  type: string
                  default: custom
                url:
                  type: string
                  description: If type is content, then this is provided to generate the child actions.
                title:
                  type: string
                  description: When not auto-generated, this is provided as a title for the activity.
                name:
                  type: string
                  description: When not auto-generated, this is provided as a name (self-service use) for the activity.
                description:
                  type: string
                  description: When not auto-generated, this is provided as a description for the activity.
                network:
                  type: string
                  description: An optional network that can be specified for an activity such as photo challenge.
                multipleActivations:
                  type: boolean
                  description: Indicates whether this action group's performance action(s) can be completed multiple times. Only available for photoChallenge.
                list:
                  type: boolean
                  description: Indicates whether this action group has a custom list.
                ftcHashtag:
                  type: string
                  description: FTC hashtag for an action group (not required).
                requiredHashtag:
                  type: string
                  description: Required hashtag for an action group.
                internalDescription:
                  type: string
                  description: Action group level description, internal to brand.
                activityBudget:
                  type: number
                  description: Budget for all actions in action group.
                numberOfInfluencers:
                  type: integer
                  description: Target number of influencers for all actions under an action group.
                contentDueDate:
                  type:
                  - string
                  - 'null'
                  description: Due date for content on an action group.
                draftDueDate:
                  type:
                  - string
                  - 'null'
                  description: Due date for drafts on an action group.
                globalUserListId:
                  type: integer
  /action-groups/{actionGroupId}/candidates/{globalUserId}/conversations:
    get:
      tags:
      - ActionGroups
      x-handler: action_group_candidates/candidate_conversation_controller.js
      x-access:
      - administrator
      operationId: getActionGroupCandidateConversations
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      - name: globalUserId
        in: path
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - $ref: '#/components/parameters/orderDirection'
      - name: orderProperty
        in: query
        schema:
          type: string
          enum:
          - mostRecentMessageCreatedAt
      - name: isArchived
        in: query
        schema:
          type: boolean
      - name: markedAsUnread
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: Collection of conversations.
          content:
            application/json:
              schema:
                type: object
                properties:
                  meta:
                    $ref: '#/components/schemas/ConversationResponseMetadata'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Conversation'
        '400':
          description: Invalid or missing 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: Action group or global user not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /account/action-groups/{id}/subscriber-settings:
    put:
      tags:
      - ActionGroups
      operationId: updateSubscriberSettingsForAccount
      x-handler: action_group_subscribers/account_action_group_subscribers_controller.js
      x-access:
      - administrator
      summary: Update subscriber settings for a campaign for an authenticated account.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Subscriber settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyObject'
        '400':
          description: Missing or 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: 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:
              type: object
              properties:
                subscribed:
                  type: boolean
        required: true
  /action-groups/{actionGroupId}/bulk-message:
    post:
      tags:
      - ActionGroups
      operationId: sendBulkMessageForActionGroup
      x-handler: actions/action_group_bulk_message_controller.js
      x-access:
      - administrator
      summary: Send a message to specified action group candidates.
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Message sent successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    $ref: '#/components/schemas/Message'
        '400':
          description: Invalid or missing 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: 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:
              type: object
              properties:
                globalUserIds:
                  type: array
                  items:
                    type: integer
                subject:
                  type: string
                html:
                  type: string
                conversationTemplateId:
                  type: integer
                excludePastRecipients:
                  type: boolean
                addTalentManager:
                  type: boolean
                attachments:
                  type: array
                  items:
                    $ref: '#/components/schemas/Attachment'
                queryFilter:
                  $ref: '#/components/schemas/ActionGroupCandidateQueryFilter'
        required: true
  /action-groups/{actionGroupId}/list-members/{globalUserId}:
    post:
      tags:
      - ActionGroups
      operationId: sendMessageForActionGroup
      x-handler: actions/action_group_message_controller.js
      x-access:
      - administrator
      summary: Send a message to specified List Member.
      parameters:
      - name: actionGroupId
        in: path
        required: true
        schema:
          type: integer
      - name: globalUserId
        in: path
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/OutboundMessage'
      responses:
        '200':
          description: Message sent successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  conversationId:
                    type: integer
                  message:
                    $ref: '#/components/schemas/Message'
        '400':
          description: Invalid or missing 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: Action group not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /action-groups/{id}/setup-alerts:
    get:
      tags:
      - ActionGroups
      operationId: getSetupAlert
      summary: If necessary, return campaign setup alert to marketer.
      x-handler: actions/action_group_setup_alerts_controller.js
      x-access:
      - administrator
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: integer
      - name: alert
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: An alert.
          content:
            application/json:
              schema:
                properties:
                  alert:
                    type: string
        '400':
          description: Invalid or 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'
  /action-groups/{id}/workflow-status-summary:
    get:
      x-handler: workflow/workflow_status_buckets/workflow_status_buckets_controller.js
      summary: Retrieve a summary of list member counts through the workflow stages.
      x-access:
      - administrator
      operationId: getWorkflowStatusBuckets
      tags:
      - ActionGroups
      parameters:
      - name: id
        in: path
        description: ID of action group
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: A Summary of list members in the workflow of this campaign.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkflowStatusBuckets'
        '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 group 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'
  /v1/action-groups/{id}/subscriber-settings:
    get:
      operationId: getSubscriberSettings
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriberSettings'
        '400':
          description: Missing Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: The resource does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
      tags:
      - ActionGroups
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: number
          format: double
  /v1/action-groups/{id}/copies:
    post:
      operationId: copyActionGroup
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionGroupPostResponse'
        '400':
          description: Missing Parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidateErrorJSON'
        '403':
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: The resource does not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '500':
          description: Server Error
          cont

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