v1

latestOpenAPI 3.1.02026-07-22162733.8 KB
Pilot

Credentials login

Exchange a pilot's username (pilot ID or email) and password for an API key. Returns the full pilot session including the token field that the client uses on every subsequent request as a Bearer token.

post/pilot/login

Request body

usernamestring required

The pilot's displayed pilot ID (e.g. QFA0001) or their email address.

passwordstring password required

The user's password.

Example request

{
  "username": "QFA0001"
}

Response

Credentials accepted.

db_idinteger required

Internal database ID. Stable across pilot ID changes.

pilot_idstring required

Display pilot ID (airline ICAO + zero-padded number per VA setting). Example: QFA0001.

first_namestring required
last_namestring required
emailstring email required
rankstring required

Human-readable rank name.

rank_imagestring uri nullable required

URL to the pilot's rank insignia image. The Stratos client renders this as a rank badge in the dashboard and pilot-centre plugins. Return null if the rank has no image. The phpVMS reference resolves this from the rank's image_url column (relative paths are wrapped in your phpVMS public URL automatically).

rank_levelinteger required

Numeric rank tier (0-based) — index into the rank ladder ordered ascending by required hours. Used by the Stratos client for any rank-gated UI behaviour. The phpVMS reference computes this as the count of ranks with fewer required hours than the pilot's current rank, matching phpVMS's own auto-promote ordering.

avatarstring uri required

Absolute URL to the pilot's avatar image.

tokenstring required

The pilot's API key. Send as Authorization: Bearer <token> on every authenticated request.

Example response

{
  "pilot_id": "QFA0001",
  "rank": "First Officer"
}