81 lines
No EOL
2.1 KiB
Markdown
81 lines
No EOL
2.1 KiB
Markdown
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|
|
|
|
|
```json
|
|
{
|
|
"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|
|
|
|403|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|
|
|
|
|
```json
|
|
{
|
|
"access_token": "gwLhWXD9wrqL3DwxXZ0VHUeOjr8am1yO",
|
|
"user_id": "@radial_4740:gorb.app",
|
|
"expires_in": 2592000
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
### 403
|
|
|
|
|Name|Type|Description|
|
|
|-|-|-|
|
|
|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?|
|
|
|
|
```json
|
|
{
|
|
"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,
|
|
}
|
|
``` |