initial commit
This commit is contained in:
commit
267c66d686
|
@ -0,0 +1,106 @@
|
|||
# API
|
||||
All API endpoints are accessible with this base URL: `https://api.nerdcult.net/`.
|
||||
Some API endpoints require an Authorization HTTP header.
|
||||
The token for this can be aquired using the `/account/authenticate` endpoint.
|
||||
|
||||
## Endpoints
|
||||
### `/account/register` - POST
|
||||
Requests a new nerdcult account.
|
||||
This sends a verification E-Mail which contains a link to the veriication frontend with an verification token as url parameter.
|
||||
This verification link will time out after 10 minutes.
|
||||
|
||||
#### HTTP Headers
|
||||
| Header | Content |
|
||||
|--------------|--------------------|
|
||||
| Content-Type | `application/json` |
|
||||
|
||||
#### Content - JSON
|
||||
| Field | Description |
|
||||
|----------|----------------------------------------|
|
||||
| username | The accounts username / userid. |
|
||||
| password | The password used for authentication. |
|
||||
| email | The email address used for validation. |
|
||||
|
||||
#### Responses
|
||||
##### 200 - Success
|
||||
The verification request was sent.
|
||||
##### 400 - Error
|
||||
The request was malformed.
|
||||
##### 403 - Error
|
||||
The password is not matching the requirements.
|
||||
##### 409 - Error
|
||||
The requested username or email is already taken.
|
||||
|
||||
__Content - JSON:__
|
||||
| Field | Description |
|
||||
|----------|----------------------------------------------------------------------|
|
||||
| conflict | Can be `username` or `email`, depending on what caused the conflict. |
|
||||
|
||||
##### 422 - Error
|
||||
Malformed email address.
|
||||
|
||||
### `/account/verify` - POST
|
||||
Verifies a requested account.
|
||||
|
||||
#### HTTP Headers
|
||||
| Header | Content |
|
||||
|--------------|--------------------|
|
||||
| Content-Type | `application/json` |
|
||||
|
||||
#### Content - JSON
|
||||
| Field | Description |
|
||||
|-------|--------------------------------------------------------------------------------|
|
||||
| token | The verification token you received via an email after requesting the account. |
|
||||
|
||||
#### Responses
|
||||
##### 200 - Success
|
||||
The account was verified. You can login now.
|
||||
##### 400 - Error
|
||||
The request was malformed.
|
||||
##### 403 - Error
|
||||
The provided token is unknown.
|
||||
|
||||
### `/account/authenticate` - POST
|
||||
Generates an authentication token for an account.
|
||||
|
||||
#### HTTP Headers
|
||||
| Header | Content |
|
||||
|--------------|--------------------|
|
||||
| Content-Type | `application/json` |
|
||||
|
||||
#### Content - JSON
|
||||
| Field | Description |
|
||||
|----------|---------------------------------|
|
||||
| username | The accounts username / userid. |
|
||||
| password | The accounts password. |
|
||||
|
||||
#### Responses
|
||||
##### 200 - Success
|
||||
The authentication was successfull.
|
||||
|
||||
__Content - JSON:__
|
||||
| Field | Description |
|
||||
|-------|------------------------|
|
||||
| token | A unique access token. |
|
||||
|
||||
##### 400 - Error
|
||||
The request was malformed.
|
||||
##### 403 - Error
|
||||
The provided password was wrong.
|
||||
##### 404 - Error
|
||||
The provided username was not found.
|
||||
|
||||
### `/account/delete` - DELETE
|
||||
Deletes the account.
|
||||
|
||||
#### HTTP Headers
|
||||
| Header | Content |
|
||||
|---------------|--------------------|
|
||||
| Content-Type | `application/json` |
|
||||
| Authorization | `Bearer {token}` |
|
||||
|
||||
#### Responses
|
||||
##### 200 - Success
|
||||
The account was deleted.
|
||||
##### 403 - Errorpassword was wrong
|
||||
The provided token doesn't allow you to perform this operation.
|
Loading…
Reference in New Issue