Skip to content
Esc
↑↓navigate↵open⌘Jpreview

List content blocks

Lists content blocks. Use include=specs, conditions, or specs,conditions for expanded fields. Filter by courseId (layer ID). Scoped to your integration’s institution via Basic Auth credentials.

GET/content-blocks
Authorization
AuthorizationBasic auth · headerrequired

Basic Auth with clientId as username and clientSecret as password

Query parameters
cursorstring
limitinteger
min 1 · max 100 · default: 10
courseIdstring

Filter by course layer ID (the layerId field on the course, not the course entity id).

typestring

Filter by content block type

statusstring

Filter by status

includestring

Comma-separated optional expansions. specs adds specs, expectedLearnTimeMinutes, and createdAt to each item. conditions adds the conditions array. Combine both: specs,conditions. Without this parameter, only core list fields are returned.

Responses
200

Paginated list of content blocks. Each item always includes core fields; optional fields depend on the include query parameter (see examples).

dataContentBlockListItem[]required
Show properties
Array of ContentBlockListItem
idstringrequired
namestringrequired
descriptionstringrequired
typestringrequired
statusstringrequired
Allowed:PUBLISHEDCOMING_SOONDRAFTDISABLED
positioninteger | nullrequired
dueDatestring<date-time> | nullrequired
startDatestring<date-time> | nullrequired
specsobject

Optional. Present only when include=specs. See listContentBlocks response example includeSpecs.

expectedLearnTimeMinutesinteger | null

Optional. Present only when include=specs. See listContentBlocks response example includeSpecs.

createdAtstring<date-time>

Optional. Present only when include=specs. See listContentBlocks response example includeSpecs.

conditionsContentBlockCondition[]

Optional. Present only when include=conditions. See listContentBlocks response example includeConditions.

Show properties
Array of ContentBlockCondition
idstringrequired
requiredBlockIdstringrequired

ID of the block whose progress is evaluated.

conditionTypestringrequired

SimpleDependency: required block must reach specific statuses. SurveyData: survey answers must match. WorkbenchData: workbench submission criteria. GradeData: grade pass/fail.

Allowed:SimpleDependencySurveyDataWorkbenchDataGradeData
conditionobjectrequired

Type-specific payload. SimpleDependency: { requiredStatus: string[] }. SurveyData: { questionId: string, expectedAnswer: string }. WorkbenchData: { elementId: string, optionIds: string[] }. GradeData: { passed: boolean }.

paginationCursorPaginationrequired
Show properties
next_cursorstring | nullrequired
has_morebooleanrequired
limitintegerrequired
metaResponseMetarequired
Show properties
requestIdstringrequired
timestampstring<date-time>required
versionstringrequired
Allowed:v4
watermarkstring<date-time>

Present on GET /users?updatedSince= pages. Taken at the first page minus a 60s overlap. Bound into pagination.next_cursor. Use it as the next updatedSince after deduping by user id. Delivery is inclusive >= and at-least-once.

400

Bad Request

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
existingUserIdstring

Present on 409 email or membership-code conflicts. The user id that already holds the email or code.

activeSessionobject

Present on time-tracking start 409 when a session is already running. Stop this session, then retry start.

Show properties
idstringrequired
startTimestring<date-time>required
conflictingLogobject

Present on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.

Show properties
idstringrequired
startTimestring<date-time>required
endTimestring<date-time> | nullrequired
401

Unauthorized

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
existingUserIdstring

Present on 409 email or membership-code conflicts. The user id that already holds the email or code.

activeSessionobject

Present on time-tracking start 409 when a session is already running. Stop this session, then retry start.

Show properties
idstringrequired
startTimestring<date-time>required
conflictingLogobject

Present on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.

Show properties
idstringrequired
startTimestring<date-time>required
endTimestring<date-time> | nullrequired
403

Forbidden

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
existingUserIdstring

Present on 409 email or membership-code conflicts. The user id that already holds the email or code.

activeSessionobject

Present on time-tracking start 409 when a session is already running. Stop this session, then retry start.

Show properties
idstringrequired
startTimestring<date-time>required
conflictingLogobject

Present on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.

Show properties
idstringrequired
startTimestring<date-time>required
endTimestring<date-time> | nullrequired
429

Too Many Requests — 1000 requests per minute per institution. Includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (ISO-8601), and Retry-After (seconds).

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
existingUserIdstring

Present on 409 email or membership-code conflicts. The user id that already holds the email or code.

activeSessionobject

Present on time-tracking start 409 when a session is already running. Stop this session, then retry start.

Show properties
idstringrequired
startTimestring<date-time>required
conflictingLogobject

Present on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.

Show properties
idstringrequired
startTimestring<date-time>required
endTimestring<date-time> | nullrequired
500

Internal Server Error

typestringrequired
Allowed:error
codestringrequired
Allowed:bad_requestunauthorizedforbiddenresource_not_foundconflictvalidation_failedidempotency_key_reusedidempotency_key_in_progressservice_unavailableretryablerate_limit_exceededinternal_error
titlestringrequired
statusintegerrequired
detailstringrequired
instancestring
errorsobject[]
Show properties
Array of object
fieldstring
messagestring
existingUserIdstring

Present on 409 email or membership-code conflicts. The user id that already holds the email or code.

activeSessionobject

Present on time-tracking start 409 when a session is already running. Stop this session, then retry start.

Show properties
idstringrequired
startTimestring<date-time>required
conflictingLogobject

Present on time-tracking 409 when the interval being written overlaps an existing log or open session. Start uses [punch, ∞). Stop uses [sessionStart, stop). endTime is null while that session is still open.

Show properties
idstringrequired
startTimestring<date-time>required
endTimestring<date-time> | nullrequired
Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://fuxam.app/api/v4/content-blocks' \
  -H 'Authorization: Basic YOUR_CREDENTIALS' \
  -H 'Accept: application/json'
Response
{
  "data": [
    {
      "id": "cmqevay3u01654pi9ixfhwfik",
      "name": "Introduction",
      "description": "",
      "type": "Section",
      "status": "PUBLISHED",
      "position": 0,
      "dueDate": null,
      "startDate": null
    }
  ],
  "pagination": {
    "next_cursor": null,
    "has_more": false,
    "limit": 20
  },
  "meta": {
    "requestId": "req_1234567890_abc",
    "timestamp": "2026-06-23T12:00:00.000Z",
    "version": "v4"
  }
}

Was this page helpful?