Introduction
Table of Contents
- Getting Started
- Session API
- User API
- Event API
- Feed API
- Game API
- Game Library API
- Game Sessions API
- Game Objectives API
- Identity API
- Identity Provider API
- User Presence API
- Privacy API
- Protocol Buffers Message Definitions
API - Session
Create and destroy user sessions
Fetch Session
Resource: /sessions/<session_id>
Method: GET
Request Body: none
Required Fields: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Session Message
Create and fetch users and users' networks
Fetch User By ID
Resource: /users/<user_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: User Message
Fetch Users By Property
Resource: /users?<param>
Accepted Params: gamername=<gamername>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Users Message
Fetch Followers of a User
Resource: /users/<user_id>/followers
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Users Message
Fetch Followed Users
Resource: /users/<user_id>/following
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Users Message
Follow User
Resource: /users/<user_id>/following
Method: POST
Request Body: User Message
Required Fields: id
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: none
Notes: The user specified in the url FOLLOWS the user defined by the User Message passed in the body.
Un-Follow User
Resource: /users/<user_id>/following/<user_id>
Method: DELETE
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: none
Notes: The first user specified in the URL un-follows the second user specified.
Update User
Resource: /users/<user_id>
Method: POST
Request Body: User Message
Required Fields: id
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: none
Fetch User Avatar
Resource: /users/<user_id>/avatar
Method: GET
Request Body: none
Request Headers: (all optional) X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Avatar Message
Create and fetch events
Create Event
Resource: /events
Method: POST
Request Body: Event Message
Required Fields: key, game_id, action, action_label, event_class, event_type, datasource_name, platform
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 201 (note: the next version of this API responds with 202 Accepted, since new events are enqueued for creation)
Response Body: Event Message
Notes: The event message passed to the API does not require an identity_id or user_id. However, if identity_id is NOT included, then the identity_hints field IS required. Identity hints is a list of strings, each one being one of the identity's values (ex: the identity hints for a Xbox Live account with the gamertag MyDogJesusBomb would be ["MyDogJesusBomb"]).
Fetch Event By ID
Resource: /events/<event_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Event Message
Fetch Events By Property
Resource: /events?<param>
Accepted Params: user=<user_id> | platform=<platform_name> | identity=<identity_id> | gamename=<gamename> | key=<key>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Events Message
Get user feed data
Fetch User Feed
Resource: /feed/<user_id>?<param>
Accepted Params: type=<json|jsonp>, jsonp=<callback method>, l=<limit>, p=<page>
Method: GET
Request Body: none
Request Headers: (optional) X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameSessions_vFeed Message
Notes:
- This API returns view messages specifically built for easily building applications on top of a Rupture Feed. These messages have a suffix of _vFeed and contain slightly different data than their non _vFeed counterpart.
- This resource can return json, jsonp, or protocolbuffers as a reply format. The ?type= query parameter is used to control which reply the api gives back. Excluding the ?type parameter will return protocol buffers.
- The ?l and ?p query parameters are used to control how many game sessions are returned and also specify an offset so a consumer can build pagination. The ?l parameter restricts the amount of sessions returned with a default of 10 and the ?p parameter is how many pages into the recordset to return. In order to do this ?p is multiplied by ?l. The ?p parameter has a default of 0. Calling the api with neither parameter set returns the most recent set of 10 records. Calling with ?p=2&l=20 would return records 41-60.
Fetch Combined Feed of Followed Users
Resource: /feed/<user_id>/following?<param>
Accepted Params: type=<json|jsonp>, jsonp=<callback method>, l=<limit>, p=<page>
Method: GET
Request Body: none
Request Headers: (optional) X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameSessions_vFeed Message
Notes:
- This API returns view messages specifically built for easily building applications on top of a Rupture Feed. These messages have a suffix of _vFeed and contain slightly different data than their non _vFeed counterpart.
- This resource can return json, jsonp, or protocolbuffers as a reply format. The ?type= query parameter is used to control which reply the api gives back. Excluding the ?type parameter will return protocol buffers.
- The ?l and ?p query parameters are used to control how many game sessions are returned and also specify an offset so a consumer can build pagination. The ?l parameter restricts the amount of sessions returned with a default of 10 and the ?p parameter is how many pages into the recordset to return. In order to do this ?p is multiplied by ?l. The ?p parameter has a default of 0. Calling the api with neither parameter set returns the most recent set of 10 records. Calling with ?p=2&l=20 would return records 41-60.
Create and fetch games and fetch game objectives
Create Game
Resource: /games
Method: POST
Request Body: Game Message
Required Fields: name, platform, param
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 201
Response Body: Game Message
Fetch Game By ID
Resource: /games/<game_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Game Message
Fetch Games By Property
Resource: /games?<param>
Accepted Params: name=<gamename> | genre=<genre> | param=<param>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Games Message
Create and fetch game libraries
Create Game Library
Resource: /gamelibraries
Method: POST
Request Body: GameLibrary Message
Required Fields: user_id, game_id
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 201
Response Body: GameLibrary Message
Fetch Game Libraries By Property
Resource: /gamelibraries?<param>
Accepted Params: user=<user_id> | game=<game_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameLibraries Message
Create and fetch game sessions
Start Game Session
Resource: /gamesessions/<user_id>/start/<game_id>
Method: POST
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 201
Response Body: GameSession Message
Update Game Session
Resource: /gamesessions/<game_session_id>
Method: POST
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameSession Message
Fetch Game Sessions By Property
Resource: /gamesessions?<param>
Accepted Params: user=<user_id> | game=<game_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameSessions Message
Fetch game objectives and game objective types
Fetch Game Objective Types
Resource: /games/<game_id>/objectivetypes
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameObjectiveTypes Message
Fetch Game Objectives
Resource: /games/<game_id>/objectivetypes/<game_objective_type_id>/objectives
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameObjectives Message
Search Game Objectives
Resource: /objectives/?<param>
Accepted Params: event=<event_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: GameObjectives Message
Create and fetch identities
Create Identity
Resource: /identities
Method: POST
Request Body: Identity Message
Required Fields: user_id, identity_provider_id, values, identity_string
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 201
Response Body: Identity Message
Fetch Identity By ID
Resource: /identities/<identity_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Identity Message
Fetch Identity Properties
Resource: /identities/<identity_id>/properties
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: IdentityProperties Message
Create Identity Property
Resource: /identities/<identity_id>/properties
Method: POST
Request Body: IdentityProperty Message
Required Fields: identity_id
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 201
Response Body: IdentityProperty Message
Fetch Identities By Property
Resource: /identities?<param>
Accepted Params: user=<user_id> | provider=<identity_provider_id> | providername=<provider_name> | identity=<identity_string>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Identities Message
Trigger Data Ingestion for an Identity
Resource: /identities/<identity_id>/update
Method: POST
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: none
Delete Identity
Resource: /identities/<identity_id>
Method: DELETE
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: none
Create and fetch identity providers
Create Identity Provider
Resource: /identityprovider/<identity_provider_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: IdentityProvider Message
Fetch Identity Providers By Property
Resource: /identityprovider/?<param>
Accepted Params: name=<identity_provider_name>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: IdentityProviders Message
Set and get user presence
Get User Presence
Resource: /presence/<user_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Presence Message
Get User Presence By Nucleus ID
Resource: /presence?nucleusid=<nucleus_id>
Method: GET
Request Body: none
Request Headers: none
Response Code: 200
Response Body: Presence Message
Update User Presence
Resource: /presence/<user_id>
Method: POST
Request Body: Presence Message
Required Fields: user_id
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: Presence Message
Block/allow users and fetch block lists
Block User
Resource: /privacy/<user_id>/block/<target_user_id>
Method: POST
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: none
Un-Block User
Resource: /privacy/<user_id>/allow/<target_user_id>
Method: POST
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: none
Fetch Block List
Resource: /privacy/<user_id>
Method: GET
Request Body: none
Request Headers: X-Rupture-Application, X-Rupture-Request, X-Rupture-Signature, X-Rupture-Session
Response Code: 200
Response Body: BlockList Message
Comments (0)
You don't have permission to comment on this page.