Onedata API Reference

REST API references for Onezone, Oneprovider, and Onepanel.

Add user to cluster

PUT /clusters/{id}/users/{uid}

Adds user {uid} as member of cluster {id}. Optionally, privileges can be passed in the request body, otherwise default privileges will be set for the user in this cluster.

This operation can only be invoked by the user {uid} to add himself to the cluster (if he is not a member already) and requires cluster_add_user privilege in the cluster. If privileges are specified in the request, cluster_set_privileges privilege is also required.

Administrators having the oz_clusters_add_relationships and oz_users_add_relationships admin privileges can add any user to any cluster, though oz_clusters_set_privileges privilege is required if privileges are specified in the request.

Example cURL requests

Add user to cluster

curl -u username:password -H "Content-type: application/json" -X PUT \
https://$HOST/api/v3/onezone/clusters/$CLUSTER_ID/users/$USER_ID

Path parameters

Parameter Type & Description
id required
string

Cluster Id.

uid required
string

User Id.

Request body

application/json
PropertyType & Description
privileges
array of strings

A list of privileges in the cluster.

Request Examples

Shell
onezone-rest-cli addClusterUser id=b752ceafabb662b4e5728b2ded25cdd1 uid=a5b469a2b0516b662a49da74d6d7d7bc

Responses

application/json
204

The user was added to the cluster.

400

Invalid request.

PropertyType & Description
error
object

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}
401

Authentication error.

PropertyType & Description
error
object

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}
403

Authorization error.

PropertyType & Description
error
object

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}
404

Resource not found.

PropertyType & Description
error
object

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}
500

Internal server Error.

PropertyType & Description
error
object

Object describing an error.

id required
string

String identifying the error type. Does not change between error instances.

description required
string

Human readable error description. May contain information specific to given error instance.

details
object

Details about the error instance. The object schema is specific to each error type.

Example

application/json
{
  "error": {
    "id": "badValueString",
    "details": {
      "key": "name"
    },
    "description": "Bad value: provided \"name\" must be a string."
  }
}