Elements Manual
Elements 2 Manual
Elements 2 Manual
  • Welcome 👋
  • QUICK START
    • Elements in Five Minutes or Less
  • General
    • General Concepts
    • N-Tier Architecture
    • Security Model
  • SCRIPTING ENGINE
    • Scripting Engine Overview
      • Intro to Resources and Cloud Functions
      • Horizontal Scaling Model
      • Database Access
      • Server-to-Server API Calls
      • Deploy Cloud Functions via Git
      • Creating and Destroying Resources
      • Cross-Resource Invocation
      • Indexing Resources
      • Coroutines
      • Manifest
  • Core Features
    • Core API Overview
    • Sessions
    • Applications
      • Facebook Application Configuration
      • Firebase Application Configuration
      • Amazon GameOn Application Configuration
      • iOS Application Configuration
      • Android Application Configuration
      • Matchmaking Application Configuration [deprecated]
    • Users and Profiles
    • Digital Goods
    • Progress and Missions
    • Leaderboards
    • Matchmaking
    • Followers
    • Friends
    • Reward Issuance
    • Push Notifications
    • Auth Schemes
    • Save Data
    • Schemas and Metadata Specifications
    • Queries
      • Base Query Syntax
      • Boolean Queries
      • Object Graph Navigation
      • Advanced Operators
        • .ref
        • .name
  • Web 3
    • Omni Chain Support
    • Vaults
    • Wallets
    • Smart Contracts
      • Smart Contracts: Ethereum
      • Smart Contracts: Flow
      • Smart Contracts: Solana
      • Smart Contracts: Neo
    • Know Your Customer
      • Formidium
  • CONFIGURATION
    • Using the Web Console
    • iOS and Android Product Bundles
    • Direct Database Access and Batch Configuration
  • UNITY PLUG-INS
    • Unity Plugin
    • Content Delivery Management and Unity CDN Plugin
  • DEPLOYMENT
    • Deployment Overview
      • Docker Containers
      • AWS Deployment
      • Standalone docker-compose
  • LUA SAMPLES
    • lua Samples
      • main.lua
      • event.lua
      • hello_world.lua
      • model.lua
      • startup.lua
      • HTTP Manifest
        • Example endpoint handler
        • Example operations table
  • RESTful APIs
    • Swagger and Swagger UI
    • Elements 3.0.X (Preview)
      • Applications
      • Friends and Followers
      • Digital Goods and Inventory
      • Leaderboards
      • Missions and Rewards
      • User and Profiles
      • Save Data
      • Custom Metadata
Powered by GitBook
On this page
  1. RESTful APIs
  2. Elements 3.0.X (Preview)

Missions and Rewards

PreviousLeaderboardsNextUser and Profiles

Last updated 8 months ago

Retrieves a single Mission by id or by name

get

Looks up a mission by the passed in identifier

