Documentation

Cloud Save Admin API


Cloud Save Admin API


Cloud Save Admin API

Introduction

This is the admin API specification for the Unity Cloud Save service that allows player or custom non-player state to be accessed and persisted from a game client. The admin endpoints support full read and write operations on player and custom data, as well as management of indexes for use with the querying feature, and listing of all available custom entities and players with data.

General Information

Cloud Save Data is for storing small blobs of JSON serializable data, stored as key/value pairs. The admin API can be used to store data against a player ID (referred to as Player State) or a custom ID (referred to as Game State). These are the entity types. The custom ID is a string that can be used to store data against a non-player entity, but the client API is restricted to read-only access for custom data.
Cloud Save Files is for storing data files (binary, JSON, text, CSV, etc.) against keys. The maximum size for player data is 1 GB across all keys for that player. A player can have data in a single file that is up to 1 GB in size, or use many files that equal to less than 1 GB in total size. Limits:
  • Maximum 255 characters per file name
  • Maximum 200 files per player
  • Maximum 1 GB in size per player across all files
Cloud Save Files does not support access classes or indexes.

Access Classes

In addition to the default access levels for player and game state, data can be stored in public player state, protected player state, or private game state. The access details are as follows:
  • Default Player State: Player-writable and player-readable, by the player the data corresponds to
  • Public Player State: Player-writable by the player the data corresponds to, and readable by any player (e.g. public player profile data)
  • Protected Player State: Server-writable only, and player-readable by the player the data corresponds to
  • Default Game State: Server-writable only, player-readable by any player
  • Private Game State: Server-writable and server-readable only
The admin API can list all custom IDs for a given access class, project and environment.

Indexes & Querying Data

By default data in Cloud Save cannot be queried to find player or custom data IDs which match certain conditions. To enable querying, an index with the desired keys must be created against an access class and entity type. An index is a list of keys that are stored in a specific order. The index can be used to query for players or custom entities that match a specific key or range of keys, both from the admin API as well as from the client API. Indexes can be listed, created, updated, and deleted using the admin API.
Indexes can be formed of single Cloud Save keys, or multiple keys can be combined in a specific order to form a compound index. Each key is marked with a boolean to specify if the index is sorted in ascending or descending order.
There is a limit of 20 keys which can be indexed across all indexes and across all access classes and across Player State and Game State. This means that there can be up to 20 indexes with a single indexed key, or a single index with 20 keys, or any combination in between so long as the total number of indexed keys does not exceed the limit.
Indexes for a given entity type and access class must be unique.
Any new or updated data from an indexed key for a given access class and entity type will be automatically added to the index. Existing data will not be added to the index retrospectively unless all keys are already included in another index or a previous index, but they can be added by updating the data item.

Rate Limits

The admin API has rate limiting in place. The endpoints are limited to 60 requests per second and 1000 requests per thirty minutes on a per-project and per-IP basis. The admin API responds with a
429
HTTP status code if the rate limit is exceeded.

Service Account Authentication

For a service account to access to the admin API, it must be granted the project-level
Cloud Save Viewer
role for read-only access, or the
Cloud Save Editor
role if write access is also required.
Download OpenAPI specification:

Get Players


Retrieves a paginated list of all players which have data set, ordered alphabetically by player ID, with metadata about their stored data.
Authorizations
ServiceAccount (cloud_save.entities.list)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.entities.list

Path parameters for "Get Players"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Query parameters for "Get Players"

start

string
The player ID to start the page from. If not specified, the first page will be returned.

limit

integer
The maximum number of player data IDs to return. If not specified, the default limit of 20 will be used.

HTTP response status codes for "Get Players":

Code samples for "Get Players":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "accessClasses": { "default": { "totalSize": 0, "numKeys": 0 }, "public": { "totalSize": 0, "numKeys": 0 }, "protected": { "totalSize": 0, "numKeys": 0 }, "private": { "totalSize": 0, "numKeys": 0 } } } ], "links": { "next": "string" }}

Set Player Item Batch Across Access Classes


Set up to 100 data items with key, value and optional writeLock for the given player, across multiple access classes. The values are limited to a maximum size of 5 MB per access level slots for the player. Saved state for each access level for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic per access class, but may succeed on one access class and fail on another. Error responses should identify the affected key operations that failed.

Path parameters for "Set Player Item Batch Across Access Classes"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Player Item Batch Across Access Classes"

Media Type:
application/json

default

object
No description

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

public

object
No description

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

protected

object
No description

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

private

object
No description

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Player Item Batch Across Access Classes":

Code samples for "Set Player Item Batch Across Access Classes":

Request example

curl -X POST \ -H "Content-Type: application/json" \ -d '{ "default": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "public": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "protected": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "private": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/all/item-batch"

Response example

{ "results": { "default": { "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ] }, "public": { "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ] }, "protected": { "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ] }, "private": { "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ] } }}

Get Player Items Across Access Classes


Retrieves saved data values for all keys specified, across access classes. Limited to a maximum of 100 keys across all access classes.

Path parameters for "Get Player Items Across Access Classes"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Get Player Items Across Access Classes"

Media Type:
application/json

default

object
No description

keys

array[string]
List of keys

public

object
No description

keys

array[string]
List of keys

protected

object
No description

keys

array[string]
List of keys

private

object
No description

keys

array[string]
List of keys

HTTP response status codes for "Get Player Items Across Access Classes":

Code samples for "Get Player Items Across Access Classes":

Request example

curl -X POST \ -H "Content-Type: application/json" \ -d '{ "default": { "keys": [ "EXAMPLE_KEY" ] }, "public": { "keys": [ "EXAMPLE_KEY" ] }, "protected": { "keys": [ "EXAMPLE_KEY" ] }, "private": { "keys": [ "EXAMPLE_KEY" ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/all/item-request"

