Identity

Definition

Variables in single quotes '...' can or must be changed according to your specific case.

public_key is the public key of an identity.

name is the name of an identity.

newname is the new name of an identity for the rename request.

subsystem is a subsystem, e.g. namestore.

Identity

An identity consists of a public key and a name. An identity can be assigned to a subsystem. Each subsystem can only have one default identity.

Error Response

An error response is sent in the JSON format: {"error":"*error_description*"}

Following numbers are added for references inside the documentation only.

Error descriptions are:

Nr. Error Description           - Explanation
1)  Unknown Error               - Error is not specified
2)  No identity found           - Identity was not found with given name, public key or no identity was found at all
3)  Missing identity public key - Identity public key length is zero
4)  Missing identity name       - Identity name length is zero
5)  Missing subsystem name      - Subsystem name length is zero
6)  No data                     - No JSON data given
7)  Data invalid                - Wrong JSON data given
8)  Rename failed               - Rename request failed due to wrong name, etc.
9)  Setting subsystem failed    - Setting the subsystem for an identity failed (usually this error does not occur)

Error 1) is always possible and is not listed in following requests.

ATTENTION: Any error message from the Identity API (not REST API) can occur and can be returned in the error response. These responses are not listed here.

Response Code

A response of a message has a HTTP response code. Usually, this code is 200 OK for a successful response. The code changes in some cases:

a) 200 OK         - Normal response (but may contain an error message)
b) 201 Created    - Success after POST request
c) 204 No Content - Success PUT or DELETE request
d) 404 Not Found  - Identity is not found with identifier
e) 409 Conflict   - PUT or POST request not possible due to existing duplicate

d) 404 Not Found is always used when the error message is either 2), 3) or 4).

Requests

GET Requests

Title

Returns all identities with name and public key

URL

/identity/all

Method

GET

URL Params

none

Data Params

none

Success Response

[{“pubkey”:”public_key”, “name”:”name”},…]

Error Response

{“error”:”error_desc”} 2

Attention

The response in this request is an array!


Title

Returns only a specific identity

URL

/identity/pubkey/'public_key' or /identity/name/'name'

Method

GET

URL Params

none

Data Params

none

Success Response

{“pubkey”:”public_key”, “name”:”name”}

Error Response

{“error”:”error_desc”} 2; 3 or 4


Title

Returns default identity for specific subsystem

URL

/identity/subsystem/'subsystem'

Method

GET

URL Params

none

Data Params

none

Success Response

{“pubkey”:”public_key”, “name”:”name”}

Error Response

{“error”:”error_desc”} 2; 5

POST Request

Title

Creates an identity

URL

/identity

Method

POST

URL Params

none

Data Params

{“name”:’name’}

Success Response

Response Code: :literal:` b) 201 Created`

Error Response

{“error”:”error_desc”} 6; 7
or
Response Code: e) 409 Conflict if name in use

PUT Request

Title

Changes name of identity

URL

/identity/pubkey/'public_key' or /identity/name/'name'

Method

PUT

URL Params

none

Data Params

{“newname”:’newname’}

Success Response

Response Code: c) 204 No Content

Error Response

{“error”:”error_desc”} 2; 3 or 4; 6; 7; 8
or
Response Code: e) 409 Conflict if newname in use

Title

Sets identity as default for a subsystem

URL

/identity/subsystem/'name'

Method

PUT

URL Params

none

Data Params

{“subsystem”:’subsystem’}

Success Response

Response Code: c) 204 No Content

Error Response

{“error”:”error_desc”} 2; 4; 6; 7; 9

DELETE Request

Title

Deletes specific identity

URL

/identity/pubkey/'public_key' or /identity/name/'name'

Method

DELETE

URL Params

none

Data Params

none

Success Response

Response Code: c) 204 No Content

Error Response

{“error”:”error_desc”} 2; 3 or 4

OPTIONS Request

Title

Gets request options

URL

/identity

Method

OPTIONS

URL Params

none

Data Params

none

Success Response

Error Response

none