Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Alejandrin08/Hackathon-SPEI/llms.txt

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

Both endpoints require a valid JWT Bearer token. See Login to obtain one.
This profile can be auto-populated by the AI accessibility model during the onboarding wizard, then manually overridden in Preferences. See Accessibility Recommendation for the AI endpoint.

Endpoints

MethodPathDescription
GET/api/profile/accessibilityRetrieve the user’s accessibility profile
PUT/api/profile/accessibilityUpdate the user’s accessibility profile

GET /api/profile/accessibility

Returns the current accessibility preferences for the authenticated user.

Response

200 OK

alias
string
Optional accessibility alias or label for the profile.
ageRange
string
User’s age range, e.g., "18_30", "31_50", "51_60", "60_plus".
literacyLevel
string
User’s self-reported digital literacy level, e.g., "low", "medium", "high".
theme
string
required
Active visual theme. Default: "light". Common values set by the AI model: "standard-accessible", "large-text-high-contrast", "voice-assisted".
screenReaderMode
boolean
required
Whether screen reader mode is enabled. Default: false.
fontScale
number
required
Font scale multiplier currently applied. Range: 0.5–3.0. Default: 1.0.
nudgingLevel
string
required
Guidance nudging intensity. One of "low", "medium", or "high". Default: "medium".
voiceFeedback
boolean
required
Whether voice feedback is enabled. Default: false.

Example

curl -X GET http://localhost:5000/api/profile/accessibility \
  -H "Authorization: Bearer <token>"

PUT /api/profile/accessibility

Updates the accessibility preferences for the authenticated user.

Request body

theme
string
required
Visual theme to apply. The theme field is required. Common values: "light", "standard-accessible", "large-text-high-contrast", "voice-assisted".
screenReaderMode
boolean
required
Enable or disable screen reader mode.
fontScale
number
required
Font scale multiplier. Must be between 0.5 and 3.0. Default: 1.0.
nudgingLevel
string
required
Guidance nudging intensity. Accepted values: "low", "medium", "high". Default: "medium".
voiceFeedback
boolean
required
Enable or disable voice feedback.
alias
string
Optional label for this accessibility configuration. Maximum 100 characters.
ageRange
string
User’s age range. Maximum 50 characters.
literacyLevel
string
User’s digital literacy level. Maximum 50 characters.

Response

200 OK

Returns the updated accessibility profile with the same structure as the GET response.

Error responses

StatusDescription
400 Bad RequestValidation error — fontScale out of range (must be 0.5–3.0) or missing required fields.
401 UnauthorizedInvalid or expired token.

Example

curl -X PUT http://localhost:5000/api/profile/accessibility \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "theme": "large-text-high-contrast",
    "screenReaderMode": false,
    "fontScale": 1.6,
    "nudgingLevel": "high",
    "voiceFeedback": false
  }'

Build docs developers (and LLMs) love