Response example

{ "results": { "default": { "data": [] }, "public": { "data": [] }, "protected": { "data": [] }, "private": { "data": [] } }}

Get Player Items


Retrieves saved data values for all keys specified, ordered alphabetically in pages of 20. If no keys are supplied then returns all keys, ordered alphabetically in pages of 20.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Player Items"

keys

array
The keys to retrieve, in exploded form style, e.g.
keys=KEY1&keys=KEY2&keys=KEY3
.

after

string
The key after which to retrieve the next page of keys.

prefix

string
The prefix to filter keys by, returning only keys that start with this value.

substring

string
The substring to filter keys by, returning only keys that contain this value.

HTTP response status codes for "Get Player Items":

Code samples for "Get Player Items":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/items"

Response example

{ "results": [], "links": { "next": "string" }}

Set Player Item


Set a data item with a given key and value for the specified player. The value is limited to a maximum size of 5 MB across all default access level slots. The entire default access level saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Player Item"

Media Type:
application/json

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Player Item":

Code samples for "Set Player Item":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0"}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/items"

Response example

{ "writeLock": "efac747f6fb244569efef962ca9dc30e"}

Delete Player Items


Deletes all default access level data associated with a given player.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

HTTP response status codes for "Delete Player Items":

Code samples for "Delete Player Items":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/items"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Delete Player Item


Deletes a data item by the specified key for the given player.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

key

string
required
Item key.

Query parameters for "Delete Player Item"

writeLock

string
Enforces conflict checking when deleting an existing data item. Omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Delete Player Item":

Code samples for "Delete Player Item":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/items/{key}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Get Player Keys


Gets a paged list of keys for the given player, ordered alphabetically in pages of 100.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Player Keys"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Player Keys"

after

string
Returns the page of results after the key specified.

HTTP response status codes for "Get Player Keys":

Code samples for "Get Player Keys":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/keys"

Response example

{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}

Set Player Item Batch


Set up to 20 data items with key, value and optional writeLock for the given player. The values are limited to a maximum size of 5 MB across all default access level slots for the player. The entire default access level saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic and if any of the set key operation fails, the entire operation is failed. Error responses should identify the affected key operations that failed.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Player Item Batch"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Player Item Batch"

Media Type:
application/json

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Player Item Batch":

Code samples for "Set Player Item Batch":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ]}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/item-batch"

Response example

{ "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ]}

Set Public Player Item


Set a public data item with a given key and value for the specified player. The value is limited to a maximum size of 5 MB across all public access level slots. The entire public saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The value set will be publicly readable by any player.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Public Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Public Player Item"

Media Type:
application/json

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Public Player Item":

Code samples for "Set Public Player Item":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0"}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/public/items"

Response example

{ "writeLock": "efac747f6fb244569efef962ca9dc30e"}

Get Public Player Items


Retrieves saved data values for all keys specified, ordered alphabetically in pages of 20. If no keys are supplied then returns all keys, ordered alphabetically in pages of 20. Accessible by any player for any other player's data.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Public Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Public Player Items"

keys

array
The keys to retrieve, in exploded form style, e.g.
keys=KEY1&keys=KEY2&keys=KEY3
.

after

string
The key after which to retrieve the next page of keys.

HTTP response status codes for "Get Public Player Items":

Code samples for "Get Public Player Items":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/public/items"

Response example

{ "results": [], "links": { "next": "string" }}

Delete Public Player Items


Deletes all public data associated with a given player.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Public Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

HTTP response status codes for "Delete Public Player Items":

Code samples for "Delete Public Player Items":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/public/items"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Delete Public Player Item


Deletes a public data item by the specified key for the given player.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Public Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

key

string
required
Item key.

Query parameters for "Delete Public Player Item"

writeLock

string
Enforces conflict checking when deleting an existing data item. Omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Delete Public Player Item":

Code samples for "Delete Public Player Item":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/public/items/{key}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Get Public Player Keys


Gets a paged list of public keys for the given player, ordered alphabetically in pages of 100. Accessible by any player for any other player's data.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Public Player Keys"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Public Player Keys"

after

string
Returns the page of results after the key specified.

HTTP response status codes for "Get Public Player Keys":

Code samples for "Get Public Player Keys":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/public/keys"

Response example

{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}

Set Public Player Item Batch


Set up to 20 public data items with key, value and optional writeLock for the given player. The values are limited to a maximum size of 5 MB across all slots for the player. The entire public saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic and if any of the set key operation fails, the entire operation is failed. Error responses should identify the affected key operations that failed.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Public Player Item Batch"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Public Player Item Batch"

Media Type:
application/json

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Public Player Item Batch":

Code samples for "Set Public Player Item Batch":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ]}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/public/item-batch"

Response example

