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')