Authorizations
Path parameters
missionNameOrIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/mission/{missionNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Search Missions

get

Searches all missions in the system and returning a number of matches against the given search filter, delimited by the offset and count.

Authorizations
Query parameters
offsetanyOptionalDefault: 0
countanyOptionalDefault: 20
tagsanyOptional
searchanyOptional
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/mission HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Gets Rank Among all Players

get

Gets the current Profile's rank among all players for the particular leaderboard.

Authorizations
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
text/csv
get
GET /api/rest/progress HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Deletes the Progress identified by id

delete

Deletes a progress by the passed in identifier

Authorizations
Path parameters
progressIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
delete
DELETE /api/rest/progress/progress/{progressId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Retrieves a single Progress by id

get

Looks up a progress by the passed in identifier

Authorizations
Path parameters
progressIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/progress/{progressId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Retrieves a single RewardIssuance by id.

get
Authorizations
Path parameters
rewardIssuanceIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/reward_issuance/{rewardIssuanceId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Retrieves the current user's reward issuances, optionally filtered by the given state.

get
Authorizations
Query parameters
offsetanyOptionalDefault: 0
countanyOptionalDefault: 20
statesanyOptional
tagsanyOptional
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/reward_issuance HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Redeems the RewardIssuance.

put
Authorizations
Path parameters
rewardIssuanceIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
put
PUT /api/rest/reward_issuance/{rewardIssuanceId}/redeem HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Search ScheduleEvents

get

Searches all schedules in the system and returning a number of matches against the given search filter, delimited by the offset and count.

Authorizations
Path parameters
scheduleNameOrIdanyRequired
Query parameters
offsetanyOptionalDefault: 0
countanyOptionalDefault: 20
tagsanyOptional
searchanyOptional
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/schedule/{scheduleNameOrId}/event HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Retrieves a single ScheduleEvent by id or by name

get

Looks up a schedule by the passed in identifier

Authorizations
Path parameters
scheduleNameOrIdanyRequired
scheduleEventIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/schedule/{scheduleNameOrId}/event/{scheduleEventId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Deletes the ScheduleEvent identified by id or by name

delete

Deletes a schedule by the passed in identifier

Authorizations
Path parameters
scheduleNameOrIdanyRequired
scheduleEventIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
delete
DELETE /api/rest/schedule/{scheduleNameOrId}/event/{scheduleEventId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Gets all Progresses assigned via this schedule

get

Fetches all current assignments to the currently logged-in profile.

Authorizations
Path parameters
scheduleNameOrIdanyRequired
Query parameters
offsetanyOptionalDefault: 0
countanyOptionalDefault: 20
tagsanyOptional
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/schedule/{scheduleNameOrId}/progress HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Search Schedules

get

Searches all schedules in the system and returning a number of matches against the given search filter, delimited by the offset and count.

Authorizations
Query parameters
offsetanyOptionalDefault: 0
countanyOptionalDefault: 20
tagsanyOptional
searchanyOptional
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/schedule HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Retrieves a single Schedule by id or by name

get

Looks up a schedule by the passed in identifier

Authorizations
Path parameters
scheduleNameOrIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
get
GET /api/rest/schedule/{scheduleNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Deletes the Schedule identified by id or by name

delete

Deletes a schedule by the passed in identifier

Authorizations
Path parameters
scheduleNameOrIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
delete
DELETE /api/rest/schedule/{scheduleNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}
  • DELETEDeletes the Mission identified by id or by name
  • PUTUpdates an entire single Mission
  • GETRetrieves a single Mission by id or by name
  • POSTCreates a new mission
  • GETSearch Missions
  • GETGets Rank Among all Players
  • POSTCreates a new progress
  • DELETEDeletes the Progress identified by id
  • GETRetrieves a single Progress by id
  • PUTUpdates a single Progress
  • GETRetrieves a single RewardIssuance by id.
  • GETRetrieves the current user's reward issuances, optionally filtered by the given state.
  • PUTRedeems the RewardIssuance.
  • PUTRedeems the given list of RewardIssuances.
  • GETSearch ScheduleEvents
  • POSTCreates a new schedule
  • GETRetrieves a single ScheduleEvent by id or by name
  • PUTUpdates an entire single ScheduleEvent
  • DELETEDeletes the ScheduleEvent identified by id or by name
  • GETGets all Progresses assigned via this schedule
  • GETSearch Schedules
  • POSTCreates a new schedule
  • GETRetrieves a single Schedule by id or by name
  • PUTUpdates an entire single Schedule
  • DELETEDeletes the Schedule identified by id or by name

Deletes the Mission identified by id or by name

delete

Deletes a mission by the passed in identifier

Authorizations
Path parameters
missionNameOrIdanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
delete
DELETE /api/rest/mission/{missionNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Accept: */*
{
  "code": "text",
  "message": "text"
}

Updates an entire single Mission

put

Supplying a mission, this will update the Mission identified by the name or ID in the path with contents from the passed in request body.

Authorizations
Path parameters
missionNameOrIdanyRequired
Body
idanyRequired

The unique ID of the mission

nameanyRequired

The name of the mission

displayNameanyRequired

The display name for the mission

descriptionanyRequired

The description of the mission

tagsanyOptional

The tags used to categorize this mission

stepsanyOptional

The steps that constitute the mission (may be null if finalRepeatStep is specified)

metadataanyOptional

The metadata for this mission

Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
put
PUT /api/rest/mission/{missionNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: */*
Accept: */*
Content-Length: 697

{
  "id": null,
  "name": null,
  "displayName": null,
  "description": null,
  "tags": [],
  "steps": [
    {
      "displayName": null,
      "description": null,
      "count": null,
      "rewards": [
        {
          "item": {
            "id": null,
            "name": null,
            "tags": [],
            "displayName": null,
            "description": null,
            "category": "FUNGIBLE",
            "metadataSpec": "[Circular Reference]",
            "metadata": null,
            "publicVisible": null
          },
          "quantity": null,
          "metadata": null
        }
      ],
      "metadata": null
    }
  ],
  "finalRepeatStep": {
    "displayName": null,
    "description": null,
    "count": null,
    "rewards": [
      {
        "item": {
          "id": null,
          "name": null,
          "tags": [],
          "displayName": null,
          "description": null,
          "category": "FUNGIBLE",
          "metadataSpec": "[Circular Reference]",
          "metadata": null,
          "publicVisible": null
        },
        "quantity": null,
        "metadata": null
      }
    ],
    "metadata": null
  },
  "metadata": null
}
{
  "code": "text",
  "message": "text"
}

Creates a new mission

post

Supplying a mission object, this will create a new mission with a newly assigned unique id. The Mission representation returned in the response body is a representation of the Mission as persisted with a unique identifier assigned and with its fields properly normalized. The supplied mission object submitted with the request must have a name property that is unique across all items.

Authorizations
Body
idanyRequired

The unique ID of the mission

nameanyRequired

The name of the mission

displayNameanyRequired

The display name for the mission

descriptionanyRequired

The description of the mission

tagsanyOptional

The tags used to categorize this mission

stepsanyOptional

The steps that constitute the mission (may be null if finalRepeatStep is specified)

metadataanyOptional

The metadata for this mission

Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
post
POST /api/rest/mission HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: */*
Accept: */*
Content-Length: 697

{
  "id": null,
  "name": null,
  "displayName": null,
  "description": null,
  "tags": [],
  "steps": [
    {
      "displayName": null,
      "description": null,
      "count": null,
      "rewards": [
        {
          "item": {
            "id": null,
            "name": null,
            "tags": [],
            "displayName": null,
            "description": null,
            "category": "FUNGIBLE",
            "metadataSpec": "[Circular Reference]",
            "metadata": null,
            "publicVisible": null
          },
          "quantity": null,
          "metadata": null
        }
      ],
      "metadata": null
    }
  ],
  "finalRepeatStep": {
    "displayName": null,
    "description": null,
    "count": null,
    "rewards": [
      {
        "item": {
          "id": null,
          "name": null,
          "tags": [],
          "displayName": null,
          "description": null,
          "category": "FUNGIBLE",
          "metadataSpec": "[Circular Reference]",
          "metadata": null,
          "publicVisible": null
        },
        "quantity": null,
        "metadata": null
      }
    ],
    "metadata": null
  },
  "metadata": null
}
{
  "code": "text",
  "message": "text"
}

Creates a new progress

post

Supplying a progress object, this will create a new progress with a newly assigned unique id. The Progress representation returned in the response body is a representation of the Progress as persisted with a unique identifier assigned and with its fields properly normalized.

Authorizations
Body
idanyRequired

The unique ID of the progress instance

remaininganyOptional

The remaining actions

rewardIssuancesanyOptional

List of all reward issuances that are issued but not expired, or redeemed but persistent.

sequenceanyOptional

The current number of completed steps. Note that this may exceed the total number of steps, i.e. the final step may be repeated infinitely.

managedByScheduleanyOptional

Indicates that this progress is managed by a Schedule. If true, the Progress will be deleted when no schedules have the progress active. This will be true if the Progress was created as part of a Schedule.

schedulesanyOptional

A listing of the Schedules which are managing this Progress. Empty or null if the Progress is not managed as part of a Schedule.

scheduleEventsanyOptional

A listing of ScheduleEvents which are managing this Progress. Empty or null if the Progress is not managed as part of a Schedule.

Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
post
POST /api/rest/progress HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: */*
Accept: */*
Content-Length: 3661

{
  "id": null,
  "profile": {
    "id": null,
    "user": {
      "id": null,
      "name": null,
      "firstName": null,
      "lastName": null,
      "email": null,
      "primaryPhoneNb": null,
      "level": "UNPRIVILEGED",
      "active": null,
      "facebookId": null,
      "firebaseId": null,
      "appleSignInId": null,
      "googleSignInId": null,
      "externalUserId": null
    },
    "application": {
      "id": null,
      "name": null,
      "description": null,
      "scriptRepoUrl": null,
      "httpDocumentationUrl": null,
      "httpDocumentationUiUrl": null,
      "httpTunnelEndpointUrl": null,
      "attributes": null,
      "applicationConfiguration": {
        "id": null,
        "category": "MATCHMAKING",
        "uniqueIdentifier": null,
        "parent": {
          "id": null,
          "name": null,
          "description": null,
          "scriptRepoUrl": null,
          "httpDocumentationUrl": null,
          "httpDocumentationUiUrl": null,
          "httpTunnelEndpointUrl": null,
          "attributes": null,
          "applicationConfiguration": {
            "id": null,
            "category": "MATCHMAKING",
            "uniqueIdentifier": null,
            "parent": "[Circular Reference]",
            "productBundles": [
              {
                "productId": null,
                "displayName": null,
                "description": null,
                "productBundleRewards": [
                  {
                    "itemId": null,
                    "quantity": null
                  }
                ],
                "metadata": null,
                "display": null
              }
            ]
          }
        },
        "productBundles": [
          {
            "productId": null,
            "displayName": null,
            "description": null,
            "productBundleRewards": [
              {
                "itemId": null,
                "quantity": null
              }
            ],
            "metadata": null,
            "display": null
          }
        ]
      }
    },
    "imageUrl": null,
    "imageObject": {
      "id": null,
      "url": null,
      "mimeType": null,
      "state": "EMPTY",
      "lastModified": null
    },
    "displayName": null,
    "metadata": null,
    "lastLogin": null
  },
  "currentStep": {
    "displayName": null,
    "description": null,
    "count": null,
    "rewards": [
      {
        "item": {
          "id": null,
          "name": null,
          "tags": [],
          "displayName": null,
          "description": null,
          "category": "FUNGIBLE",
          "metadataSpec": {
            "id": null,
            "name": null,
            "type": "STRING",
            "properties": "[Circular Reference]"
          },
          "metadata": null,
          "publicVisible": null
        },
        "quantity": null,
        "metadata": null
      }
    ],
    "metadata": null
  },
  "remaining": null,
  "mission": {
    "id": null,
    "name": null,
    "displayName": null,
    "description": null,
    "steps": [
      {
        "displayName": null,
        "description": null,
        "count": null,
        "rewards": [
          {
            "item": {
              "id": null,
              "name": null,
              "tags": [],
              "displayName": null,
              "description": null,
              "category": "FUNGIBLE",
              "metadataSpec": {
                "id": null,
                "name": null,
                "type": "STRING",
                "properties": "[Circular Reference]"
              },
              "metadata": null,
              "publicVisible": null
            },
            "quantity": null,
            "metadata": null
          }
        ],
        "metadata": null
      }
    ],
    "finalRepeatStep": {
      "displayName": null,
      "description": null,
      "count": null,
      "rewards": [
        {
          "item": {
            "id": null,
            "name": null,
            "tags": [],
            "displayName": null,
            "description": null,
            "category": "FUNGIBLE",
            "metadataSpec": {
              "id": null,
              "name": null,
              "type": "STRING",
              "properties": "[Circular Reference]"
            },
            "metadata": null,
            "publicVisible": null
          },
          "quantity": null,
          "metadata": null
        }
      ],
      "metadata": null
    },
    "tags": [],
    "metadata": null
  },
  "rewardIssuances": [
    {
      "id": null,
      "user": {
        "id": null,
        "name": null,
        "firstName": null,
        "lastName": null,
        "email": null,
        "primaryPhoneNb": null,
        "level": "UNPRIVILEGED",
        "active": null,
        "facebookId": null,
        "firebaseId": null,
        "appleSignInId": null,
        "googleSignInId": null,
        "externalUserId": null
      },
      "state": "ISSUED",
      "item": {
        "id": null,
        "name": null,
        "tags": [],
        "displayName": null,
        "description": null,
        "category": "FUNGIBLE",
        "metadataSpec": {
          "id": null,
          "name": null,
          "type": "STRING",
          "properties": "[Circular Reference]"
        },
        "metadata": null,
        "publicVisible": null
      },
      "itemQuantity": null,
      "context": null,
      "type": "PERSISTENT",
      "source": null,
      "metadata": null,
      "tags": [],
      "expirationTimestamp": null,
      "uuid": null
    }
  ],
  "sequence": null,
  "managedBySchedule": null,
  "schedules": [
    {
      "id": null,
      "name": null,
      "displayName": null,
      "description": null
    }
  ],
  "scheduleEvents": [
    {
      "id": null,
      "begin": null,
      "end": null,
      "schedule": {
        "id": null,
        "name": null,
        "displayName": null,
        "description": null
      },
      "missions": [
        {
          "id": null,
          "name": null,
          "displayName": null,
          "description": null,
          "tags": [],
          "steps": [
            "[Circular Reference]"
          ],
          "finalRepeatStep": {
            "displayName": null,
            "description": null,
            "count": null,
            "rewards": "[Circular Reference]",
            "metadata": null
          },
          "metadata": null
        }
      ]
    }
  ]
}
{
  "code": "text",
  "message": "text"
}

Updates a single Progress

put

Supplying a progress, this will update the Progress identified by the ID in the path with contents from the passed in request body.

Authorizations
Path parameters
progressIdanyRequired
Body
idanyRequired

The unique ID of the progress instance

remaininganyOptional

The remaining actions

rewardIssuancesanyOptional

List of all reward issuances that are issued but not expired, or redeemed but persistent.

sequenceanyOptional

The current number of completed steps. Note that this may exceed the total number of steps, i.e. the final step may be repeated infinitely.

managedByScheduleanyOptional

Indicates that this progress is managed by a Schedule. If true, the Progress will be deleted when no schedules have the progress active. This will be true if the Progress was created as part of a Schedule.

schedulesanyOptional

A listing of the Schedules which are managing this Progress. Empty or null if the Progress is not managed as part of a Schedule.

scheduleEventsanyOptional

A listing of ScheduleEvents which are managing this Progress. Empty or null if the Progress is not managed as part of a Schedule.

Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
put
PUT /api/rest/progress/{progressId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: */*
Accept: */*
Content-Length: 3661

{
  "id": null,
  "profile": {
    "id": null,
    "user": {
      "id": null,
      "name": null,
      "firstName": null,
      "lastName": null,
      "email": null,
      "primaryPhoneNb": null,
      "level": "UNPRIVILEGED",
      "active": null,
      "facebookId": null,
      "firebaseId": null,
      "appleSignInId": null,
      "googleSignInId": null,
      "externalUserId": null
    },
    "application": {
      "id": null,
      "name": null,
      "description": null,
      "scriptRepoUrl": null,
      "httpDocumentationUrl": null,
      "httpDocumentationUiUrl": null,
      "httpTunnelEndpointUrl": null,
      "attributes": null,
      "applicationConfiguration": {
        "id": null,
        "category": "MATCHMAKING",
        "uniqueIdentifier": null,
        "parent": {
          "id": null,
          "name": null,
          "description": null,
          "scriptRepoUrl": null,
          "httpDocumentationUrl": null,
          "httpDocumentationUiUrl": null,
          "httpTunnelEndpointUrl": null,
          "attributes": null,
          "applicationConfiguration": {
            "id": null,
            "category": "MATCHMAKING",
            "uniqueIdentifier": null,
            "parent": "[Circular Reference]",
            "productBundles": [
              {
                "productId": null,
                "displayName": null,
                "description": null,
                "productBundleRewards": [
                  {
                    "itemId": null,
                    "quantity": null
                  }
                ],
                "metadata": null,
                "display": null
              }
            ]
          }
        },
        "productBundles": [
          {
            "productId": null,
            "displayName": null,
            "description": null,
            "productBundleRewards": [
              {
                "itemId": null,
                "quantity": null
              }
            ],
            "metadata": null,
            "display": null
          }
        ]
      }
    },
    "imageUrl": null,
    "imageObject": {
      "id": null,
      "url": null,
      "mimeType": null,
      "state": "EMPTY",
      "lastModified": null
    },
    "displayName": null,
    "metadata": null,
    "lastLogin": null
  },
  "currentStep": {
    "displayName": null,
    "description": null,
    "count": null,
    "rewards": [
      {
        "item": {
          "id": null,
          "name": null,
          "tags": [],
          "displayName": null,
          "description": null,
          "category": "FUNGIBLE",
          "metadataSpec": {
            "id": null,
            "name": null,
            "type": "STRING",
            "properties": "[Circular Reference]"
          },
          "metadata": null,
          "publicVisible": null
        },
        "quantity": null,
        "metadata": null
      }
    ],
    "metadata": null
  },
  "remaining": null,
  "mission": {
    "id": null,
    "name": null,
    "displayName": null,
    "description": null,
    "steps": [
      {
        "displayName": null,
        "description": null,
        "count": null,
        "rewards": [
          {
            "item": {
              "id": null,
              "name": null,
              "tags": [],
              "displayName": null,
              "description": null,
              "category": "FUNGIBLE",
              "metadataSpec": {
                "id": null,
                "name": null,
                "type": "STRING",
                "properties": "[Circular Reference]"
              },
              "metadata": null,
              "publicVisible": null
            },
            "quantity": null,
            "metadata": null
          }
        ],
        "metadata": null
      }
    ],
    "finalRepeatStep": {
      "displayName": null,
      "description": null,
      "count": null,
      "rewards": [
        {
          "item": {
            "id": null,
            "name": null,
            "tags": [],
            "displayName": null,
            "description": null,
            "category": "FUNGIBLE",
            "metadataSpec": {
              "id": null,
              "name": null,
              "type": "STRING",
              "properties": "[Circular Reference]"
            },
            "metadata": null,
            "publicVisible": null
          },
          "quantity": null,
          "metadata": null
        }
      ],
      "metadata": null
    },
    "tags": [],
    "metadata": null
  },
  "rewardIssuances": [
    {
      "id": null,
      "user": {
        "id": null,
        "name": null,
        "firstName": null,
        "lastName": null,
        "email": null,
        "primaryPhoneNb": null,
        "level": "UNPRIVILEGED",
        "active": null,
        "facebookId": null,
        "firebaseId": null,
        "appleSignInId": null,
        "googleSignInId": null,
        "externalUserId": null
      },
      "state": "ISSUED",
      "item": {
        "id": null,
        "name": null,
        "tags": [],
        "displayName": null,
        "description": null,
        "category": "FUNGIBLE",
        "metadataSpec": {
          "id": null,
          "name": null,
          "type": "STRING",
          "properties": "[Circular Reference]"
        },
        "metadata": null,
        "publicVisible": null
      },
      "itemQuantity": null,
      "context": null,
      "type": "PERSISTENT",
      "source": null,
      "metadata": null,
      "tags": [],
      "expirationTimestamp": null,
      "uuid": null
    }
  ],
  "sequence": null,
  "managedBySchedule": null,
  "schedules": [
    {
      "id": null,
      "name": null,
      "displayName": null,
      "description": null
    }
  ],
  "scheduleEvents": [
    {
      "id": null,
      "begin": null,
      "end": null,
      "schedule": {
        "id": null,
        "name": null,
        "displayName": null,
        "description": null
      },
      "missions": [
        {
          "id": null,
          "name": null,
          "displayName": null,
          "description": null,
          "tags": [],
          "steps": [
            "[Circular Reference]"
          ],
          "finalRepeatStep": {
            "displayName": null,
            "description": null,
            "count": null,
            "rewards": "[Circular Reference]",
            "metadata": null
          },
          "metadata": null
        }
      ]
    }
  ]
}
{
  "code": "text",
  "message": "text"
}

Redeems the given list of RewardIssuances.

put
Authorizations
Body
anyOptional
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
put
PUT /api/rest/reward_issuance/redeem HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: */*
Accept: */*
Content-Length: 2

[]
{
  "code": "text",
  "message": "text"
}

Creates a new schedule

post

Supplying a schedule object, this will create a new schedule with a newly assigned unique id. The ScheduleEvent representation returned in the response body is a representation of the ScheduleEvent as persisted with a unique identifier assigned and with its fields properly normalized. The supplied schedule object submitted with the request must have a name property that is unique across all items.

Authorizations
Path parameters
scheduleNameOrIdanyRequired
Body
beginanyOptional
endanyOptional
missionNamesOrIdsanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
post
POST /api/rest/schedule/{scheduleNameOrId}/event HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 48

{
  "begin": null,
  "end": null,
  "missionNamesOrIds": []
}
{
  "code": "text",
  "message": "text"
}

Updates an entire single ScheduleEvent

put

Supplying a schedule, this will update the ScheduleEvent identified by the name or ID in the path with contents from the passed in request body.

Authorizations
Path parameters
scheduleNameOrIdanyRequired
scheduleEventIdanyRequired
Body
beginanyOptional
endanyOptional
missionNamesOrIdsanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
put
PUT /api/rest/schedule/{scheduleNameOrId}/event/{scheduleEventId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 48

{
  "begin": null,
  "end": null,
  "missionNamesOrIds": []
}
{
  "code": "text",
  "message": "text"
}

Creates a new schedule

post

Supplying a schedule object, this will create a new schedule with a newly assigned unique id. The Schedule representation returned in the response body is a representation of the Schedule as persisted with a unique identifier assigned and with its fields properly normalized. The supplied schedule object submitted with the request must have a name property that is unique across all items.

Authorizations
Body
nameanyRequiredPattern: [^_]\w+
displayNameanyRequired
descriptionanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
post
POST /api/rest/schedule HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "name": null,
  "displayName": null,
  "description": null
}
{
  "code": "text",
  "message": "text"
}

Updates an entire single Schedule

put

Supplying a schedule, this will update the Schedule identified by the name or ID in the path with contents from the passed in request body.

Authorizations
Path parameters
scheduleNameOrIdanyRequired
Body
nameanyRequiredPattern: [^_]\w+
displayNameanyRequired
descriptionanyRequired
Responses
400Error
application/json
401Error
application/json
403Error
application/json
404Error
application/json
409Error
application/json
500Error
application/json
501Error
application/json
503Error
application/json
default
default response
application/json
put
PUT /api/rest/schedule/{scheduleNameOrId} HTTP/1.1
Host: localhost:8080
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "name": null,
  "displayName": null,
  "description": null
}
{
  "code": "text",
  "message": "text"
}