{ "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ]}

Set Protected Player Item


Set a protected data item with a given key and value for the specified player. The value is limited to a maximum size of 5 MB across all protected access level slots. The entire protected saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Protected Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Protected Player Item"

Media Type:
application/json

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Protected Player Item":

Code samples for "Set Protected Player Item":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0"}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/protected/items"

Response example

{ "writeLock": "efac747f6fb244569efef962ca9dc30e"}

Get Protected Player Items


Retrieves protected save data values for all keys specified, ordered alphabetically in pages of 20. If no keys are supplied then returns all keys, ordered alphabetically in pages of 20.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Protected Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Protected Player Items"

keys

array
The keys to retrieve, in exploded form style, e.g.
keys=KEY1&keys=KEY2&keys=KEY3
.

after

string
The key after which to retrieve the next page of keys.

HTTP response status codes for "Get Protected Player Items":

Code samples for "Get Protected Player Items":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/protected/items"

Response example

{ "results": [], "links": { "next": "string" }}

Delete Protected Player Items


Deletes all protected data associated with a given player. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Protected Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

HTTP response status codes for "Delete Protected Player Items":

Code samples for "Delete Protected Player Items":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/protected/items"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Delete Protected Player Item


Deletes a protected data item by the specified key for the given player. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Protected Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

key

string
required
Item key.

Query parameters for "Delete Protected Player Item"

writeLock

string
Enforces conflict checking when deleting an existing data item. Omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Delete Protected Player Item":

Code samples for "Delete Protected Player Item":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/protected/items/{key}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Get Protected Player Keys


Gets a paged list of protected keys for the given player, ordered alphabetically in pages of 100.

Path parameters for "Get Protected Player Keys"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Protected Player Keys"

after

string
Returns the page of results after the key specified.

HTTP response status codes for "Get Protected Player Keys":

Code samples for "Get Protected Player Keys":

Request example

curl -X GET \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/protected/keys"

Response example

{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}

Set Protected Player Item Batch


Set up to 20 protected data items with key, value and optional writeLock for the given player. The values are limited to a maximum size of 5 MB across all slots for the player. The entire protected saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic and if any of the set key operation fails, the entire operation is failed. Error responses should identify the affected key operations that failed. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Protected Player Item Batch"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Protected Player Item Batch"

Media Type:
application/json

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Protected Player Item Batch":

Code samples for "Set Protected Player Item Batch":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ]}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/protected/item-batch"

Response example

{ "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ]}

Set Private Player Item


Set a private data item with a given key and value for the specified player. The value is limited to a maximum size of 5 MB across all private access level slots. The entire private saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Private Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Private Player Item"

Media Type:
application/json

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Private Player Item":

Code samples for "Set Private Player Item":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0"}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/private/items"

Response example

{ "writeLock": "efac747f6fb244569efef962ca9dc30e"}

Get Private Player Items


Retrieves private save data values for all keys specified, ordered alphabetically in pages of 20. If no keys are supplied then returns all keys, ordered alphabetically in pages of 20. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Private Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Private Player Items"

keys

array
The keys to retrieve, in exploded form style, e.g.
keys=KEY1&keys=KEY2&keys=KEY3
.

after

string
The key after which to retrieve the next page of keys.

HTTP response status codes for "Get Private Player Items":

Code samples for "Get Private Player Items":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/private/items"

Response example

{ "results": [], "links": { "next": "string" }}

Delete Private Player Items


Deletes all private data associated with a given player. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Private Player Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

HTTP response status codes for "Delete Private Player Items":

Code samples for "Delete Private Player Items":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/private/items"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Delete Private Player Item


Deletes a private data item by the specified key for the given player. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Private Player Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

key

string
required
Item key.

Query parameters for "Delete Private Player Item"

writeLock

string
Enforces conflict checking when deleting an existing data item. Omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Delete Private Player Item":

Code samples for "Delete Private Player Item":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/private/items/{key}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Get Private Player Keys


Gets a paged list of private keys for the given player, ordered alphabetically in pages of 100. Only accessible via an authenticated server authority.

Path parameters for "Get Private Player Keys"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "Get Private Player Keys"

after

string
Returns the page of results after the key specified.

HTTP response status codes for "Get Private Player Keys":

Code samples for "Get Private Player Keys":

Request example

curl -X GET \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/private/keys"

Response example

{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}

Set Private Player Item Batch


Set up to 20 private data items with key, value and optional writeLock for the given player. The values are limited to a maximum size of 5 MB across all slots for the player. The entire private saved state for a player is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic and if any of the set key operation fails, the entire operation is failed. Error responses should identify the affected key operations that failed. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Private Player Item Batch"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Request body for "Set Private Player Item Batch"

Media Type:
application/json

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Private Player Item Batch":

Code samples for "Set Private Player Item Batch":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ]}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/{playerId}/private/item-batch"

Response example

{ "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ]}

Get Custom IDs


Get a paginated list of all Game State custom data IDs for a given project and environment, .
Authorizations
ServiceAccount (cloud_save.entities.list)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.entities.list

Path parameters for "Get Custom IDs"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Query parameters for "Get Custom IDs"

start

string
The custom data ID to start the page from. If not specified, the first page will be returned.

limit

integer
The maximum number of custom data IDs to return. If not specified, the default limit of 20 will be used.

HTTP response status codes for "Get Custom IDs":

Code samples for "Get Custom IDs":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom"

Response example

{ "results": [ { "id": "my-custom-data-id", "accessClasses": { "default": { "totalSize": 0, "numKeys": 0 }, "public": { "totalSize": 0, "numKeys": 0 }, "protected": { "totalSize": 0, "numKeys": 0 }, "private": { "totalSize": 0, "numKeys": 0 } } } ], "links": { "next": "string" }}

Set Custom Item Batch Across Access Classes


Set up to 100 data items with key, value and optional writeLock for the given custom ID, across multiple access classes. The values are limited to a maximum size of 5 MB per access level slots for the custom ID. Saved state for each access level for a custom ID is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic per access class, but may succeed on one access class and fail on another. Error responses should identify the affected key operations that failed.

Path parameters for "Set Custom Item Batch Across Access Classes"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Request body for "Set Custom Item Batch Across Access Classes"

Media Type:
application/json

default

object
No description

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

private

object
No description

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Custom Item Batch Across Access Classes":

Code samples for "Set Custom Item Batch Across Access Classes":

Request example

curl -X POST \ -H "Content-Type: application/json" \ -d '{ "default": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "private": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/all/item-batch"

Response example

{ "results": { "default": { "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ] }, "private": { "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ] } }}

