Cloud Save Data Admin API
Server (admin) API surface for Unity Cloud Save Data: the endpoints that
carry the path segment. These endpoints are
server-authenticated (Service Account / JWT) and authorized with
RBAC permissions, an entitlement check, and a nested-resource check that
the environment belongs to the project. The player-facing API (no
environment segment) lives in .
environments/{environmentId}unitydata/client-v1-routes.yamlDownload OpenAPI specification:
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.
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
Request body for "Set Player Item Batch Across Access Classes"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
Code samples for "Set Player Item Batch Across Access Classes":
Request example
curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "default": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Array": [ 23, 12, 123 ], "Object": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "public": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Array": [ 23, 12, 123 ], "Object": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "protected": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Array": [ 23, 12, 123 ], "Object": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "private": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Array": [ 23, 12, 123 ], "Object": { "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.
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
Code samples for "Get Player Items Across Access Classes":
Request example
curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -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
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
Request body for "Set Player Item"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
Request body for "Set Player Item Batch"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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" } ]}
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
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" }}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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.
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
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" }}
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
Request body for "Set Public Player Item"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
Request body for "Set Public Player Item Batch"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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" } ]}
Get Public Player Keys
Gets a paged list of public 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
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" }}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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" }}
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
Request body for "Set Protected Player Item"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
Request body for "Set Protected Player Item Batch"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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" } ]}
Get Protected Player Keys
Gets a paged list of protected 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
Code samples for "Get Protected 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}/protected/keys"
Response example
{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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" }}
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
Request body for "Set Private Player Item"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
Request body for "Set Private Player Item Batch"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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 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.
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
Code samples for "Get Private 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}/private/keys"
Response example
{ "results": [ { "key": "KEY1", "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0", "modified": { "date": "2020-02-20T20:20:20Z" } } ], "links": { "next": "string" }}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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 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.
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
Request body for "Set Custom Item Batch Across Access Classes"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
Code samples for "Set Custom Item Batch Across Access Classes":
Request example
curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -H "Content-Type: application/json" \ -d '{ "default": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Array": [ 23, 12, 123 ], "Object": { "weapon": "Sword", "damage": 3, "durability": 46 } }, "writeLock": "7b8920a57912509f6b5cbb183eb7fcb0" } ] }, "private": { "data": [ { "key": "ItemKey", "value": { "Health": 87, "Array": [ 23, 12, 123 ], "Object": { "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.
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
Code samples for "Get Custom Items Across Access Classes":
Request example
curl -X POST \ -H "Authorization: Basic <YOUR_CREDENTIALS>" \ -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": [] } }}
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
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" }}
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
Request body for "Set Custom Item"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
Request body for "Set Custom Item Batch"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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" } ]}
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
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" }}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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" }}
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
Request body for "Set Private Custom Item"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
Request body for "Set Private Custom Item Batch"
Media Type:
application/jsonEnforces 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.
The writeLock is an opaque value: send back the value returned by this API without changing or interpreting it.
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, "Array": [ 23, 12, 123 ], "Object": { "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" } ]}
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
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" }}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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" }}
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
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
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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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}' \ "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 } } ] } ]}
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
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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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}' \ "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 } } ] } ]}
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
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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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}' \ "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 } } ] } ]}
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
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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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}' \ "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 } } ] } ]}
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
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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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}' \ "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 } } ] } ]}
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
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"}
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
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": "string", "title": "string", "status": 0, "requestId": null, "code": 0, "detail": "string", "instance": "string", "details": [ {} ]}
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
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}' \ "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 } } ] } ]}