Mavrck Actions API
The Actions API from Mavrck — 5 operation(s) for actions.
The Actions API from Mavrck — 5 operation(s) for actions.
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