Skip to main content
POST
/
api
/
content
/
coursecompletedlessons
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
A CourseCompletedLesson records that a specific CourseMember has completed a specific CourseLesson. Each record is the junction between a lesson and the enrolled member who finished it. These records are typically created automatically by the Members Portal when a member meets the lesson’s completion criteria (e.g. visiting the lesson page, clicking a completion button, or finishing a video). They can also be created or deleted manually via the API to manage progress programmatically. Use this entity to query which lessons a member has completed, or to find all members who have completed a given lesson.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the CourseCompletedLesson-Create role.

Request Body

Required Fields

CourseLessonId
integer
required
ID of the course lesson that was completed.
CourseMemberId
integer
required
ID of the course enrolment (CourseMember) record for the member who completed the lesson.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/content/coursecompletedlessons" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "CourseLessonId": 0,
    "CourseMemberId": 0
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the creation.
Value
object
Contains the Id of the newly created record.
WasSuccessful
boolean
true if the coursecompletedlesson was created successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "CourseCompletedLesson was successfully created.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}

400

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}