Default API Version

Version: 2018-09-03

/users/{externalId}/actions

POST

Summary:

Records that a user completed a task

Description:

Samples

Complete Content:

POST /users/4027029d-66ee-4275-95d2-f11360263888/actions
{
   "task": "complete-content",
   "contentId": "VDKA0_ajxgclqc"
}
        

Complete Promo:

POST /users/4027029d-66ee-4275-95d2-f11360263888/actions
{
   "task": "complete-promo",
   "promoId": "da1a28ac-14e2-421d-bdc2-f6f6642ba42b"
}
        

Connect MVPD Account:

POST /users/4027029d-66ee-4275-95d2-f11360263888/actions
{
   "task": "connect-mvpd-account",
   "mvpdName": "Spectrum"
}
        
        

Enter Code:

POST /users/4027029d-66ee-4275-95d2-f11360263888/actions
{
   "task": "enter-code",
   "code": "TROUBLE"
}
        

Sign Up:

POST /users/4027029d-66ee-4275-95d2-f11360263888/actions
{
   "task": "sign-up",
   "platform": "Web"
}
        

Start Content:

POST /users/4027029d-66ee-4275-95d2-f11360263888/actions
{
   "task": "start-content",
   "contentId": "VDKA0_ajxgclqc",
   "isWatchingNonstop": true
}
        

Watch 1 Minute Of Content:

POST /users/4027029d-66ee-4275-95d2-f11360263888/actions
{
   "task": "watch-1-minute-of-content",
   "contentId": "VDKA0_ajxgclqc",
   "isWatchingNonstop": true
}
Parameters
Name Located in Description Required Schema
externalId path The externalId of the user Yes string
model body Details about which task was completed No IPerformActionInput
Responses
Code Description Schema
200 Success ActionDto
400 Bad Request

/content/{contentId}

GET

Summary:

Returns information about the relevant piece of content

Parameters
Name Located in Description Required Schema
contentId path The identifier for the content Yes string
externalId query The externalId of the user interacting with the content No string
Responses
Code Description Schema
200 Success ContentDto
400 Bad Request

/users/{externalId}/history

GET

Summary:

Returns a user's history

Parameters
Name Located in Description Required Schema
externalId path The externalId of the user Yes string
timezoneOffset query The current timezone of the user as an integer as seconds from GMT (e.g. UTC-05:00 would be -18000) No integer
Responses
Code Description Schema
200 Success UserHistoryModel
400 Bad Request

/users/{externalId}/home

GET

Summary:

Returns the details for the Nonstop Home Earn page for a specific user

Parameters
Name Located in Description Required Schema
externalId path The externalId of the user viewing the page Yes string
Responses
Code Description Schema
200 Success EarnListModel
400 Bad Request

/users/{externalId}/howitworks

GET

Summary:

Returns the details for the Nonstop How It Works page for a specific user

Parameters
Name Located in Description Required Schema
externalId path The externalId of the user viewing the page Yes string
Responses
Code Description Schema
200 Success HowItWorksModel
400 Bad Request

/promotion

GET

Summary:

Gets information for use in the containing application for promoting the Nonstop feature

Parameters
Name Located in Description Required Schema
Responses
Code Description Schema
200 Success PromotionDto

/users/{externalId}/purchases

POST

Summary:

Records that a user purchased an item

Description:

POST /users/4027029d-66ee-4275-95d2-f11360263888/purchases { "contentId": "VDKA0_ajxgclqc", "price": 60 }

Parameters
Name Located in Description Required Schema
externalId path The externalId of the user Yes string
model body Details of the item to be purchased No PurchaseInput
Responses
Code Description Schema
200 Success PurchaseDto
400 Bad Request

/redeem/branding

GET

Summary:

Returns details for the branding of the Redeem Code screen

Parameters
Name Located in Description Required Schema
Responses
Code Description Schema
200 Success RedeemBranding

/users/{externalId}/report/{contentId}

GET

Summary:

Fetches the details for the report card for a specific piece of content for a specific user

