Users
The user resource represents the end-user of the data retrieved from the API. For example, if an app is using the API to let people access iCloud Photo Library photos, the end-user is the user of that app.
It is important to identify end-users consistently to allow for the highest levels of data security and ensure the best user experience.
Attributes
name | type | description |
---|---|---|
id |
user ID | Resource identifier. |
resource |
string, always user |
Resource type specifier. |
organisation |
organisation ID | The organisation the resource belongs to. |
key |
key ID | The key the resource is associated with. |
identifier |
string | Custom value to help identify the user and avoid duplication. For example, this might be set to be the email address of the end-user. |
state |
string | One of: active , deactivated , blocked . |
date_created |
datetime | When the resource was created. |
Identifier
The identifier
attribute is not used by the API but should serve as a bridge between your implementation and the information stored in the API. The value of this attribute should allow for a straight mapping of a user of your system with a user on the API. This can be a user ID within your system, or the end-user's email address.
States
active
- the user's standard state.
deactivated
- the owning organisation has disabled this user's access.
blocked
- an API admin has disabled this user's access.
Create POST /users
Parameters
name | type | description |
---|---|---|
organisation |
super | Lets API admins create users on behalf of other organisations. |
key |
default: the current key | Assign a user to a separate key. Perhaps one with fewer permissions, for example. |
identifier |
required, string | A piece of information to identify this user against an end-user in your system. |
Using cURL
curl https://ricloud-api.reincubate.com/users \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "identifier": "end-user@email.com" }'
Using ricloud-py
import ricloud user = ricloud.User.create(identifier='end-user@email.com')
Retrieve GET /users/{user ID}
Using cURL
curl https://ricloud-api.reincubate.com/users/<user ID> \ -H 'Authorization: Token <your key_token>'
Using ricloud-py
import ricloud user = ricloud.User.retrieve(<user ID>)
List GET /users
Parameters
name | type | description |
---|---|---|
key |
key ID | Filter the users by the key they are associated with. |
identifier |
string | Filter the users by their identifier. |
state |
string | Filter the users by their state. |
date_created |
datetime filter | Filter by resource creation date. |
Using cURL
curl https://ricloud-api.reincubate.com/users \ -H 'Authorization: Token <your key_token>'
Using ricloud-py
import ricloud users = ricloud.User.list()
Update POST /users/{user ID}
Parameters
name | type | description |
---|---|---|
key |
key ID | Move the user to be associated with a different key. For example, if they update from a trial. |
identifier |
string | Update the users identifier. |
state |
string | Update the user's state, either to deactivated or back to active . |
Using cURL
curl https://ricloud-api.reincubate.com/users/<user ID> \ -X POST \ -H 'Authorization: Token <your key_token>' \ -H 'Content-Type: application/json' \ -d '{ "state": "deactivated" }'
Using ricloud-py
import ricloud user = ricloud.User.update_with_id(<user ID>, state='deactivated') # OR user = ricloud.User.retrieve(<user ID>) user.update(state='deactivated')