specifications/API/client-server/v1/register.md

2.2 KiB

POST /v1/register


Registers the user, and issues an access token for future requests.


Request

Name Type Description
identifier string Required User's desired ID
email string Required User's email
password string Required: The user's password (we need to figure out how exactly we're hashing + salting it on the client)
device_name string Name to help the user identify the device in their session list
{
    "identifier": "radial_4740",
    "email": "radial_4740@yahoo.com",
    "password": "9r89mhs4czu4",
    "device_name": "Laptop"
}

Responses

Status Description
200 Registration successful
400 The post request included poorly formated data
401 Signups are disabled, gorb ID not available, email already in use, or password doesn't meet the minimum security requirements

200

Name Type Description
access_token string Required: The access token that will be used for further authentication
user_id string Required: The full gorb ID for the account
expires_in int How many seconds until the token expires and is invalidated
{
    "access_token": "gwLhWXD9wrqL3DwxXZ0VHUeOjr8am1yO",
    "user_id": "@radial_4740:gorb.app",
    "expires_in": 2592000
}

401

Name Type Description
signups_enabled bool Does the server have signups enabled?
gorb_id_valid bool Is the given gorb ID even valid?
gorb_id_available bool Is the given gorb ID available?
email_valid bool Is the given email valid?
email_available bool Is the given email available?
password_minimum_length bool Is the given password long enough?
password_special_characters bool If enforced by the server, is there enough special characters in the password?
password_letters bool If enforced by the server, is there enough letters in the password?
password_numbers bool If enforced by the server, is there enough numbers in the password?
{   
    "signups_enabled": true,
    "gorb_id_valid": true,
    "gorb_id_available": true,
    "email_valid": true,
    "email_available": false,
    "password_minimum_length": true,
    "password_special_characters": false,
    "password_letters": true,
    "password_numbers": true,
}