Mavrck Notifications API
The Notifications API from Mavrck — 4 operation(s) for notifications.
The Notifications API from Mavrck — 4 operation(s) for notifications.
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 Notifications API
servers:
- url: http://app.splashscore.com/v1
- url: https://app.splashscore.com/v1
security:
- apiKey: []
tags:
- name: Notifications
paths:
/scheduled-notifications:
get:
x-handler: /influencer_notifications/schedule_notification_controller.js
operationId: getScheduledNotifications
summary: Retrieve all scheduled notifications in a list format.
x-access:
- administrator
parameters:
- name: notificationDefinitionKeys
in: query
description: Select only scheduled notifications associated with these specified notification definition keys.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- $ref: '#/components/parameters/orderByParam'
- name: sent
in: query
schema:
type: boolean
- name: beforeSendTime
in: query
description: Select only notifications scheduled to be sent prior to this date-time.
schema:
type: string
format: date-time
responses:
'200':
description: An array of scheduled notifications
content:
application/json:
schema:
type: object
properties:
meta:
$ref: '#/components/schemas/ResponseMetadata'
data:
items:
$ref: '#/components/schemas/ScheduledNotification'
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'
'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'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- Notifications
post:
x-handler: influencer_notifications/schedule_notification_controller.js
operationId: createScheduledNotification
summary: Create a scheduled notification
x-access:
- administrator
responses:
'200':
description: URI for scheduled notification
content:
application/json:
schema:
type: object
properties:
id:
type: integer
'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'
'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:
- Notifications
requestBody:
content:
application/json:
schema:
type: object
required:
- notificationDefinitionKey
- sendTime
properties:
resourceId:
description: Identifier of the resource contexual to the the notification (e.g. ActionGroup id)
type: integer
sendTime:
type: string
format: date-time
description: time to send notification
notificationDefinitionKey:
description: notification definition key
type: string
required: true
/scheduled-notifications/{id}:
get:
x-handler: influencer_notifications/schedule_notification_controller.js
operationId: getScheduledNotification
summary: Retrieve a single scheduled notification.
x-access:
- administrator
tags:
- Notifications
parameters:
- name: id
in: path
required: true
schema:
type: integer
responses:
'200':
description: A scheduled notification.
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduledNotification'
'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: Scheduled notification not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
put:
x-handler: influencer_notifications/schedule_notification_controller.js
operationId: updateScheduledNotification
summary: Update a scheduled notification. Notifications that have already been sent cannot be updated.
x-access:
- administrator
parameters:
- name: id
in: path
description: Id of scheduled notification
required: true
schema:
type: integer
responses:
'200':
description: Empty object
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: Scheduled notification not found.
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:
- Notifications
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduledNotification'
required: true
delete:
x-handler: influencer_notifications/schedule_notification_controller.js
operationId: deleteScheduledNotification
summary: Delete the specified scheduled notification. Notifications that have already been sent cannot be deleted.
x-access:
- administrator
parameters:
- name: id
in: path
description: Id of scheduled notification
required: true
schema:
type: integer
responses:
'200':
description: Empty object.
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: Scheduled notification 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:
- Notifications
/scheduled-notifications/{id}/approval:
put:
x-handler: influencer_notifications/schedule_notification_approval_controller.js
operationId: approveScheduledNotification
summary: Approve a scheduled notification to be sent.
x-access:
- administrator
parameters:
- name: id
in: path
description: Id of scheduled notification
required: true
schema:
type: integer
responses:
'200':
description: Empty object
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: Scheduled notification 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:
- Notifications
/scheduled-notifications/{id}/unapproval:
put:
x-handler: influencer_notifications/schedule_notification_unapproval_controller.js
operationId: unapproveScheduledNotification
summary: Unapprove a scheduled notification to not be sent.
x-access:
- administrator
parameters:
- name: id
in: path
description: Id of scheduled notification
required: true
schema:
type: integer
responses:
'200':
description: Empty object
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: Scheduled notification 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:
- Notifications
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.
ResponseMetadata:
properties:
limit:
type: number
format: double
offset:
type: number
format: double
status:
type: string
enum:
- failure
- success
totalCount:
type: number
format: double
type: object
additionalProperties: false
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'
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
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'
LinksDeprecated:
type: object
x-access:
- anonymous
- influencer
properties:
normal:
type: string
description: A normal link to an entity.
deep:
type: string
description: A deep link to the entity.
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
l
# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mavrck/refs/heads/main/openapi/mavrck-notifications-api-openapi.yml