UpdateCourseStatus
Used to change the course status to either started, not-completed, or completed for the current user. The optional statusChangeDate must be a valid date and cannot be in the future. If omitted, the current date and time is used.
The results of this mutation can be affected by providing an authToken header to set a user for the operation.
UpdateCourseStatus(
slug: Slug!
status: String!
statusChangeDate: Date
): Boolean!
Directives
authAccess
This requires the current user to be in
STUDENTrole.
Arguments
UpdateCourseStatus.slug ● Slug! non-null scalar
The course slug (typically from the course URL or catalog).
UpdateCourseStatus.status ● String! non-null scalar
The course status to set. Valid values:
started,not-completed,completed.
UpdateCourseStatus.statusChangeDate ● Date scalar
When the status change occurred (ISO 8601). If omitted, the current date and time is used.
Type
Boolean scalar
The
Booleanscalar type representstrueorfalse.
Examples
Query:
mutation UpdateCourseStatus(
$slug: Slug!,
$status: String!,
$statusChangeDate: Date
) {
UpdateCourseStatus(
slug: $slug,
status: $status,
statusChangeDate: $statusChangeDate
)
}
Variables:
{
"slug": "course-slug-goes-here",
"status": "completed",
"statusChangeDate": "2026-02-20T09:00:00Z"
}
Response:
{
"data": {
"UpdateCourseStatus": true
}
}
cURL
curl --location 'https://YOUR-SITE.thoughtindustries.com/helium?apiKey=YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'authToken: LEARNER_AUTH_TOKEN' \
--data '{"query":"mutation UpdateCourseStatus($slug: Slug!, $status: String!, $statusChangeDate: Date) { UpdateCourseStatus(slug: $slug, status: $status, statusChangeDate: $statusChangeDate) }","variables":{"slug":"course-slug-goes-here","status":"completed","statusChangeDate":"2026-02-20T09:00:00Z"}}'