Get Custom Items Across Access Classes


Retrieves saved data values for all keys specified, across access classes. Limited to a maximum of 100 keys across all access classes.

Path parameters for "Get Custom Items Across Access Classes"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Request body for "Get Custom Items Across Access Classes"

Media Type:
application/json

default

object
No description

keys

array[string]
List of keys

private

object
No description

keys

array[string]
List of keys

HTTP response status codes for "Get Custom Items Across Access Classes":

Code samples for "Get Custom Items Across Access Classes":

Request example

curl -X POST \ -H "Content-Type: application/json" \ -d '{ "default": { "keys": [ "EXAMPLE_KEY" ] }, "private": { "keys": [ "EXAMPLE_KEY" ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/all/item-request"

Response example

{ "results": { "default": { "data": [] }, "private": { "data": [] } }}

Set Custom Item


Set a data item with a given key and value for the specified custom ID. The value is limited to a maximum size of 5 MB across all default access level slots. The entire default access level saved state for a custom ID is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Custom Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Request body for "Set Custom Item"

Media Type:
application/json

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Custom Item":

Code samples for "Set Custom Item":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0"}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/items"

Response example

{ "writeLock": "efac747f6fb244569efef962ca9dc30e"}

Get Custom Items


Retrieves saved data values for all keys specified, ordered alphabetically in pages of 20. If no keys are supplied then returns all keys, ordered alphabetically in pages of 20.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Custom Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Query parameters for "Get Custom Items"

keys

array
The keys to retrieve, in exploded form style, e.g.
keys=KEY1&keys=KEY2&keys=KEY3
.

after

string
The key after which to retrieve the next page of keys.

HTTP response status codes for "Get Custom Items":

Code samples for "Get Custom Items":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/items"

Response example

{ "results": [], "links": { "next": "string" }}

Delete Custom Items


Deletes all default access level data associated with a given custom ID. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Custom Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

HTTP response status codes for "Delete Custom Items":

Code samples for "Delete Custom Items":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/items"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Delete Custom Item


Deletes a data item by the specified key for the specified custom ID. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Custom Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

key

string
required
Item key.

Query parameters for "Delete Custom Item"

writeLock

string
Enforces conflict checking when deleting an existing data item. Omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Delete Custom Item":

Code samples for "Delete Custom Item":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/items/{key}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Get Custom Keys


Gets a paged list of keys for the given custom ID, ordered alphabetically in pages of 100.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Custom Keys"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Query parameters for "Get Custom Keys"

after

string
Returns the page of results after the key specified.

HTTP response status codes for "Get Custom Keys":

Code samples for "Get Custom Keys":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/keys"

Response example

{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}

Set Custom Item Batch


Set up to 20 data items with key, value and optional writeLock against the custom ID. The values are limited to a maximum size of 5 MB across all default access level slots for the custom ID. The entire default access level saved state for a custom ID is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic and if any of the set key operation fails, the entire operation is failed. Error responses should identify the affected key operations that failed. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Custom Item Batch"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Request body for "Set Custom Item Batch"

Media Type:
application/json

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Custom Item Batch":

Code samples for "Set Custom Item Batch":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ]}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/item-batch"

Response example

{ "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ]}

Set Private Custom Item


Set a private data item with a given key and value for the specified custom ID. The value is limited to a maximum size of 5 MB across all private access level slots. The entire private saved state for a custom ID is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Private Custom Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Request body for "Set Private Custom Item"

Media Type:
application/json

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Private Custom Item":

Code samples for "Set Private Custom Item":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0"}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/private/items"

Response example

{ "writeLock": "efac747f6fb244569efef962ca9dc30e"}

Get Private Custom Items


Retrieves private save data values for all keys specified, ordered alphabetically in pages of 20. If no keys are supplied then returns all keys, ordered alphabetically in pages of 20. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Private Custom Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Query parameters for "Get Private Custom Items"

keys

array
The keys to retrieve, in exploded form style, e.g.
keys=KEY1&keys=KEY2&keys=KEY3
.

after

string
The key after which to retrieve the next page of keys.

HTTP response status codes for "Get Private Custom Items":

Code samples for "Get Private Custom Items":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/private/items"

Response example

{ "results": [], "links": { "next": "string" }}

Delete Private Custom Items


Deletes all private data associated with a given custom ID. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Private Custom Items"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

HTTP response status codes for "Delete Private Custom Items":

Code samples for "Delete Private Custom Items":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/private/items"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Delete Private Custom Item


Deletes a private data item by the specified key for the specified custom ID. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.delete

Path parameters for "Delete Private Custom Item"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

key

string
required
Item key.

Query parameters for "Delete Private Custom Item"

writeLock

string
Enforces conflict checking when deleting an existing data item. Omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Delete Private Custom Item":

Code samples for "Delete Private Custom Item":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/private/items/{key}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Get Private Custom Keys


Gets a paged list of private keys for the given custom ID, ordered alphabetically in pages of 100. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.read

Path parameters for "Get Private Custom Keys"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Query parameters for "Get Private Custom Keys"

after

string
Returns the page of results after the key specified.

HTTP response status codes for "Get Private Custom Keys":

Code samples for "Get Private Custom Keys":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/private/keys"

Response example

{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}

Set Private Custom Item Batch


Set up to 20 private data items with key, value and optional writeLock against the custom ID. The values are limited to a maximum size of 5 MB across all private access level slots for the custom ID. The entire private saved state for a custom ID is limited to 2000 keys. Attempting to set a new key beyond this limit will result in an error. The batch set operation is considered atomic and if any of the set key operation fails, the entire operation is failed. Error responses should identify the affected key operations that failed. Only accessible via an authenticated server authority.
Authorizations
ServiceAccount (cloud_save.data.upsert)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.data.upsert

Path parameters for "Set Private Custom Item Batch"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

customId

string
required
example: my-custom-data-id
The custom data ID specified by the user. Must be between 1 and 50 characters long and contain only alphanumeric characters, underscores, and hyphens.

Request body for "Set Private Custom Item Batch"

Media Type:
application/json

data

array[object]
No description

key

required
The key will be created if it does not exist, provided the item limit of 2000 keys has not been reached for this entity.

value

object
required
Any JSON serializable structure with a maximum size of 5 MB.

writeLock

string
example: efac747f6fb244569efef962ca9dc30e
Enforces conflict checking when updating an existing data item. This field should be omitted when creating a new data item. When updating an existing item, omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Set Private Custom Item Batch":

Code samples for "Set Private Custom Item Batch":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "data": [ { "key": "ItemKey", "value": { "Health": 87, "Bag": [ { "bread": { "quantity": 3, "quality": 20 } }, { "coins": { "quantity": 100 } } ], "Tool": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ]}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/{customId}/private/item-batch"

Response example

{ "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e" } ]}

