Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Daniel-Stojanovski/finkiopendesk/llms.txt

Use this file to discover all available pages before exploring further.

Students at FCSE register using their @students.finki.ukim.mk email address. Because the account must be linked to a verified institutional address, the process involves two API calls: one to submit your email and trigger an activation email, and a second to set your password using the token from that email. Completing the second call activates your account and returns a login JWT immediately — no separate login step is needed.

Prerequisites

  • A valid FCSE student email address ending in @students.finki.ukim.mk
  • Access to that email inbox to receive the activation link

Registration flow

1

Submit your student email

Send your student email as a query parameter to POST /auth/students/create. The server creates an inactive account and sends an activation email to the address you provide.
curl -X POST \
  "https://finkiopendesk-be.onrender.com/auth/students/create?email=your.name@students.finki.ukim.mk"
A successful request returns 200 OK. The response body contains the raw activation token (this is also embedded in the email link). You do not need to save it — it will arrive in your inbox.
Only @students.finki.ukim.mk addresses are accepted. Submitting any other address returns a 400 error.
2

Open the activation email

Check your student inbox for an email with the subject “Activate your account”. It contains a button that links to:
https://finkiopendesk.onrender.com/#/register/activate?token=<activation_token>
The token embedded in this link is what you will pass to the next API call. The link opens the FinkiOpenDesk web UI where you can set your password directly, but you can also call the API manually as shown in the next step.
The activation link expires after 30 minutes. If it expires, you must restart registration from step 1 with the same email address.
3

Activate your account and set a password

Call POST /auth/students/activate with the activation token and your chosen password. This validates the token, saves your hashed password, marks the account as active, and returns a login JWT.
curl -X POST \
  https://finkiopendesk-be.onrender.com/auth/students/activate \
  -H "Content-Type: application/json" \
  -d '{
    "token": "<activation_token>",
    "password": "YourPassword1!"
  }'
Request body:
FieldTypeDescription
tokenstringThe activation token from the email link
passwordstringYour chosen password (see requirements below)
Response: 200 OK — the response body is the raw JWT string:
eyJhbGciOiJIUzI1NiJ9...
Store this token. You will use it as Authorization: Bearer <token> in all subsequent authenticated requests.
Activation tokens are single-use. Calling this endpoint a second time with the same token will fail even if the token has not expired yet.

Password requirements

The password you set during activation must meet all of the following rules:
  • At least 8 characters
  • At least one uppercase letter
  • At least one number
  • At least one special character (!, @, #, $, %, ^, &, *, _, +, =, -)

What happens after activation

Once you activate your account:
  • Your account is marked as active (enabled = true)
  • Your student flag is set to true, identifying you as an FCSE student
  • You receive a login JWT valid for 24 hours
  • You can immediately call protected endpoints using that token
After your first JWT expires, use POST /auth/login with your email and password to get a new one. See Log in and manage tokens for details.

Error reference

ScenarioHTTP statusMessage
Email is not a student address400Provided e-mail must be a valid student e-mail address
Email already registered400User with the provided e-mail address already exists
Activation token expired4xxToken validation failure
Account already activated500User already activated
Password does not meet requirements400Validation message

Build docs developers (and LLMs) love