Public instance posture the SPA needs before rendering a form.
const url = 'https://api.tradr.cloud/api/config';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.tradr.cloud/api/configUnauthenticated and cacheable (Cache-Control - public, max-age=60). Returns the operator postures the web app needs before it renders: registrationEnabled, so it shows the sign-up form or the “signups open at launch” notice instead of a form the server will refuse, and advisorEnabled, so it hides the advisor navigation, routes and settings on an instance that has withdrawn it. This surface is posture only - by design it never reports secrets, provider keys, database details, or which optional capabilities an instance has configured. The field list is an allow-list pinned by a test; it grows only by explicit decision.
Responses
Section titled “Responses”Instance posture.
object
False when the operator set DISABLE_ADVISOR, in which case every /api/advisor/* route answers 403 ADVISOR_DISABLED. The server refusal is the control; this field lets the web app hide the surface instead of showing pages that cannot work.
False when the operator set DISABLE_REGISTRATION, in which case POST /api/auth/register answers 403 REGISTRATION_DISABLED. The server refusal is the control; this field only spares the visitor a wasted form.
Examplegenerated
{ "advisorEnabled": true, "registrationEnabled": true}