Skip to content
Docs
English
Esc
navigateopen⌘Jpreview

Update progress for a user on a content block

Updates a user’s progress (status, optional userData). userId is in the path, not the body. Scoped to your integration’s institution via Basic Auth credentials.

PATCH/content-blocks/{id}/progress/{userId}
Path parameters
idstringrequired
Content block ID
userIdstringrequired
User ID
Request body
requiredapplication/json
statusstring
New progress status for the user on this block
Allowed:NOT_STARTEDIN_PROGRESSFINISHEDREVIEWED
userDataobject
Optional block-type-specific progress payload (e.g. survey answers, workbench state)
forceboolean
When true, bypasses some validation guards when updating status
default: false
Responses
200Updated progress
dataUpdateProgressResponserequired
Show properties
blockIdstringrequired
userIdstringrequired
statusstringrequired
Allowed:NOT_STARTEDIN_PROGRESSFINISHEDREVIEWED
previousStatusstring | nullrequired
Allowed:NOT_STARTEDIN_PROGRESSFINISHEDREVIEWEDnull
updatedAtstring<date-time>required
userDataobject
metaResponseMetarequired
Show properties
requestIdstringrequired
timestampstring<date-time>required
versionstringrequired
Allowed:v4
400Bad Request
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
401Unauthorized
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
403Forbidden
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
404Not Found
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
429Too Many Requests
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
500Internal Server Error
typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedrate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
Request
curl -X PATCH "https://fuxam.app/api/v4/content-blocks/string/progress/string" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "NOT_STARTED",
  "userData": {},
  "force": false
}'
Response
{
  "data": {
    "blockId": "string",
    "userId": "string",
    "status": "NOT_STARTED",
    "previousStatus": "NOT_STARTED",
    "updatedAt": "2024-01-01T00:00:00Z",
    "userData": {}
  },
  "meta": {
    "requestId": "req_1234567890_abc",
    "timestamp": "2026-06-02T07:00:00.000Z",
    "version": "v4"
  }
}