Skip to content

Users

Register

http
POST /user

Creates a new account. A confirmation email is sent after registration. No auth required.

Rate Limit: 5 requests per minute.

Request Body:

json
{
  "username": "optischa",
  "email": "optischa@example.com",
  "password": "MyPassword1!"
}
FieldTypeRules
usernamestringRequired
emailstringValid email address
passwordstringMin. 8 chars, 1 uppercase, 1 number, 1 special character

Example:

bash
curl -X POST https://api.radioreg.net/user \
  -H "Content-Type: application/json" \
  -d '{
    "username": "optischa",
    "email": "optischa@example.com",
    "password": "MyPassword1!"
  }'

Response (201):

json
{
  "message": "User created, please active user"
}

Activate Account

http
POST /user/activate/:token

Activates an account using the token from the confirmation email. No auth required.

Parameters:

NameTypeDescription
tokenstringActivation token from the email

Example:

bash
curl -X POST https://api.radioreg.net/user/activate/abc123...

Response (200):

json
{
  "message": "User activated"
}

Login

http
POST /user/login

Logs in a user and returns a JWT. No auth required.

Rate Limit: 10 requests per minute.

Request Body:

json
{
  "email": "optischa@example.com",
  "password": "MyPassword1!",
  "thirtyDaysLogin": false
}
FieldTypeRequiredDescription
emailstringyesEmail address
passwordstringyesPassword
thirtyDaysLoginbooleannoToken valid for 30 days (default: 24h)

Example:

bash
curl -X POST https://api.radioreg.net/user/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "optischa@example.com",
    "password": "MyPassword1!",
    "thirtyDaysLogin": false
  }'

Response (200):

json
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

Use the access_token as a Bearer token for all protected endpoints.


Request Password Reset

http
POST /user/requestPasswordChange

Sends a password reset email. No auth required.

Rate Limit: 5 requests per minute.

Request Body:

json
{
  "email": "optischa@example.com"
}

Example:

bash
curl -X POST https://api.radioreg.net/user/requestPasswordChange \
  -H "Content-Type: application/json" \
  -d '{"email": "optischa@example.com"}'

Response (200):

json
{
  "message": "forgetPassword.sendRequest"
}

The API responds with 200 even if the email address does not exist — to prevent enumeration.


Reset Password

http
PUT /user/resetPassword/:token

Resets the password using the token from the reset email. No auth required.

Parameters:

NameTypeDescription
tokenstringReset token from the email

Request Body:

json
{
  "password": "NewPassword1!"
}

Example:

bash
curl -X PUT https://api.radioreg.net/user/resetPassword/abc123... \
  -H "Content-Type: application/json" \
  -d '{"password": "NewPassword1!"}'

Response (201):

json
{
  "message": "resetPassword.successful"
}

RadioReg API