Client Settings API
GET /api/client/[clientId]/settings
Get the current ClientSettings for the specified client.
Headers:
ClientToken: <client_token>
Response:
200 OK: JSON body with the current ClientSettings object.404 Not Found: Client not found.401/403 Unauthorized: Unauthorized.
PATCH /api/client/[clientId]/settings
Partially update the ClientSettings for the specified client. Only fields defined in the schema are accepted. Unknown fields are rejected with a 400 error.
Headers:
ClientToken: <client_token>
Request Body:
Partial ClientSettings object (fields to update). Strict schema. 400 if validation fails.
Sample Request:
PATCH /api/client/{clientId}/settings
Content-Type: application/json
ClientToken: {client_token}
{
"lesson": {
"lessonPlay": {
"videoPlayback": 1
}
}
}
Response:
200 OK: JSON body with the updated ClientSettings object.400 Bad Request: Validation error (with details).404 Not Found: Client not found.401/403 Unauthorized: Unauthorized.
Only fields defined in the schema are accepted. Unknown fields are rejected with a 400 error.<br />
PATCH accepts any subset of these fields, including nested updates (see example above).<br />
Keys ending with __ are treated as comments and ignored by the API.
ClientSettings Schema (fields you can PATCH)
- Top-level fields (all optional except where noted):
lessons: objectpassRatio: number (optional)
register: objectallowPublicUserRegistration: boolean (optional)
lesson: objectlessonPlay: objectlimbMismatchDurationThresholdMs: number (optional)limbAudioCooldownMs: number (optional)videoPlayback: number (optional)
PRD,DEV,UAT: (optional) nested ClientSettings objects (same structure as above, for environment-specific overrides)
Fields like PRD, DEV, and UAT (environment-specific overrides) are now obsolete and should not be used in new integrations. They may still exist in legacy data for backward compatibility, but are not supported going forward.