Maincloud is now LIVE! Get Maincloud Energy 90% off until we run out!

`/v1/identity` HTTP API

The HTTP endpoints in /v1/identity allow clients to generate and manage Spacetime public identities and private tokens.

At a glance

Route Description
POST /v1/identity Generate a new identity and token.
POST /v1/identity/websocket-token Generate a short-lived access token for use in untrusted contexts.
GET /v1/identity/public-key Get the public key used for verifying tokens.
GET /v1/identity/:identity/databases List databases owned by an identity.
GET /v1/identity/:identity/verify Verify an identity and token.

`POST /v1/identity`

Create a new identity.

Accessible through the CLI as spacetime identity new.

Returns

Returns JSON in the form:

{
    "identity": string,
    "token": string
} 

`POST /v1/identity/websocket-token`

Generate a short-lived access token which can be used in untrusted contexts, e.g. embedded in URLs.

Required Headers
Name Value
Authorization A Spacetime token encoded as Basic authorization.
Returns

Returns JSON in the form:

{
    "token": string
} 

The token value is a short-lived JSON Web Token.

`GET /v1/identity/public-key`

Fetches the public key used by the database to verify tokens.

Returns

Returns a response of content-type application/pem-certificate-chain.

`POST /v1/identity/:identity/set-email`

Associate an email with a Spacetime identity.

Accessible through the CLI as spacetime identity set-email <identity> <email>.

Parameters
Name Value
:identity The identity to associate with the email.
Query Parameters
Name Value
email An email address.
Required Headers
Name Value
Authorization A Spacetime token encoded as Basic authorization.

`GET /v1/identity/:identity/databases`

List all databases owned by an identity.

Parameters
Name Value
:identity A Spacetime identity.
Returns

Returns JSON in the form:

{
    "addresses": array<string>
} 

The addresses value is an array of zero or more strings, each of which is the address of a database owned by the identity passed as a parameter.

`GET /v1/identity/:identity/verify`

Verify the validity of an identity/token pair.

Parameters
Name Value
:identity The identity to verify.
Required Headers
Name Value
Authorization A Spacetime token encoded as Basic authorization.
Returns

Returns no data.

If the token is valid and matches the identity, returns 204 No Content.

If the token is valid but does not match the identity, returns 400 Bad Request.

If the token is invalid, or no Authorization header is included in the request, returns 401 Unauthorized.

Edit On Github