Document registration API that I'm about to implement

This commit is contained in:
Pere Lev 2024-07-05 21:38:00 +03:00
parent 37f1665f16
commit 17f1583808
No known key found for this signature in database
GPG key ID: 5252C5C863E5E57D

53
API.md
View file

@ -89,7 +89,58 @@ curl \
## Register an Account ## Register an Account
There's currently no API endpoint for creating a new account. This section isn't implemented yet. I'm about to implement it. Putting the API
here for review while I'm coding.
### Check if registration is enabled
Send a GET request to the `/register/enabled` endpoint. A 2xx response
indicates it's enabled, otherwise it's disabled.
### Check username availability
Send a GET request to the `/register/available` endpoint:
```sh
curl -X GET \
-H 'Authorization: Bearer our_application_access_token_here' \
-F 'username=alice' \
https://vervis.example/register/available
```
A 2xx response indicates the username is available.
### Create a new account
Send a POST request to the `/register` endpoint:
```sh
curl -X POST \
-H 'Authorization: Bearer our_application_access_token_here' \
-F 'username=alice' \
-F 'passphrase=R6GQJ9HqLtRQ58' \
-F 'email=alice@email.example' \
https://vervis.example/register
```
A 2xx response indicates the account has been created. A JSON object is
returned, with a boolean `email_sent` field. If true, a verification email has
been sent to the specified email address. If false, it means email verification
is disabled on this server, and the account is ready to be used.
### Verify account
The email contains a token, which you can end via a POST request to the
`/register/verify` endpoint, in order to verify and enable the account:
```sh
curl -X POST \
-H 'Authorization: Bearer our_application_access_token_here' \
-F 'token=pRiW8ayeuN7UBW4qAKg9qRBE0DUVCIof' \
https://vervis.example/register/verify
```
A 2xx response indicates successful verification.
## Log in as Existing User ## Log in as Existing User