5.0 KiB
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. |
The email address used for validation. |
Responses
200 - Success
The verification request was sent.
400 - Error: Bad Request
The request was malformed.
403 - Error: Forbidden
Blocked for security reasons.
409 - Error: Conflict
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: Unprocessable Entity
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: Bad Request
The request was malformed.
403 - Error: Forbidden
Blocked for security reasons.
404 - Error: Forbidden
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: Bad Request
The request was malformed.
401 - Error: Unauthorized
The provided password was wrong.
403 - Error: Forbidden
Blocked for security reasons.
404 - Error: Not Found
The provided username was not found.
424 - Error: Failed Dependency
The account isn't verified yet.
/account/delete
- DELETE
Deletes the account.
HTTP Headers
Header | Content |
---|---|
Authorization | Bearer {token} |
Responses
200 - Success
The account was deleted.
401 - Error: Unauthorized
The provided auth token doesn't allow you to perform this operation.
403 - Error: Forbidden
Blocked for security reasons.
/account/tokens
- DELETE
Deletes a token of the authenticated account.
HTTP Headers
Header | Content |
---|---|
Authorization | Bearer {token} |
Content-Type | application/json |
Content - JSON
Field | Description |
---|---|
token | The token that should be deleted. |
Responses
200 - Success
The token was deleted.
401 - Error: Unauthorized
The provided auth token doesn't allow you to perform this operation.
403 - Error: Forbidden
Blocked for security reasons.
404 - Error: Not Found
The token that should be deleted wasn't found.
/account/tokens
- GET
Lists all active auth tokens for the account.
HTTP Headers
Header | Content |
---|---|
Authorization | Bearer {token} |
Responses
200 - Success
Content - JSON:
Field | Description |
---|---|
tokens | A list of (token, expiration date) pairs. The expiration date is given as a UTC UNIX timestamp. |
401 - Error: Unauthorized
The provided auth token doesn't allow you to perform this operation.
403 - Error: Forbidden
Blocked for security reasons.