Parameters
Name Located in Description Required Schema
externalId path The externalId of the user Yes string
contentId path The Id of the content the user has just finished watching Yes string
Responses
Code Description Schema
200 Success ReportDto
400 Bad Request

/rewards

GET

Summary:

Returns a description of all the reward animations currently available

Parameters
Name Located in Description Required Schema
Responses
Code Description Schema
200 Success [ RewardAnimationDto ]

/tasks/{taskName}

GET

Summary:

Returns the details on how many points completing a given task will lead to

Parameters
Name Located in Description Required Schema
taskName path The name of the task to be performed Yes string
Responses
Code Description Schema
200 Success TaskDto
404 Not Found

/users/{externalId}

GET

Summary:

Fetches the details for a specific user

Parameters
Name Located in Description Required Schema
externalId path The externalId of the user Yes string
Responses
Code Description Schema
200 Success NonstopUserDto
404 Not Found

/users

PUT

Summary:

Updates a user

Description:

Sample request:

PUT /users
{
   "externalId": "4027029d-66ee-4275-95d2-f11360263888",
   "firstName": "Dave",
   "email": "dave@stormideas.com",
   "birthday": "1988-01-19"
}
Parameters
Name Located in Description Required Schema
model body The new details of the user No NonstopUserInput
Responses
Code Description Schema
200 Success NonstopUserDto
404 Not Found

POST

Summary:

Creates a new user

Description:

Sample request:

POST /users
{
   "externalId": "4027029d-66ee-4275-95d2-f11360263888",
   "firstName": "Dave",
   "email": "dave@stormideas.com",
   "birthday": "1988-01-19"
}
Parameters
Name Located in Description Required Schema
model body Details about the new user to be created No NonstopUserInput
Responses
Code Description Schema
201 Success NonstopUserDto
400 Bad Request

Models

IPerformActionInput

Name Type Description Required
task string No
externalId string No

ActionDto

Name Type Description Required
user NonstopUserDto No
reward RewardDto No
hasExceededLimit boolean No
limitDescription string No

NonstopUserDto

Name Type Description Required
externalId string No
firstName string No
totalPoints integer No
totalPointsDisplay string No
activePurchases [ string ] No
isNew boolean No
swid string No

RewardDto

Name Type Description Required
pointsAwarded integer No
pointsAwardedDisplay string No
animationName string No
description string No

ContentDto

Name Type Description Required
isEligibleToEarn boolean No
isEligibleToBuy boolean No
isEligible boolean No
price integer No
priceDisplay string No
isAffordable boolean No
isPurchased boolean No
accessToken string No
contentTitle string No
episodeTitle string No
seasonNumber integer No
episodeNumber integer No
amplitudeEpisodeNumber string No
logoImageUrl string No
backgroundImageUrl string No
contentType string No

UserHistoryModel

Name Type Description Required
totalPointsSpent integer No
totalPointsSpentDisplay string No
totalPointsEarned integer No
totalPointsEarnedDisplay string No
history [ UserHistoryItem ] No
fullHistoryCtaFormat string No
fullHistoryUrlDisplay string No
totalPoints integer No
totalPointsDisplay string No
weeklySummary WeeklySummary No
user NonstopUserDto No
welcomeMessageFormat string No
pointsTotalFormat string No
learnMoreUrl string No
nonstopLogo string No

UserHistoryItem

Name Type Description Required
timestamp string No
date string No
time string No
title string No
transactionType string No
userAction string No
pointsChange integer No
pointsChangeDisplay string No
description string No
pointsAtThatMoment integer No
pointsAtThatMomentDisplay string No
task string No
rawDescription string No

WeeklySummary

Name Type Description Required
pointsThisWeek integer No
pointsThisWeekDisplay string No
motivationalMessage string No

EarnListModel

Name Type Description Required
rows [ EarnRow ] No
showCodeRedemption boolean No
otherWaysToEarn [ WayToEarnPoints ] No
description string No
backgroundImageUrl string No
totalPoints integer No
totalPointsDisplay string No
weeklySummary WeeklySummary No
user NonstopUserDto No
welcomeMessageFormat string No
pointsTotalFormat string No
learnMoreUrl string No
nonstopLogo string No

