Onedata API Reference

REST API references for Onezone, Oneprovider, and Onepanel.

Register provider

POST /providers

Registers a Oneprovider in Onezone service. Upon success, a new cluster is created, with the registering user linked to it. The cluster Id is the same as Oneprovider Id.

Requires a valid provider registration token - see:

This operation has public access.

Example cURL requests

Register provider

curl -u username:password -H "Content-type: application/json" \
-X POST -d '{
  "token" : "MDAxNmxvY2F00aW9uIHJlZ2lzdHJ5CjAwM2JpZGVudGlmaW",
  "name" : "My provider",
  "subdomainDelegation" : "false",
  "domain" : "my-provider.example.com",
  "latitude" : "50.0647",
  "longitude" : "19.9450",
}' \
https://$HOST/api/v3/onezone/provider

Request body

application/json

Provider reqistration request.

PropertyType & Description
token
string

Token for registering a new Oneprovider.

name
string

Oneprovider name.

subdomainDelegation
boolean

If enabled, the Oneprovider will be assigned a subdomain in onezone's domain and 'subdomain' property must be provided. If disabled, 'domain' property should be provided.

subdomain
string

Unique subdomain in onezone's domain for the Oneprovider. Required if subdomain delegation is enabled.

domain
string

The fully qualified domain name of the Oneprovider or its IP address (only for single-node deployments or clusters with a reverse proxy). Required if subdomain delegation is disabled.

latitude
number

The geographical latitude of the Oneprovider's data center location.

longitude
number

The geographical longitude of the Oneprovider's data center location.

Request Examples

application/json
{
  "token": "MDAxNmxvY2F00aW9uIHJlZ2lzdHJ5CjAwM2JpZGVudGlmaW",
  "name": "Example provider",
  "subdomainDelegation": false,
  "domain": "provider2.example.com",
  "latitude": 50.0647,
  "longitude": 19.945
}

Responses

application/json
200

Provider registered successfully.

PropertyType & Description
providerId
string

The Id of the newly registered provider.

providerRootToken
string

The Oneprovider root token - bearing its identity and full authorization.

adminUserId
string

The Id of the Onezone user that is linked to the Oneprovider panel admin account.

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."
  }
}