LFF Assessment API · guides

Developer guides

How to build a client against the LFF Assessment API — from signing a user in to rendering a fourteen-form assessment battery in two languages.

React

A complete integration: auth, schema-driven rendering, all nine question types, conditional logic and submission.

Vue planned

The same walkthrough in Vue 3. The concepts transfer directly — only the rendering layer differs.

Flutter planned

For a mobile client. The schema and payload rules are identical.

What this API is

The assessment battery is data, not code. Forms, sections, questions, choice lists and their translations all live in the database, and the API hands your client a schema describing what to render. An administrator can add a fifteenth form, or a third language, without anyone shipping a release.

The practical consequence for you: do not hard-code forms. Write one renderer per question type — there are nine — and every form that exists now or later is covered.

The essentials

ThingValue
Base URLhttps://api.sortingout.theoslogion.org/v1
AuthBearer token (Laravel Sanctum)
Body formatJSON, camelCase (snake_case also accepted on input)
ErrorsRFC 9457 application/problem+json
Languagesen, yo
Rate limit120 req/min authenticated; auth/* is 10/min

There is no /api in the path. The host already says api, so the version is the whole prefix — /v1/auth/login, not /api/v1/auth/login.

Three endpoints need no token

  • POST /v1/auth/register
  • POST /v1/auth/login
  • GET /v1/option-sets/{code} — public so a signup form can render its dropdowns before an account exists to authenticate with

Everything else requires Authorization: Bearer <token>.

Try it without writing code

The OpenAPI reference lists every endpoint with request and response schemas, and lets you call them from the browser. A Postman collection with pre-filled requests and real captured examples lives in the repository under postman/.