EarnRow

Name Type Description Required
id string (uuid) No
title string No
items [ EarnRowItem ] No

WayToEarnPoints

Name Type Description Required
id string (uuid) No
title string No
iconUrl string No
points integer No
pointsDisplay string No
description string No
learnMoreUrl string No

EarnRowItem

Name Type Description Required
id string (uuid) No
imageUrl string No
videoUrl string No
promoId string No
appDeepLink string No
webUrl string No
title string No
description string No
points integer No
alreadyViewed boolean No
alreadyViewedText string No
pointsDisplay string No
type string No

HowItWorksModel

Name Type Description Required
howItWorksUrl string No
title string No
earnPointsSummary EarnPointsSummary No
spendCostSummary SpendPointsCostSummary No
videoUrl string No
videoButtonIcon string No
videoButtonIconActive string No
videoButtonText string No
learnMoreCtaFormat string No
learnMoreUrlDisplay string No
totalPoints integer No
totalPointsDisplay string No
weeklySummary WeeklySummary No
user NonstopUserDto No
welcomeMessageFormat string No
pointsTotalFormat string No
learnMoreUrl string No
nonstopLogo string No

EarnPointsSummary

Name Type Description Required
title string No
description string No
timeSpan string No
timeSpanDescription string No
points string No

SpendPointsCostSummary

Name Type Description Required
title string No
description string No
legendTitle string No
halfHourEpisode integer No
halfHourEpisodeDescription string No
hourEpisode integer No
hourEpisodeDescription string No
movie integer No
movieDescription string No

PromotionDto

Name Type Description Required
learnMoreUrl string No
howItWorksVideoUrl string No
howItWorksVideoStreamingUrl string No
howItWorksVideoId string No
nonstopHomeUrl string No
nonstopHomeUrlDisplay string No
upNextImageUrl string No

PurchaseInput

Name Type Description Required
contentId string Yes
price integer Yes

PurchaseDto

Name Type Description Required
user NonstopUserDto No
contentId string No
pointsSpent integer No
pointsSpentDisplay string No
accessToken string No

RedeemBranding

Name Type Description Required
introText string No
textBoxTitle string No
placeholderText string No
footerTitle string No
footerDescription string No
nonstopLogo string No

ReportDto

Name Type Description Required
previousPoints integer No
previousPointsDisplay string No
newPoints integer No
newPointsDisplay string No
pointsEarned integer No
pointsEarnedDisplay string No
minutesWatched integer No
minutesWatchedDisplay string No
animationName string No
contentTitle string No
episodeTitle string No
seasonNumber integer No
episodeNumber integer No
amplitudeEpisodeNumber string No
logoImageUrl string No
backgroundImageUrl string No
contentType string No

RewardAnimationDto

Name Type Description Required
name string No
previewAnimationName string No
jsonDescription string No
textLayerPath string No
textColor ColorDto No
defaultFontSize integer No
defaultCharacterCount integer No
videoUrl string No
videoUrlFormat string No

ColorDto

Name Type Description Required
red integer No
green integer No
blue integer No

TaskDto

Name Type Description Required
pointsAvailable integer No
pointsAvailableDisplay string No
animationName string No

NonstopUserInput

Name Type Description Required
externalId string Yes
firstName string No
email string No
birthday dateTime No
swid string No

PerformCompleteContentActionInput

Name Type Description Required
contentId string No
task string No
externalId string No

PerformCompleteTrueXActionInput

Name Type Description Required
adId string No
task string No
externalId string No

PerformConnectMvpdAccountActionInput

Name Type Description Required
mvpdName string No
task string No
externalId string No

PerformEnterCodeActionInput

Name Type Description Required
code string No
task string No
externalId string No

PerformSignUpActionInput

Name Type Description Required
platform string No
task string No
externalId string No

PerformWatch1MinuteOfContentActionInput

Name Type Description Required
contentId string No
task string No
externalId string No
isWatchingNonstop boolean No

PerformStartContentActionInput

Name Type Description Required
task string No
externalId string No
contentId string No
isWatchingNonstop boolean No
In this document