List Indexes


List all existing indexes for a given project and environment. Since the number of total indexes is limited to 20 this endpoint is not paginated.
Authorizations
ServiceAccount (cloud_save.indexes.list)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.list

Path parameters for "List Indexes"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

HTTP response status codes for "List Indexes":

Code samples for "List Indexes":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes"

Response example

{ "indexes": [ { "id": "myIndexedKey_1", "entityType": "player", "accessClass": "default", "status": "READY", "fields": [ { "key": "myIndexedKey", "asc": true } ] } ]}

Create Default Player Index


Create an index for player data with the default access class.
Authorizations
ServiceAccount (cloud_save.indexes.create)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.create

Path parameters for "Create Default Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Create Default Player Index"

Media Type:
application/json

indexConfig

object
required
No description

fields

array[object]
required
An array of fields in an index. Each field must be unique within the array.

key

string
required
example: myIndexedKey
The indexed Cloud Save key

asc

boolean
required
Whether the field is sorted in ascending order

HTTP response status codes for "Create Default Player Index":

Code samples for "Create Default Player Index":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "indexConfig": { "fields": [ { "key": "myIndexedKey", "asc": true } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players"

Response example

{ "id": "myIndexedKey_1", "status": "READY"}

Query Default Player Data


Query player data with the default access class. If no index is available to fulfil the query then the query will fail.
Authorizations
ServiceAccount (cloud_save.indexes.get)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.get

Path parameters for "Query Default Player Data"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Query Default Player Data"

Media Type:
application/json

fields

array[object]
required
No description

key

string
required
example: EXAMPLE_KEY
Item key

value

object
required
The indexed Cloud Save value

op

string
required
The comparison operator to use for the filter. The specified value is compared lexicographically to the indexed value using one of the following operators:
  • EQ
    - Equal
  • NE
    - Not Equal
  • LT
    - Less Than
  • LE
    - Less Than or Equal
  • GT
    - Greater Than
  • GE
    - Greater Than or Equal

asc

boolean
required
Whether the field is sorted in ascending order

returnKeys

array[string]
The keys to return in the response. This can include keys not on the index. If not specified or empty, the data on the results will be empty for any returned entities.

offset

integer
The number of results to skip. Defaults to 0.

limit

integer
The maximum number of results to return. Defaults to 10. Specifying 0 will return the default number of results.

sampleSize

integer
If set, the given number of random items will be chosen from the total query results and returned as a sample. Defaults to null.

HTTP response status codes for "Query Default Player Data":

Code samples for "Query Default Player Data":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "fields": [ { "key": "EXAMPLE_KEY", "value": {}, "op": "EQ", "asc": true } ], "returnKeys": [ "EXAMPLE_KEY" ], "offset": 0, "limit": 0, "sampleSize": 0}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/query"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "data": [ { "key": "EXAMPLE_KEY", "value": {}, "writeLock": "efac747f6fb244569efef962ca9dc30e", "modified": { "date": null }, "created": { "date": null } } ] } ]}

Delete Default Player Index


Delete an index for player data with the default access class by its index ID.
Authorizations
ServiceAccount (cloud_save.indexes.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.delete

Path parameters for "Delete Default Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

indexId

string
required
example: myIndexedKey_1
The index ID supplied by the Cloud Save service.

HTTP response status codes for "Delete Default Player Index":

Code samples for "Delete Default Player Index":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players/{indexId}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Create Protected Player Index


Create an index for player data with the protected access class.
Authorizations
ServiceAccount (cloud_save.indexes.create)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.create

Path parameters for "Create Protected Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Create Protected Player Index"

Media Type:
application/json

indexConfig

object
required
No description

fields

array[object]
required
An array of fields in an index. Each field must be unique within the array.

key

string
required
example: myIndexedKey
The indexed Cloud Save key

asc

boolean
required
Whether the field is sorted in ascending order

HTTP response status codes for "Create Protected Player Index":

Code samples for "Create Protected Player Index":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "indexConfig": { "fields": [ { "key": "myIndexedKey", "asc": true } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players/protected"

Response example

{ "id": "myIndexedKey_1", "status": "READY"}

Query Protected Player Data


Query player data with the protected access class. If no index is available to fulfil the query then the query will fail.
Authorizations
ServiceAccount (cloud_save.indexes.get)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.get

Path parameters for "Query Protected Player Data"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Query Protected Player Data"

Media Type:
application/json

fields

array[object]
required
No description

key

string
required
example: EXAMPLE_KEY
Item key

value

object
required
The indexed Cloud Save value

op

string
required
The comparison operator to use for the filter. The specified value is compared lexicographically to the indexed value using one of the following operators:
  • EQ
    - Equal
  • NE
    - Not Equal
  • LT
    - Less Than
  • LE
    - Less Than or Equal
  • GT
    - Greater Than
  • GE
    - Greater Than or Equal

asc

boolean
required
Whether the field is sorted in ascending order

returnKeys

array[string]
The keys to return in the response. This can include keys not on the index. If not specified or empty, the data on the results will be empty for any returned entities.

offset

integer
The number of results to skip. Defaults to 0.

limit

integer
The maximum number of results to return. Defaults to 10. Specifying 0 will return the default number of results.

sampleSize

integer
If set, the given number of random items will be chosen from the total query results and returned as a sample. Defaults to null.

HTTP response status codes for "Query Protected Player Data":

Code samples for "Query Protected Player Data":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "fields": [ { "key": "EXAMPLE_KEY", "value": {}, "op": "EQ", "asc": true } ], "returnKeys": [ "EXAMPLE_KEY" ], "offset": 0, "limit": 0, "sampleSize": 0}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/protected/query"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "data": [ { "key": "EXAMPLE_KEY", "value": {}, "writeLock": "efac747f6fb244569efef962ca9dc30e", "modified": { "date": null }, "created": { "date": null } } ] } ]}

Delete Protected Player Index


Delete an index for player data with the protected access class by its index ID.
Authorizations
ServiceAccount (cloud_save.indexes.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.delete

Path parameters for "Delete Protected Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

indexId

string
required
example: myIndexedKey_1
The index ID supplied by the Cloud Save service.

HTTP response status codes for "Delete Protected Player Index":

Code samples for "Delete Protected Player Index":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players/protected/{indexId}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Create Public Player Index


Create an index for player data with the public access class.
Authorizations
ServiceAccount (cloud_save.indexes.create)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.create

Path parameters for "Create Public Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Create Public Player Index"

Media Type:
application/json

indexConfig

object
required
No description

fields

array[object]
required
An array of fields in an index. Each field must be unique within the array.

key

string
required
example: myIndexedKey
The indexed Cloud Save key

asc

boolean
required
Whether the field is sorted in ascending order

HTTP response status codes for "Create Public Player Index":

Code samples for "Create Public Player Index":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "indexConfig": { "fields": [ { "key": "myIndexedKey", "asc": true } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players/public"

Response example

{ "id": "myIndexedKey_1", "status": "READY"}

Query Public Player Data


Query player data with the public access class. If no index is available to fulfil the query then the query will fail.
Authorizations
ServiceAccount (cloud_save.indexes.get)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.get

Path parameters for "Query Public Player Data"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Query Public Player Data"

Media Type:
application/json

fields

array[object]
required
No description

key

string
required
example: EXAMPLE_KEY
Item key

value

object
required
The indexed Cloud Save value

op

string
required
The comparison operator to use for the filter. The specified value is compared lexicographically to the indexed value using one of the following operators:
  • EQ
    - Equal
  • NE
    - Not Equal
  • LT
    - Less Than
  • LE
    - Less Than or Equal
  • GT
    - Greater Than
  • GE
    - Greater Than or Equal

asc

boolean
required
Whether the field is sorted in ascending order

returnKeys

array[string]
The keys to return in the response. This can include keys not on the index. If not specified or empty, the data on the results will be empty for any returned entities.

offset

integer
The number of results to skip. Defaults to 0.

limit

integer
The maximum number of results to return. Defaults to 10. Specifying 0 will return the default number of results.

sampleSize

integer
If set, the given number of random items will be chosen from the total query results and returned as a sample. Defaults to null.

HTTP response status codes for "Query Public Player Data":

Code samples for "Query Public Player Data":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "fields": [ { "key": "EXAMPLE_KEY", "value": {}, "op": "EQ", "asc": true } ], "returnKeys": [ "EXAMPLE_KEY" ], "offset": 0, "limit": 0, "sampleSize": 0}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/public/query"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "data": [ { "key": "EXAMPLE_KEY", "value": {}, "writeLock": "efac747f6fb244569efef962ca9dc30e", "modified": { "date": null }, "created": { "date": null } } ] } ]}

Delete Public Player Index


Delete an index for player data with the public access class by its index ID.
Authorizations
ServiceAccount (cloud_save.indexes.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.delete

Path parameters for "Delete Public Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

indexId

string
required
example: myIndexedKey_1
The index ID supplied by the Cloud Save service.

HTTP response status codes for "Delete Public Player Index":

Code samples for "Delete Public Player Index":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players/public/{indexId}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Create Private Player Index


Create an index for player data with the private access class.
Authorizations
ServiceAccount (cloud_save.indexes.create)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.create

Path parameters for "Create Private Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Create Private Player Index"

Media Type:
application/json

indexConfig

object
required
No description

fields

array[object]
required
An array of fields in an index. Each field must be unique within the array.

key

string
required
example: myIndexedKey
The indexed Cloud Save key

asc

boolean
required
Whether the field is sorted in ascending order

HTTP response status codes for "Create Private Player Index":

Code samples for "Create Private Player Index":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "indexConfig": { "fields": [ { "key": "myIndexedKey", "asc": true } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players/private"

Response example

{ "id": "myIndexedKey_1", "status": "READY"}

Query Private Player Data


Query player data with the private access class. If no index is available to fulfil the query then the query will fail.
Authorizations
ServiceAccount (cloud_save.indexes.get)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.get

Path parameters for "Query Private Player Data"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Query Private Player Data"

Media Type:
application/json

fields

array[object]
required
No description

key

string
required
example: EXAMPLE_KEY
Item key

value

object
required
The indexed Cloud Save value

op

string
required
The comparison operator to use for the filter. The specified value is compared lexicographically to the indexed value using one of the following operators:
  • EQ
    - Equal
  • NE
    - Not Equal
  • LT
    - Less Than
  • LE
    - Less Than or Equal
  • GT
    - Greater Than
  • GE
    - Greater Than or Equal

asc

boolean
required
Whether the field is sorted in ascending order

returnKeys

array[string]
The keys to return in the response. This can include keys not on the index. If not specified or empty, the data on the results will be empty for any returned entities.

offset

integer
The number of results to skip. Defaults to 0.

limit

integer
The maximum number of results to return. Defaults to 10. Specifying 0 will return the default number of results.

sampleSize

integer
If set, the given number of random items will be chosen from the total query results and returned as a sample. Defaults to null.

HTTP response status codes for "Query Private Player Data":

Code samples for "Query Private Player Data":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "fields": [ { "key": "EXAMPLE_KEY", "value": {}, "op": "EQ", "asc": true } ], "returnKeys": [ "EXAMPLE_KEY" ], "offset": 0, "limit": 0, "sampleSize": 0}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/players/private/query"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "data": [ { "key": "EXAMPLE_KEY", "value": {}, "writeLock": "efac747f6fb244569efef962ca9dc30e", "modified": { "date": null }, "created": { "date": null } } ] } ]}

Delete Private Player Index


Delete an index for player data with the private access class by its index ID.
Authorizations
ServiceAccount (cloud_save.indexes.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.delete

Path parameters for "Delete Private Player Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

indexId

string
required
example: myIndexedKey_1
The index ID supplied by the Cloud Save service.

HTTP response status codes for "Delete Private Player Index":

Code samples for "Delete Private Player Index":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/players/private/{indexId}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Create Default Custom Index


Create an index for custom data with the default access class.
Authorizations
ServiceAccount (cloud_save.indexes.create)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.create

Path parameters for "Create Default Custom Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Create Default Custom Index"

Media Type:
application/json

indexConfig

object
required
No description

fields

array[object]
required
An array of fields in an index. Each field must be unique within the array.

key

string
required
example: myIndexedKey
The indexed Cloud Save key

asc

boolean
required
Whether the field is sorted in ascending order

HTTP response status codes for "Create Default Custom Index":

Code samples for "Create Default Custom Index":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "indexConfig": { "fields": [ { "key": "myIndexedKey", "asc": true } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/custom"

Response example

{ "id": "myIndexedKey_1", "status": "READY"}

Query Default Custom Data


Query custom data with the default access class. If no index is available to fulfil the query then the query will fail.
Authorizations
ServiceAccount (cloud_save.indexes.get)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.get

Path parameters for "Query Default Custom Data"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Query Default Custom Data"

Media Type:
application/json

fields

array[object]
required
No description

key

string
required
example: EXAMPLE_KEY
Item key

value

object
required
The indexed Cloud Save value

op

string
required
The comparison operator to use for the filter. The specified value is compared lexicographically to the indexed value using one of the following operators:
  • EQ
    - Equal
  • NE
    - Not Equal
  • LT
    - Less Than
  • LE
    - Less Than or Equal
  • GT
    - Greater Than
  • GE
    - Greater Than or Equal

asc

boolean
required
Whether the field is sorted in ascending order

returnKeys

array[string]
The keys to return in the response. This can include keys not on the index. If not specified or empty, the data on the results will be empty for any returned entities.

offset

integer
The number of results to skip. Defaults to 0.

limit

integer
The maximum number of results to return. Defaults to 10. Specifying 0 will return the default number of results.

sampleSize

integer
If set, the given number of random items will be chosen from the total query results and returned as a sample. Defaults to null.

HTTP response status codes for "Query Default Custom Data":

Code samples for "Query Default Custom Data":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "fields": [ { "key": "EXAMPLE_KEY", "value": {}, "op": "EQ", "asc": true } ], "returnKeys": [ "EXAMPLE_KEY" ], "offset": 0, "limit": 0, "sampleSize": 0}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/query"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "data": [ { "key": "EXAMPLE_KEY", "value": {}, "writeLock": "efac747f6fb244569efef962ca9dc30e", "modified": { "date": null }, "created": { "date": null } } ] } ]}

Delete Default Custom Index


Delete an index for custom data with the default access class by its index ID.
Authorizations
ServiceAccount (cloud_save.indexes.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.delete

Path parameters for "Delete Default Custom Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

indexId

string
required
example: myIndexedKey_1
The index ID supplied by the Cloud Save service.

HTTP response status codes for "Delete Default Custom Index":

Code samples for "Delete Default Custom Index":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/custom/{indexId}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

Create Private Custom Index


Create an index for custom data with the private access class.
Authorizations
ServiceAccount (cloud_save.indexes.create)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.create

Path parameters for "Create Private Custom Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Create Private Custom Index"

Media Type:
application/json

indexConfig

object
required
No description

fields

array[object]
required
An array of fields in an index. Each field must be unique within the array.

key

string
required
example: myIndexedKey
The indexed Cloud Save key

asc

boolean
required
Whether the field is sorted in ascending order

HTTP response status codes for "Create Private Custom Index":

Code samples for "Create Private Custom Index":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "indexConfig": { "fields": [ { "key": "myIndexedKey", "asc": true } ] }}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/custom/private"

Response example

{ "id": "myIndexedKey_1", "status": "READY"}

Query Private Custom Data


Query custom data with the private access class. If no index is available to fulfil the query then the query will fail.
Authorizations
ServiceAccount (cloud_save.indexes.get)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.get

Path parameters for "Query Private Custom Data"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Request body for "Query Private Custom Data"

Media Type:
application/json

fields

array[object]
required
No description

key

string
required
example: EXAMPLE_KEY
Item key

value

object
required
The indexed Cloud Save value

op

string
required
The comparison operator to use for the filter. The specified value is compared lexicographically to the indexed value using one of the following operators:
  • EQ
    - Equal
  • NE
    - Not Equal
  • LT
    - Less Than
  • LE
    - Less Than or Equal
  • GT
    - Greater Than
  • GE
    - Greater Than or Equal

asc

boolean
required
Whether the field is sorted in ascending order

returnKeys

array[string]
The keys to return in the response. This can include keys not on the index. If not specified or empty, the data on the results will be empty for any returned entities.

offset

integer
The number of results to skip. Defaults to 0.

limit

integer
The maximum number of results to return. Defaults to 10. Specifying 0 will return the default number of results.

sampleSize

integer
If set, the given number of random items will be chosen from the total query results and returned as a sample. Defaults to null.

HTTP response status codes for "Query Private Custom Data":

Code samples for "Query Private Custom Data":

Request example

curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "fields": [ { "key": "EXAMPLE_KEY", "value": {}, "op": "EQ", "asc": true } ], "returnKeys": [ "EXAMPLE_KEY" ], "offset": 0, "limit": 0, "sampleSize": 0}' \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/custom/private/query"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "data": [ { "key": "EXAMPLE_KEY", "value": {}, "writeLock": "efac747f6fb244569efef962ca9dc30e", "modified": { "date": null }, "created": { "date": null } } ] } ]}

Get Players


Retrieves a list of all players that have files saved in storage, ordered alphabetically.
Authorizations
ServiceAccount (cloud_save.files.list)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.files.list

Path parameters for "Get Players"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

Query parameters for "Get Players"

after

string
The player after which to retrieve the next page of players.

pageSize

integer
The list size of the returned players, defaulted to 20.

HTTP response status codes for "Get Players":

Code samples for "Get Players":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/files/projects/{projectId}/environments/{environmentId}/players"

Response example

{ "results": [ { "id": "s1QFdyYFXCC2YBocplKoLstxvQ2r", "accessClasses": { "default": { "totalSize": 0, "numFiles": 0 } } } ], "links": { "next": "string" }}

Delete Private Custom Index


Delete an index for custom data with the private access class by its index ID.
Authorizations
ServiceAccount (cloud_save.indexes.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.indexes.delete

Path parameters for "Delete Private Custom Index"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

indexId

string
required
example: myIndexedKey_1
The index ID supplied by the Cloud Save service.

HTTP response status codes for "Delete Private Custom Index":

Code samples for "Delete Private Custom Index":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/data/projects/{projectId}/environments/{environmentId}/indexes/custom/private/{indexId}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}

List Player Files


Retrieves a list of names of all the files currently saved in storage for a player along with size (in bytes), last date modified and current WriteLock. Ordered alphabetically in page sizes of 20.
Authorizations
ServiceAccount (cloud_save.files.list)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.files.list

Path parameters for "List Player Files"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

Query parameters for "List Player Files"

after

string
The key after which to retrieve the next page of files.

pageSize

integer
The list size of the returned files, defaulted to 20.

HTTP response status codes for "List Player Files":

Code samples for "List Player Files":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/files/projects/{projectId}/environments/{environmentId}/players/{playerId}/items"

Response example

{ "results": [ { "key": "EXAMPLE_KEY", "writeLock": "efac747f6fb244569efef962ca9dc30e", "modified": { "date": "2020-04-01T13:07:23Z" }, "created": { "date": "2020-04-01T13:07:23Z" }, "contentType": "text/plain", "size": 2048 } ], "links": { "next": "string" }}

Get Player File Download URL


Generates a signed URL that will allow the client to download the requested player file for a limited period of time. If successful, an object will be returned containing all necessary information to perform the download
Authorizations
ServiceAccount (cloud_save.files.read)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.files.read

Path parameters for "Get Player File Download URL"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

key

string
required
Item key.

HTTP response status codes for "Get Player File Download URL":

Code samples for "Get Player File Download URL":

Request example

curl -X GET \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/files/projects/{projectId}/environments/{environmentId}/players/{playerId}/items/{key}"

Response example

{ "signedUrl": "string", "httpMethod": "string", "requiredHeaders": {}}

Delete Player File


Deletes the specified player file. If a WriteLock is provided, the file will only be deleted if it matches the stored WriteLock.
Authorizations
ServiceAccount (cloud_save.files.delete)
HTTP: ServiceAccount
To get started with authentication, visit the Service Account Authentication section.
HTTP Authorization Scheme: basic
Required scopes: cloud_save.files.delete

Path parameters for "Delete Player File"

projectId

string
required
The project's Project ID

environmentId

string
required
The Environment ID of a project

playerId

string
required
example: s1QFdyYFXCC2YBocplKoLstxvQ2r
The player ID supplied by the Authorization service.

key

string
required
Item key.

Query parameters for "Delete Player File"

writeLock

string
Enforces conflict checking when deleting an existing file. Omitting this field ignores write conflicts. When present, an error response will be returned if the writeLock in the request does not match the stored writeLock.

HTTP response status codes for "Delete Player File":

Code samples for "Delete Player File":

Request example

curl -X DELETE \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ "https://services.api.unity.com/cloud-save/v1/files/projects/{projectId}/environments/{environmentId}/players/{playerId}/items/{key}"

Response example

{ "type": "problems/basic", "title": "service unavailable", "status": 500, "code": 1000, "detail": "service unavailable", "details": [ { "health": [ "service health ping failed" ] } ]}