Skip to main content

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.
note

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: object
      • passRatio: number (optional)
    • register: object
      • allowPublicUserRegistration: boolean (optional)
    • lesson: object
      • lessonPlay: object
        • limbMismatchDurationThresholdMs: number (optional)
        • limbAudioCooldownMs: number (optional)
        • videoPlayback: number (optional)
    • PRD, DEV, UAT: (optional) nested ClientSettings objects (same structure as above, for environment-specific overrides)
warning

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.