Author - Enrollments API
Interfaces
Object Synopses
EnrollmentRequest
-
end_at
DateTime
Due date for this enrollment
-
expires_at
DateTime
Expiration date for this enrollment. May only be applied to ‘completed’ enrollments.
-
completed_at
DateTime
Completion date for this enrollment. Sets state to ‘complete’ if not already.
-
user_id
Integer
User to enroll. Either user_id or group_id must be included, but not both.
-
group_id
Integer
Group to enroll. Either user_id or group_id must be included, but not both.
-
score
Integer
Score (out of 100) for completed enrollment.
-
state
String
Current state of enrollment. One of ‘created’, ‘active’, ‘complete’, or ‘failed’.
-
required
Boolean
Is this enrollment required.
EnrollmentResponse
-
id
Integer
Enrollment id.
-
course_template
Integer
Course template id.
-
end_at
DateTime
Due date for this enrollment
-
expires_at
DateTime
Expiration date for this enrollment. Only applies to ‘completed’ enrollments.
-
completed_at
DateTime
Completion date for this enrollment. Only applies to ‘completed’ enrollments.
-
updated_at
DateTime
Last updated date for this enrollment.
-
progress
Float
Progress of course finished.
-
can_be_removed
Boolean
Can this enrollment be removed.
-
can_be_made_optional
Boolean
Can this enrollment be made optional.
-
active
Boolean
Whether this enrollment is active or has been replaced by another enrollment.
-
required
Boolean
Is this enrollment required or did the learner optionally enroll themselves.
-
is_permanently_failed
Boolean
Is this enrollment permanently failed.
-
is_archived
Boolean
Has this enrollment been archived.
-
score
Integer
Score (out of 100) for completed enrollment.
-
state
String
Current state of enrollment. One of ‘created’, ‘active’, ‘complete’, or ‘failed’.
-
links
Hash
Provides links to additional detail in response object
-
allow_re_enroll
Boolean
Can the learner be re-enrolled with this enrollment.
List Enrollments
GET
/api/author/course_templates/:course_template_id/enrollments
This endpoint will fetch all enrollments for the desired course.
Response Codes
200 OK
304 Not Modified
Parameters
-
id
Integer
Required
Path parameter. Course id
-
sort
String
[ name, score, progress, due_date ]
Query parameter. Sorts return values in ascending order. Prepending
a -
sorts return values in descending order.
-
search
String
Finds users with matching values in first name, last name, uid,
or email.
-
user_id
Integer
Query parameter. Filters list to only include enrollments belonging to user.
-
updated_after
DateTime
Query parameter. Filters list to only include enrollments updated after the
given RFC 3339 compliant timestamp.
-
created_after
DateTime
Query parameter. Filters list to only include enrollments created after the
given RFC 3339 compliant timestamp.
-
deleted_after
DateTime
Query parameter. Filters list to only include enrollments deleted after the
given RFC 3339 compliant timestamp.
-
updated_before
DateTime
Query parameter. Filters list to only include enrollments updated before the
given RFC 3339 compliant timestamp.
-
created_before
DateTime
Query parameter. Filters list to only include enrollments created before the
given RFC 3339 compliant timestamp.
-
deleted_before
DateTime
Query parameter. Filters list to only include enrollments deleted before the
given RFC 3339 compliant timestamp.
-
only_deleted
Boolean
Filters list to only include deleted enrollments.
-
with_deleted
Boolean
Filters list to also include deleted enrollments.
Example Response
{
"meta": {},
"linked":
{
"course_templates": [
{
"id": "1"
}
],
"learners": [
{
"id": "1",
"name": "Leia Organa",
"avatar_url": "http://www.alderaan-gov.com/royal-family/hrh_leia.png",
"deleted": false
}
]
},
"enrollments": [
{
"id": "4",
"course_template": "1",
"end_at": "2015-07-07T23:59:59.000-06:00",
"expires_at": "2015-09-07T23:59:59.000-06:00",
"updated_at": "2015-06-22T11:05:00.000-06:00",
"progress": 0,
"can_be_removed": true,
"completed_at": null,
"score": 0,
"state": "created",
"links": {
"learner": {
"type": "learners",
"id": "6"
}
}
}
]
}
Create an enrollment
POST
/api/author/course_templates/:course_template_id/enrollments
Either the group_id or the user_id must be provided, but not both.
Response Codes
204 No Content
Parameters
-
course_template_id
Integer
Required
Path parameter. Course template id.
-
Body parameter. An array of EnrollmentRequest.
Example Request
{
"enrollments": [
"{API::EnrollmentRequest}"
]
}
curl \
-X POST \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"enrollments":["{API::EnrollmentRequest}"]}' \
http://<bridge>/api/author/course_templates/:course_template_id/enrollments
Update an enrollment
PATCH
/api/author/enrollments/:id
PUT
/api/author/enrollments/:id
Response Codes
200 OK
400 Bad Request
When course is archived
Parameters
-
id
Integer
Required
Path parameter, not required in request body. Enrollment id.
-
Body parameter. An array of EnrollmentRequest to update.
Example Request
Example Response
{
"meta": {},
"linked":
{
"course_templates":
[
{
"id":"1"
}
],
"learners": []
},
"enrollments":
[
"{API::EnrollmentResponse}"
]
}
Delete an enrollment
DELETE
/api/author/enrollments/:id
Response Codes
204 No Content
when deletion has completed
400 Bad Request
When course is archived
404 Not Found
when enrollment or its user are not in system
403 Forbidden
when current user is not authorized to unenroll user
Parameters
-
id
Integer
Required
Path parameter. Enrollment id.
-
force_unenroll
Boolean
Body Parameter. Removes enrollment if enrollment is started or optional when true.
Update due date for an enrollment
POST
/api/author/enrollments/:id/due_date
Response Codes
200 OK
400 Bad Request
When course is archived
Parameters
-
id
Integer
Required
Path parameter, not required in request body. Enrollment id.
-
Body parameter. An array of EnrollmentRequest to update.
Example Request
Example Response
{
"meta": {},
"linked":
{
"course_templates":
[
{
"id":"1"
}
],
"learners": []
},
"enrollments":
[
"{API::EnrollmentResponse}"
]
}
Interfaces
Object Synopses
EnrollmentRequest
-
end_at
DateTimeDue date for this enrollment
-
expires_at
DateTimeExpiration date for this enrollment. May only be applied to ‘completed’ enrollments.
-
completed_at
DateTimeCompletion date for this enrollment. Sets state to ‘complete’ if not already.
-
user_id
IntegerUser to enroll. Either user_id or group_id must be included, but not both.
-
group_id
IntegerGroup to enroll. Either user_id or group_id must be included, but not both.
-
score
IntegerScore (out of 100) for completed enrollment.
-
state
StringCurrent state of enrollment. One of ‘created’, ‘active’, ‘complete’, or ‘failed’.
-
required
BooleanIs this enrollment required.
EnrollmentResponse
-
id
IntegerEnrollment id.
-
course_template
IntegerCourse template id.
-
end_at
DateTimeDue date for this enrollment
-
expires_at
DateTimeExpiration date for this enrollment. Only applies to ‘completed’ enrollments.
-
completed_at
DateTimeCompletion date for this enrollment. Only applies to ‘completed’ enrollments.
-
updated_at
DateTimeLast updated date for this enrollment.
-
progress
FloatProgress of course finished.
-
can_be_removed
BooleanCan this enrollment be removed.
-
can_be_made_optional
BooleanCan this enrollment be made optional.
-
active
BooleanWhether this enrollment is active or has been replaced by another enrollment.
-
required
BooleanIs this enrollment required or did the learner optionally enroll themselves.
-
is_permanently_failed
BooleanIs this enrollment permanently failed.
-
is_archived
BooleanHas this enrollment been archived.
-
score
IntegerScore (out of 100) for completed enrollment.
-
state
StringCurrent state of enrollment. One of ‘created’, ‘active’, ‘complete’, or ‘failed’.
-
links
HashProvides links to additional detail in response object
-
allow_re_enroll
BooleanCan the learner be re-enrolled with this enrollment.
List Enrollments
This endpoint will fetch all enrollments for the desired course.
Response Codes
200 OK
304 Not Modified
Parameters
-
id
Integer RequiredPath parameter. Course id
-
sort
String [ name, score, progress, due_date ]Query parameter. Sorts return values in ascending order. Prepending a
-
sorts return values in descending order. -
search
StringFinds users with matching values in first name, last name, uid, or email.
-
user_id
IntegerQuery parameter. Filters list to only include enrollments belonging to user.
-
updated_after
DateTimeQuery parameter. Filters list to only include enrollments updated after the given RFC 3339 compliant timestamp.
-
created_after
DateTimeQuery parameter. Filters list to only include enrollments created after the given RFC 3339 compliant timestamp.
-
deleted_after
DateTimeQuery parameter. Filters list to only include enrollments deleted after the given RFC 3339 compliant timestamp.
-
updated_before
DateTimeQuery parameter. Filters list to only include enrollments updated before the given RFC 3339 compliant timestamp.
-
created_before
DateTimeQuery parameter. Filters list to only include enrollments created before the given RFC 3339 compliant timestamp.
-
deleted_before
DateTimeQuery parameter. Filters list to only include enrollments deleted before the given RFC 3339 compliant timestamp.
-
only_deleted
BooleanFilters list to only include deleted enrollments.
-
with_deleted
BooleanFilters list to also include deleted enrollments.
Example Response
{ "meta": {}, "linked": { "course_templates": [ { "id": "1" } ], "learners": [ { "id": "1", "name": "Leia Organa", "avatar_url": "http://www.alderaan-gov.com/royal-family/hrh_leia.png", "deleted": false } ] }, "enrollments": [ { "id": "4", "course_template": "1", "end_at": "2015-07-07T23:59:59.000-06:00", "expires_at": "2015-09-07T23:59:59.000-06:00", "updated_at": "2015-06-22T11:05:00.000-06:00", "progress": 0, "can_be_removed": true, "completed_at": null, "score": 0, "state": "created", "links": { "learner": { "type": "learners", "id": "6" } } } ] }
Create an enrollment
Either the group_id or the user_id must be provided, but not both.
Response Codes
204 No Content
Parameters
-
course_template_id
Integer RequiredPath parameter. Course template id.
-
Body parameter. An array of EnrollmentRequest.
Example Request
{ "enrollments": [ "{API::EnrollmentRequest}" ] }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"enrollments":["{API::EnrollmentRequest}"]}' \ http://<bridge>/api/author/course_templates/:course_template_id/enrollments
Update an enrollment
Response Codes
200 OK
400 Bad Request
When course is archived
Parameters
-
id
Integer RequiredPath parameter, not required in request body. Enrollment id.
-
Body parameter. An array of EnrollmentRequest to update.
Example Request
Example Response
{ "meta": {}, "linked": { "course_templates": [ { "id":"1" } ], "learners": [] }, "enrollments": [ "{API::EnrollmentResponse}" ] }
Delete an enrollment
Response Codes
204 No Content
when deletion has completed400 Bad Request
When course is archived404 Not Found
when enrollment or its user are not in system403 Forbidden
when current user is not authorized to unenroll user
Parameters
-
id
Integer RequiredPath parameter. Enrollment id.
-
force_unenroll
BooleanBody Parameter. Removes enrollment if enrollment is started or optional when true.
Update due date for an enrollment
Response Codes
200 OK
400 Bad Request
When course is archived
Parameters
-
id
Integer RequiredPath parameter, not required in request body. Enrollment id.
-
Body parameter. An array of EnrollmentRequest to update.
Example Request
Example Response
{ "meta": {}, "linked": { "course_templates": [ { "id":"1" } ], "learners": [] }, "enrollments": [ "{API::EnrollmentResponse}" ] }