Controls cloning supported objects and viewing cloning job status.
A Clone Object is an association between a Source and a Destination; it also tracks the current state of a clone operation and any errors that may have occurred during the job.
Controls cloning supported objects and viewing cloning job status.
A Clone Object is an association between a Source and a Destination; it also tracks the current state of a clone operation and any errors that may have occurred during the job.
source_id
Integer
The id of the source object
source_type
String
The type of the source object
options
Object
Additional fields to be applied to the new object
id
Integer
Clone Object id
state
String
Current state of the cloning operation
destination_id
Integer
The id of the destination object
destination_type
String
The type of the destination object
source_id
Integer
The id of the source object
source_type
String
The type of the source object
error_messages
ArrayAn array of any existing error messages
created_at
String
The date the clone object was created
updated_at
String
The date the clone object was last updated
200 OK
304 Not Modified
{
"meta": {},
"clone_objects": [
{
"id": 3,
"state": "created",
"destination_id": 1605,
"destination_type": "SubAccount",
"source_id": 1,
"source_type": "SubAccount",
"error_messages": [],
"created_at": "2018-03-28T15:36:16.915-06:00",
"updated_at": "2018-03-28T15:36:16.915-06:00",
"parameters": { "subdomain": "sub-clone-1" , "name": "Sub Clone 1" }
}
]
}
200 OK
id
Integer
Required
Path parameter. Clone Object id
{ "clone_objects": [ { "id": 3, "state": "created", "destination_id": 1605, "destination_type": "SubAccount", "source_id": 1, "source_type": "SubAccount", "error_messages": [], "created_at": "2018-03-28T15:36:16.915-06:00", "updated_at": "2018-03-28T15:36:16.915-06:00", "parameters": { "subdomain": "sub-clone-1" , "name": "Sub Clone 1" } } ] }
This will create a clone object and initiate a clone job for the requested object. Note that all source_types need to be identical. This endpoint does not support creating clone_objects for different source types at this time.
201 Created
400 Bad Request
409 Conflict
Body parameter. An array of {API::CloneObjectRequest} to be executed.
{ "clone_objects": [ { "source_id": 1, "source_type": "SubAccount", "options": { "subdomain": "sub-clone-1", "name": "Sub Clone 1" } }, { "source_id": 3, "source_type": "SubAccount", "options": { "subdomain": "sub-clone-2", "name": "Sub Clone 2" } } ] }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"clone_objects":[{"source_id":1,"source_type":"SubAccount","options":{"subdomain":"sub-clone-1","name":"Sub Clone 1"}},{"source_id":3,"source_type":"SubAccount","options":{"subdomain":"sub-clone-2","name":"Sub Clone 2"}}]}' \ http://<bridge>/api/admin/clone_objects
{ "clone_objects": [ { "id": 3, "state": "pending", "destination_id": 1605, "destination_type": "SubAccount", "source_id": 1, "source_type": "SubAccount", "error_messages": [], "created_at": "2018-03-28T15:36:16.915-06:00", "updated_at": "2018-03-28T15:36:16.915-06:00", "parameters": { "subdomain": "sub-clone-1" , "name": "Sub Clone 1" } }, { "id": 4, "state": "pending", "destination_id": 1606, "destination_type": "SubAccount", "source_id": 3, "source_type": "SubAccount", "error_messages": [], "created_at": "2018-03-28T15:36:26.013-06:00", "updated_at": "2018-03-28T15:36:26.013-06:00", "parameters": { "subdomain": "sub-clone-2" , "name": "Sub Clone 2" } } ] }
Manages custom user fields.
200 OK
includes
String[]
Body parameter. An array of custom_fields attributes to add to the result, currently only name is supported.
{ "meta": {}, "custom_fields": [ { "id": "6", "name": "Title" }, { "id": "9", "name": "Department" } ] }
200 OK
{ "meta": {}, "custom_fields": [ { "id": "9", "name": "Department" } ] }
201 Created
400 Bad Request
custom_fields
CustomFields[]
Required
Body parameter.
{ "meta": {}, "custom_fields": [ { "id": "9", "name": "Department" } ] }
200 OK
400 Bad Request
custom_fields
CustomFields[]
Required
Body parameter.
{ "meta": {}, "custom_fields": [ { "id": "9", "name": "Title" } ] }
200 OK
400 Bad Request
{ "meta": {}, "custom_fields": [ { "id": "9", "name": "Title" } ] }
Manage data dumps. Note that currently, creating a data dump replaces existing data dumps, so an account will only have one at a time.
status
String
Dump status
date
DateTime
Dump date
200 OK
304 Not Modified
{ "meta": {}, "data_dumps": [ { "status": "complete", "date": "2015-11-12T19:03:37Z" } ] }
200 OK
only
Array
Body parameter. List of model names to include in the dump. E.g. [“users”, “course_templates”]
{ "meta": {}, "data_dumps": [ { "status": "pending", "date": "2015-11-12T19:03:37Z" } ] }
Redirects to a signed download URL. Returns 404 if there is no completed dump.
302 Found
404 Not Found
200 Ok
{ "model_names": [ "users", "enrollments", "course_templates", "..." ] }
Manage importing of profiles.
This endpoint exposes the import profile for an account.
200 OK
401 Unauthorized
{ "id": 1, "csv_days": [false, false, false, false, false, false, false], "csv_time": null, "has_headers": false, "import_columns": [ { "custom_field_id": 1, "name": "department", "position": 1, "primary_field": false } ] }
A PUT action with json payload to update import profile
200 OK
401 Unauthorized
csv_url
String
Required
Body parameter
csv_user
String
Required
Body parameter
csv_password
String
Required
Body parameter
has_headers
Boolean
Required
Body parameter
csv_days
String
Required
Body parameter
csv_time
String
Required
Body parameter
columns
Hash
Required
Body parameter. A map of column definitions
{ "has_headers" : true, "columns": { "0": [ "first_name", "last_name", "uid" ] } }
curl \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"has_headers":true,"columns":{"0":["first_name","last_name","uid"]}}' \ http://<bridge>/api/admin/import_profile
{ "id": 1, "csv_days": [false, false, false, false, false, false, false], "csv_time": null, "has_headers": false, "import_columns": [ { "custom_field_id": 1, "name": "department", "position": 1, "primary_field": false } ] }
A GET action to send binary import profile file data to the requesting browser
200 OK
401 Unauthorized
200 OK
404 Not Found
lti_content_item_id
String
Required
The id of the LTI Content Item to supply the config info
program_id
String
The id of the Program that contains the LTI Content Item
{ "lti_content_item_id": "1", "program_id": "2", "launch_url": "http://example.com/launch", "launch_data": { "context_id": "1673cd0f-f043-4d34-bfbc-c13fd5cce99a", "context_label": "bridge", "custom_field": "value", "launch_presentation_document_target": "iframe", "launch_presentation_return_url": "https://bridge.local.bridgeops.sh:3000/lti/content_item/1", "lis_person_contact_email_primary": "user@example.com", "lis_person_name_family": "Last", "lis_person_name_full": "First Last", "lis_person_name_given": "First", "lti_message_type": "basic-lti-launch-request", "lti_version": "LTI-1p2", "oauth_callback": "about:blank", "oauth_consumer_key": "key", "oauth_nonce": "534b94655fc5f8ebaa9c97344ea7b953", "oauth_signature": "7CgFfsQ14XFAJSM2o8GT6pg8C7w=", "oauth_signature_method": "HMAC-SHA1", "oauth_timestamp": "1490312905", "oauth_version": "1.0", "resource_link_description": "This is a Sample Tool Provider.", "resource_link_id": "8169f5e122e9dafafd1f02c9e15eb4ab", "roles": "administrator", "tool_consumer_info_product_family_code": "Bridge", "tool_consumer_instance_guid": "bridge.local.bridgeops.sh:3000", "tool_consumer_instance_name": "Bridge", "tool_consumer_instance_url": "http://bridge.local.bridgeops.sh:3000", "user_id": "c74cff31-603b-4c01-832e-1810ee54bf91" } }
This API controls notification type preferences, such as enabling or disabling certain types of notifications, or disabling certain channels for notifications.
id
String
An key-based ID identifying the notification type.
audience
String
A general descriptor of the users who will receive these types of notifications.
category
String
A descriptor which groups similar notification types.
name
String
The name of the notification.
description
String
A description of the contents and timing of the notification.
channels
Object
A list of notification channels, and whether the notification is enabled for the channel. If a channel is not listed, the notification is not available over that channel.
Lists all notification types available to the current user to be configured.
200 OK
403 Forbidden
{ "notification_types": [ { "id": "welcome", "audience": "Everyone", "category": "User Account", "name": "Welcome", "description": "Sent immediately after account creation.", "channels": { "email": true } }, { "id": "password_reset", "audience": "Everyone", "category": "User Account", "name": "Password Reset", "description": "Notification allowing user to reset their password.", "channels": { "email": true, "slack": true } } ] }
Provides details for an individual notification type requested.
200 OK
403 Forbidden
id
String
Required
Path parameter. The id key for the requested notification type.
{ "notification_types": [ { "id": "welcome", "audience": "Everyone", "category": "User Account", "name": "Welcome", "description": "Sent immediately after account creation.", "channels": { "email": true } } ] }
Updates notification preferences for an individual notification type.
200 OK
403 Forbidden
422 Unprocessable Entity
id
String
Required
Path parameter. The id for the notification type to update.
{ "notification_types": [ { "id": "welcome", "audience": "Everyone", "category": "User Account", "name": "Welcome", "description": "Sent immediately after account creation.", "channels": { "email": true } } ] }
Endpoints to view report data when logged in as Administrator.
200 OK
401 Unauthorized
404 Report not found
id
String
[ QuizReport, SignInReport ]
Required
Path parameter. Report name
course_template_id
Integer
Query parameter. Course ID
{ "reports": [ { "title": "My Course Quiz Results 2016-06-16", "report_type": "quiz", "data": [ { "reportdata": "data" } ], "data_types": { "learner": "string", "time": "string", "q3": "string", "q4": "string", "q5": "string", "q6": "string" } } ] }
Salesforce Account information
This endpoint returns information about a given Salesforce account.
200 OK
401 Unauthorized
403 Forbidden
404 Not Found
{ "salesforce_account": { "name": "Flying Squirrels, INC" } }
Manages user fields.
200 OK
includes
String[]
Body parameter. An array of custom_fields attributes to add to the result, currently only name is supported.
{ "meta":{}, "user_fields": [ { "id":"2", "name":"Management", "type": "custom_field_value" }, { "id":"1", "name":"Job Title", "type": "custom_field_value" }, { "id": "locale", "name": "Locale", "type": "user_field_value" } ] }
Endpoints to create and delete a user when logged in as Administrator.
uid
String
Uid must be included. Unique user id
first_name
String
User first name
last_name
String
User last name
full_name
String
User full name
sortable_name
String
User sortable name (last, first in European-American culture)
email
String
User email address
locale
String
The user’s language code
manager_id
String
Optional: ID of the user’s manager. Alternatively, the UID of the user’s manager, prefixed with uid:.
hire_date
Date
Date that user was hired, in ISO 8601 format (YYYY-MM-DD)
job_title
string
Job title of user
department
string
Department of user
hris_id
string
HRIS ID of user, must be unique
custom_fields
Array
Optional custom fields. These must be created before assigning them to users.
200 OK
if the user was created400 Bad Request
if the user already existsAn array of UserRequest objects. Even though an array is passed in to this endpoint, it only adds one user a time. All extra entries in the array are ignored.
{ "meta": {}, "linked": {}, "users": [{ "id": 3, "uid": "hsolo", "first_name": "Han", "last_name": "Solo", "email": "h.solo@millennium-falcon.com", "locale": "en", "roles": [], "name": "Han Solo", "avatar_url": null, "deleted_at": null, "hire_date": "2016-01-31", "links": [], "meta": { "can_masquerade": true } }] }
This endpoint deletes the user by id. A user cannot delete himself/herself.
204 No Content
when deletion is complete404 Not Found
if requested user id does not existid
Integer
Required
The id of the user to be deleted. Alternatively, the user’s uid, prefixed with “uid:”.
async
Boolean
If true, the user destroy is processed with an async worker
This endpoint returns counts for the following: Completed Courses Completed Programs Completed Live Trainings Total Completed On Time Total Overdue
id
Integer
Required
The id of the user for which information is to be returned.
start_date
Date
Start of the time period to pull data from.
end_date
Date
End of the time period to pull data from.
{ "summary": { "completed_courses":17, "completed_programs":2, "completed_live_courses":2, "total_on_time":11, "total_overdue":8 } }
This endpoint hides the deleted user by id. A user cannot hide himself/herself nor hide an active user.
204 No Content
when hiding is complete404 Not Found
if requested user id does not existid
Integer
Required
The id of the user to be hidden. Alternatively, the user’s uid, prefixed with “uid:”.
id
Integer
Id of the event
approval_id
Integer
The id of the approval this event is linked to.
event_type
String
Type of the event. One of ‘approver_assigned’, ‘comment_added’, ‘approved’, ‘rejected’, ‘requested’, or ‘progress_reset’
data
Object
Object with fields holding additional data about the event.
created_at
String
Time when this event was created.
evidences
Array
Array of evidences attached to the event.
Ordered to return newest events first
200 OK
403 Forbidden
404 Not Found
approval_id
Integer
Required
Id of the approval to get events for
{ "approval_events": [ "{API::ApprovalEventResponse}" ] }
200 OK
{ "approval_summaries": [ { "id": "1", "learnable_id": "2", "learnable_type": "Task", "title": "Sign up for enrollment", "description": "how to sign up", "pending_count": 1, "retry_count": 1, "approved_count": 1 } ] }
200 OK
404 Not Found
learnable_id
Integer
Required
Id of the learnable
learnable_type
String
Required
Type of the learnable
{ "approval_summaries": [ { "id": "1", "learnable_id": "2", "learnable_type": "Task", "title": "Sign up for enrollment", "description": "how to sign up", "pending_count": 1, "retry_count": 1, "approved_count": 1 } ], "meta": { "next_up_approval_summary": ["ApprovalSummary or nil"] } }
id
Integer
Id of approver
name
String
The name of this approver (i.e. group or user name).
avatar_url
String
URL to approver’s avatar image.
email
String
Email of approver.
users_count
String
Count of the users in the group, if type is ‘Group’.
is_admin_group
Boolean
Whether or not the approver is the fallback ‘Admins’ group.
is_account_admin_group
Boolean
Whether or not the approver is the fallback ‘Account Admins’ group.
deleted_at
String
Time when this checkpoint enrollment was deleted.
type
String
Type of approver. One of ‘Group’ or ‘User’
id
Integer
Id of approval
enrollable_id
Integer
Id of enrollable linked to this approval. Usually a checkpoint enrollment id.
enrollable_type
String
Type of enrollable linked to this approval. Usually a checkpoint enrollment (e.g. TaskEnrollment).
state
String
Current state of approval. One of ‘incomplete’, ‘requested’, ‘rejected’, or ‘approved’
approver_type
String
Type of approver linked to this approval. One of ‘Group’ or ‘User’
approver
ApproverResponse
The approver linked to this approval. May be null if in an ‘incomplete’, state.
approver_events
ApprovalEventResponse[]
Array of approval events linked to the approval. Only if included by the endpoint.
created_at
String
Time when this checkpoint enrollment was created.
updated_at
String
Time when this checkpoint enrollment was last updated.
200 OK
403 Forbidden
404 Not Found
id
Integer
Required
Id of the approval
{ "approvals": [ "{API::ApprovalResponse}" ] }
200 OK
403 Forbidden
404 Not Found
422 Unprocessable Entity
id
Integer
Required
Id of the approval
comment
String
Comment to be added to the approval
state
String
State of the approval, can be: [“rejected”, “approved”]
{ "approvals": [ "{API::ApprovalResponse}" ] }
200 OK
403 Forbidden
404 Not Found
learnable_id
Integer
Required
Id of the current approval’s learnable
learnable_type
String
Required
Type of the current approval’s learnable
current_approval_id
Integer
Id of the current approval
approval_state
String
State of the next approval
{ "approvals": [ "{API::ApprovalResponse}" ] }
200 OK
403 Forbidden
404 Not Found
learnable_id
Integer
Required
Id of the current approval’s learnable
learnable_type
String
Required
Type of the current approval’s learnable
current_approval_id
Integer
Id of the current approval
approval_state
String
State of the next approval
{ "approvals": [ "{API::ApprovalResponse}" ] }
This endpoint controls the affiliation of items with subaccounts.
200 OK
sort
String
[ name ]
Query parameter. Applies a sort ot the result list.
/api/author/affiliated_sub_accounts?item_id=1&item_type=CourseTemplate
{ "meta": {}, "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": false, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }
200 OK
On successful share400 Bad Request
When item is archived403 Forbidden
409 Conflict
While item is pending affiliationitem_id
Integer
Required
The id of the item being shared
item_type
String
Required
The type of item being shared
domain_id
Integer
Required
The id of the domain
{ "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"item_id":1,"item_type":"CourseTemplate","domain_id":1}' \ http://<bridge>/api/author/course_templates/:course_template_id/sub_accounts/share
{ "meta": {}, "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }
200 OK
On successful share of all items400 Bad Request
When an issue occurs with one or more items403 Forbidden
affiliations
Array
Required
An array of objects to affiliate, each consisting of an item_type, item_id, and domain_id.
{ "affiliations": [ { "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }, { "item_id": 1, "item_type": "LiveCourse", "domain_id": 2 }, { "item_id": 1, "item_type": "Task", "domain_id": 3 }, { "item_id": 1, "item_type": "Program", "domain_id": 4 } ] }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"affiliations":[{"item_id":1,"item_type":"CourseTemplate","domain_id":1},{"item_id":1,"item_type":"LiveCourse","domain_id":2},{"item_id":1,"item_type":"Task","domain_id":3},{"item_id":1,"item_type":"Program","domain_id":4}]}' \ http://<bridge>/api/author/affiliated_sub_accounts/share_batch
{ "affiliations": [ { "item_id": 1, "item_type": "CourseTemplate", "status": "success", "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }, { "item_id": 1, "item_type": "LiveCourse", "status": "success", "sub_accounts": [ { "id": "2", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }, { "item_id": 1, "item_type": "Task", "status": "error", "error_code": "item_outside_root_domain", "sub_accounts": [ { "id": "3", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }, { "item_id": 1, "item_type": "Program", "status": "success", "sub_accounts": [ { "id": "4", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] } ] }
200 OK
On successful share400 Bad Request
When item is archived403 Forbidden
409 Conflict
While item is pending affiliationitem_id
Integer
Required
The id of the item being shared
item_type
String
Required
The type of item being shared
domain_id
Integer
Required
The id of the domain
{ "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"item_id":1,"item_type":"CourseTemplate","domain_id":1}' \ http://<bridge>/api/author/affiliated_sub_accounts/share_tags
{ "meta": {}, "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }
200 OK
On successful share400 Bad Request
When item is archived403 Forbidden
409 Conflict
While item is pending affiliationitem_id
Integer
Required
The id of the item whose group relevance is being shared
item_type
String
Required
The type of item whose group relevance is being shared
domain_id
Integer
Required
The id of the domain
{ "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"item_id":1,"item_type":"CourseTemplate","domain_id":1}' \ http://<bridge>/api/author/affiliated_sub_accounts/share_group_relevance
{ "meta": {}, "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }
200 OK
On successful revoke400 Bad Request
When item is archived403 Forbidden
409 Conflict
While item is pending affiliationitem_id
Integer
Required
The id of the item being revoked
item_type
String
Required
The type of item being revoked
domain_id
Integer
Required
The id of the domain
{ "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"item_id":1,"item_type":"CourseTemplate","domain_id":1}' \ http://<bridge>/api/author/course_templates/:course_template_id/sub_accounts/revoke
{ "meta": {}, "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": false, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }
200 OK
On successful share of all items400 Bad Request
When an issue occurs with one or more items403 Forbidden
affiliations
Array
Required
An array of objects to affiliate, each consisting of an item_type, item_id, and domain_id.
{ "affiliations": [ { "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }, { "item_id": 1, "item_type": "LiveCourse", "domain_id": 2 }, { "item_id": 1, "item_type": "Task", "domain_id": 3 }, { "item_id": 1, "item_type": "Program", "domain_id": 4 } ] }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"affiliations":[{"item_id":1,"item_type":"CourseTemplate","domain_id":1},{"item_id":1,"item_type":"LiveCourse","domain_id":2},{"item_id":1,"item_type":"Task","domain_id":3},{"item_id":1,"item_type":"Program","domain_id":4}]}' \ http://<bridge>/api/author/affiliated_sub_accounts/revoke_batch
{ "affiliations": [ { "item_id": 1, "item_type": "CourseTemplate", "status": "success", "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }, { "item_id": 1, "item_type": "LiveCourse", "status": "success", "sub_accounts": [ { "id": "2", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }, { "item_id": 1, "item_type": "Task", "status": "error", "error_code": "item_outside_root_domain", "sub_accounts": [ { "id": "3", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }, { "item_id": 1, "item_type": "Program", "status": "success", "sub_accounts": [ { "id": "4", "name": "SubAccount", "affiliated": true, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] } ] }
200 OK
On successful revoke400 Bad Request
When item is archived403 Forbidden
409 Conflict
While item is pending affiliationitem_id
Integer
Required
The id of the item being revoked
item_type
String
Required
The type of item being revoked
domain_id
Integer
Required
The id of the domain
{ "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"item_id":1,"item_type":"CourseTemplate","domain_id":1}' \ http://<bridge>/api/author/affiliated_sub_accounts/revoke_tags
{ "meta": {}, "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": false, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }
200 OK
On successful revoke400 Bad Request
When item is archived403 Forbidden
409 Conflict
While item is pending affiliationitem_id
Integer
Required
The id of the item being revoked
item_type
String
Required
The type of item being revoked
domain_id
Integer
Required
The id of the domain
{ "item_id": 1, "item_type": "CourseTemplate", "domain_id": 1 }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"item_id":1,"item_type":"CourseTemplate","domain_id":1}' \ http://<bridge>/api/author/affiliated_sub_accounts/revoke_group_relevance
{ "meta": {}, "sub_accounts": [ { "id": "1", "name": "SubAccount", "affiliated": false, "has_enrollments": false, "has_foreign_sources": false, "user_count": 1 } ] }
Enables fetching, updating, and resetting enrollments (learners) for a task
id
Integer
Id of enrollment
user_id
Integer
User id of learner
name
String
Name of learner
email
String
Email of learner
avatar_url
String
URL to avatar image
state
String
Current state of enrollment. One of ‘assigned’ or ‘complete’
has_custom_approver
Boolean
Whether this checkpoint enrollment has custom approver set.
sources
Array
Lists the sources of the enrollment whether individual user enrollment, group enrollment, etc.
approval
ApprovalResponse
The approval linked to this checkpoint enrollment. Only there if the checkpoint requires approval.
foreseen_approver
ApproverResponse
If the linked approval exists and is in the ‘incomplete’ state, it represents who the approver will be when the learner requests approval.
default_approver
ApproverResponse
If the linked approval exists, it represents the default approver.
created_at
String
Time when this checkpoint enrollment was created.
updated_at
String
Time when this checkpoint enrollment was last updated.
deleted_at
String
Time when this checkpoint enrollment was deleted. Only present if deleted records were requested.
end_at
DateTime
Due date for this checkpoint enrollment
completed_at
DateTime
Completion date for this checkpoint enrollment
allow_re_enroll
Boolean
Can the learner be re-enrolled with this checkpoint enrollment.
200 OK
404 Not Found
task_id
Integer
Required
Path parameter. Checkpoint id for the learners we want
updated_after
DateTime
Query parameter. Filters list to only include learners updated after the given RFC 3339 compliant timestamp.
created_after
DateTime
Query parameter. Filters list to only include learners created after the given RFC 3339 compliant timestamp.
deleted_after
DateTime
Query parameter. Filters list to only include learners deleted after the given RFC 3339 compliant timestamp.
updated_before
DateTime
Query parameter. Filters list to only include learners updated before the given RFC 3339 compliant timestamp.
created_before
DateTime
Query parameter. Filters list to only include learners created before the given RFC 3339 compliant timestamp.
deleted_before
DateTime
Query parameter. Filters list to only include learners deleted before the given RFC 3339 compliant timestamp.
only_deleted
Boolean
Filters list to only include deleted learners.
with_deleted
Boolean
Filters list to also include deleted learners.
includes[]
String
[ approval_events ]
Query paramater. Additional information to be returned in the response. If approval_events is given, response will include any approval events in any linked approvals.
sort
String
[ name, end_at, approver, status ]
Query parameter causes list to be returned in ascending order. Values may be prepended
with -
for descending order.
search
String
Find enrollments with learner matching values in first name, last name, uid, or email.
user_id
Integer
Find enrollments belonging to a specific learner.
{ "meta": { "next": "http://bridge.bridgeapp.com/api/author/tasks/1/learners?after=eyJ0eXAiOiJKV1QiLCJhSDiQQ" }, "enrollments": [ "{API::CheckpointEnrollmentResponse}" ] }
200 OK
404 Not Found
checkpoint_id
Integer
Required
Path parameter. Checkpoint id for the learners we want
checkpoint_enrollment_id
Integer
Required
Path parameter. Checkpoint enrollment id for the learner
payload
JSON
Required
/api/author/tasks/1/learners/1
{ "meta": {}, "enrollments": [ "{API::CheckpointEnrollmentResponse}" ] }
The checkpoint’s original subaccount.
id
String
Subaccount id.
name
String
Subaccount name.
is_root
Boolean
Indicates if the subaccount is the main subaccount.
sub_accounts_exist
Boolean
Indicates whether subaccounts other than the main exist on this account.
not_current
Boolean
Indicates if the checkpoint’s subaccount is the subaccount this request was made under.
tac_type
String
Describes the subaccount’s terms and conditions.
tac_custom_body_markup
String
Custom body for custom terms and conditions.
tac_updated_at
String
Timestamp of last update of terms and conditions.
An approver set.
id
String
Approver or approver group’s id.
name
String or nil
Name of approver or approver group.
avatar_url
String or null
URL of the approver’s avatar.
email
String or null
Email address of the approver.
users_count
Integer or null
Count of members of the approval group.
deleted_at
String or null
Timestamp of approval group’s deletion.
type
String or null
Type of approver. May be User or Group.
is_admin_group
Boolean
Indicates the approver is an admin group.
is_account_admin_group
Boolean
Indicates if the approver is an account admin group.
id
String
Checkpoint id.
title
String
Title describing the checkpoint.
created_at
DateTime
Required
The timestamp at which this checkpoint was created
updated_at
DateTime
Required
The timestamp at which this checkpoint was last changed
deleted_at
DateTime
The timestamp at which this checkpoint was deleted. Only present if deleted records were requested
author_id
String
Id of the checkpoint’s creator.
instructions
String
DEPRECATED
description
String
A brief description of what learners can expect from the checkpoint.
has_unpublished_changes
Boolean or null
Indicates if the instructions have been edited but not yet published.
structured_body
Object
An object containing formatting details for the checkpoint instruction page.
instructions_attachments
Object[]
Required
Array of file attachments to the checkpoint instructions. Included only if requested with query parameter ?include_instructions_attachments=true.
is_published
Boolean
A boolean describing whether checkpoint is currently visible to enrolled learners.
enrollments_count
Integer
Count of learners enrolled in this checkpoint.
enrollment_counts
Object
Count of enrolled learners broken out by overdue
, incomplete
, finished
, and all
counts.
has_certificate
Boolean or null
Indicates if a certificate is created at completion.
requires_approval
Boolean or null
Indicates if checkpoint requires approval to be completed.
blocks_progress
Boolean or null
Indicates if the checkpoints blocks in-order programs. Only valid if requires_approval is true.
attachments_count
Integer
Count of attached files.
requires_evidence
Boolean or null
Indicate whether checkpoint requires evidence of completion to be uploaded.
direct_messaging_enabled
Boolean or null
Indicates if notifications are turned on for checkpoints on this subaccount.
author
Object
Details of the author of the checkpoint.
sub_account
SubAccount
The subaccount which created the checkpoint.
has_shared_enrollments
Boolean or null
Indicates if checkpoint has been shared with any other subaccounts.
default_approver_type
String or null
Indicates the type of the approver set. Null indicates approval from learner’s own manager.
default_approver_id
String or null
Id of the approver set.
default_approver
Approver
Object representing the default approver set.
pending_approval_count
Integer
Count of enrollments with approval requested.
due_date_type
String
Describes how the due date is calculated.
default_due_on_date
Boolean or null
Describes the exact due date of all new enrollments. Applicable only if ‘due_date_type’ is ‘fixed’.
default_days_until_due
Boolean or null
Describes the number of days from a new enrollment until checkpoint is due. Applicable only if ‘due_date_type’ is ‘relative’.
tags
Array
A list of tags for the live course
matching_tags
Array
Tags matching the search query for the live course
Array of checkpoints.
Checkpoint request object.
title
String
Title describing the checkpoint.
instructions
String
DEPRECATED
description
String
A brief description of what learners can expect from the checkpoint.
has_certificate
Boolean or null
Indicates if a certificate is created at completion.
requires_approval
Boolean or null
Indicates if checkpoint requires approval to be completed.
blocks_progress
Boolean or null
Indicates if the checkpoints blocks in-order programs. Only valid if requires_approval is true.
default_approver_type
String or null
Indicates the type of the approver set. Null indicates approval from learner’s own manager.
default_approver_id
String or null
Id of the approver set
requires_evidence
Boolean or null
Indicate whether checkpoint requires evidence of completion to be uploaded.
default_due_on_date
Boolean or null
Describes the exact due date of all new enrollments. Applicable only if ‘due_date_type’ is ‘fixed’.
default_days_until_due
Boolean or null
Describes the number of days from a new enrollment until checkpoint is due. Applicable only if ‘due_date_type’ is ‘relative’.
200 OK
sort
String
[ newest, -newest, alphabetical, -alphabetical, updated, -updated ]
Query parameter. Sorts results.
search
String
Query parameter. Searches checkpoints by title, returning matches.
subaccounts
Checkpoint
Query parameter. Limit results to checkpoints in any of the given subaccounts.
updated_after
DateTime
Filters list to only include checkpoints updated after the given RFC 3339 compliant timestamp.
created_after
DateTime
Filters list to only include checkpoints created after the given RFC 3339 compliant timestamp.
deleted_after
DateTime
Filters list to only include checkpoints deleted after the given RFC 3339 compliant timestamp.
updated_before
DateTime
Filters list to only include checkpoints updated before the given RFC 3339 compliant timestamp.
created_before
DateTime
Filters list to only include checkpoints created before the given RFC 3339 compliant timestamp.
deleted_before
DateTime
Filters list to only include checkpoints deleted before the given RFC 3339 compliant timestamp.
only_deleted
Boolean
Filters list to only include deleted checkpoints.
with_deleted
Boolean
Filters list to also include deleted checkpoints.
include_instructions_attachments
Boolean
Query parameter. Response will include attachments from checkpoint instructions.
{ "meta": {}, "tasks": [ { "id": "32", "title": "Test Checkpoint", "tags": [], "author_id": "2", "instructions": null, "description": "This is a test checkpoint.", "has_unpublished_changes": false, "structured_body": null, "is_published": true, "enrollments_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "incomplete": 0, "finished": 0 }, "has_certificate": false, "requires_approval": false, "blocks_progress": false, "updated_at": "2017-12-08T09:04:52.507-07:00", "attachments_count": 0, "requires_evidence": false, "author": { "id": "2", "uid": "testauthor", "name": "Test Author", "email": "testauthor@example.com", "avatar_url": null }, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2017-08-10T17:30:23.440Z" }, "default_approver_type": null, "default_approver_id": null, "default_approver": null, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 7 } ] }
Returns an author_checkpoints
201 Created
Body parameter. An array of CheckpointRequests to be created.
{ "meta": {}, "tasks": [ { "id": "32", "title": "Test Checkpoint", "author_id": "2", "instructions": null, "description": "This is a test checkpoint.", "has_unpublished_changes": false, "structured_body": null, "is_published": true, "enrollments_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "incomplete": 0, "finished": 0 }, "has_certificate": false, "requires_approval": false, "blocks_progress": false, "updated_at": "2017-12-08T09:04:52.507-07:00", "attachments_count": 0, "requires_evidence": false, "author": { "id": "2", "uid": "testauthor", "name": "Test Author", "email": "testauthor@example.com", "avatar_url": null }, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2017-08-10T17:30:23.440Z" }, "default_approver_type": null, "default_approver_id": null, "default_approver": null, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 7 } ] }
Returns an author_checkpoints
200 OK
id
Integer
Required
Path parameter. Checkpoint id.
include_instructions_attachments
Boolean
Query parameter. Response will include attachments from checkpoint instructions.
{ "meta": {}, "tasks": [ { "id": "32", "title": "Test Checkpoint", "tags": [], "author_id": "2", "instructions": null, "description": "This is a test checkpoint.", "has_unpublished_changes": false, "structured_body": null, "is_published": true, "enrollments_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "incomplete": 0, "finished": 0 }, "has_certificate": false, "requires_approval": false, "blocks_progress": false, "updated_at": "2017-12-08T09:04:52.507-07:00", "attachments_count": 0, "requires_evidence": false, "author": { "id": "2", "uid": "testauthor", "name": "Test Author", "email": "testauthor@example.com", "avatar_url": null }, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2017-08-10T17:30:23.440Z" }, "default_approver_type": null, "default_approver_id": null, "default_approver": null, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 7 } ] }
Returns an author_checkpoints
200 OK
id
Integer
Required
Path parameter. Checkpoint id.
Body parameter. Object with updates to the checkpoint.
{ "meta": {}, "tasks": [ { "id": "32", "title": "Test Checkpoint", "author_id": "2", "instructions": null, "description": "This is a test checkpoint.", "has_unpublished_changes": false, "structured_body": null, "is_published": true, "enrollments_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "incomplete": 0, "finished": 0 }, "has_certificate": false, "requires_approval": false, "blocks_progress": false, "updated_at": "2017-12-08T09:04:52.507-07:00", "attachments_count": 0, "requires_evidence": false, "author": { "id": "2", "uid": "testauthor", "name": "Test Author", "email": "testauthor@example.com", "avatar_url": null }, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2017-08-10T17:30:23.440Z" }, "default_approver_type": null, "default_approver_id": null, "default_approver": null, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 7, "graphic": { "gradient": 0, "image": null } } ] }
Returns an author_checkpoints
204 No Content
400 Bad Request
id
Integer
Required
Path parameter. Checkpoint id.
id
Integer
Required
Path parameter. Checkpoint id.
{ "meta": {}, "tasks": [ { "id": "32", "title": "Copy of Test Checkpoint", "author_id": "2", "instructions": null, "description": "This is a test checkpoint.", "has_unpublished_changes": false, "structured_body": null, "is_published": true, "enrollments_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "incomplete": 0, "finished": 0 }, "has_certificate": false, "requires_approval": false, "blocks_progress": false, "updated_at": "2017-12-08T09:04:52.507-07:00", "attachments_count": 0, "requires_evidence": false, "author": { "id": "2", "uid": "testauthor", "name": "Test Author", "email": "testauthor@example.com", "avatar_url": null }, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2017-08-10T17:30:23.440Z" }, "default_approver_type": null, "default_approver_id": null, "default_approver": null, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 7 } ] }
Returns an author_checkpoints
200 OK
id
Integer
Required
Path parameter. Checkpoint id.
{ "meta": {}, "tasks": [ { "id": "32", "title": "Copy of Test Checkpoint", "author_id": "2", "instructions": null, "description": "This is a test checkpoint.", "has_unpublished_changes": false, "structured_body": null, "is_published": true, "enrollments_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "incomplete": 0, "finished": 0 }, "has_certificate": false, "requires_approval": false, "blocks_progress": false, "updated_at": "2017-12-08T09:04:52.507-07:00", "attachments_count": 0, "requires_evidence": false, "author": { "id": "2", "uid": "testauthor", "name": "Test Author", "email": "testauthor@example.com", "avatar_url": null }, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2017-08-10T17:30:23.440Z" }, "default_approver_type": null, "default_approver_id": null, "default_approver": null, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 7 } ] }
Returns an author_checkpoints
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
201 Created
On succesful addition of author400 Bad Request
When item is archived400 Bad Request
When unable to add author204 No Content
On successful removal of author400 Bad Request
When attempting to remove the last author400 Bad Request
When item is archivedThis endpoint controls the creation and maintenance of courses.
title
String
Required
Title of course.
description
String
A description of the course.
is_published
Boolean
Required
Describes the visibility of the course.
has_unpublished_changes
Boolean
Required
Describes if there are changes not yet visible to learners.
default_days_until_due
Integer
Required
Number of days from assignment to a learner until course is due.
default_due_on_date
String
Date on which all enrollments will be due.
due_date_type
String
Due date type currently being utilized by the server.
course_type
String
Required
Describes whether course is native bridge, SCORM, Lynda, or OpenSesame.
external_course_id
String
Optional identifier for linking to external systems.
has_certificate
Boolean
Indicates if certificate is issued when course is successfully completed.
passing_threshold
Integer
Percent correct answers required to pass course.
max_quiz_attempts
Integer
The number of times a learner is allowed to answer quiz questions.
continuing_education_credits
Integer
The number of points a learner earns for completing this course.
open_book
Boolean
Indicates if learners can navigate the course during quizzes.
tags
Array
A list of tags for the course
matching_tags
Array
Tags matching the search query for the course
maintain_branding_in_sub_account
Boolean
Controls whether this course is rendered with the custom branding of its originating account when shared
locked_attributes_enabled
Boolean
Indicates if some course attributes are locked.
locked_attributes
Array
Attributes that are locked on the enrollment profile of the course.
derived_locked_attributes
Array
Attributes that are locked on the enrollment profile, including those set on the subaccount and the root subaccount
id
Integer
Required
Slide id.
position
Integer
Required
Published. Slide position in the course.
new_position
Integer
Required
Unpublished slide position in the course.
published_attributes
{API::SlideAttributes}
draft_attributes
{API::SlideAttributes}
published_at
DateTime or null
Required DateTime slide was published.
estimated_time
Integer
Estimated number of minutes to complete slide.
attachments
TODO
Array of slide attachments
title
String
The title of the slide
body
String
The content of the slide
type
String
Slide type
allow_comments
Boolean or null
Required
Allows comments by learners if true.
cover_slide_data
{API::CoverSlideData}
attachment_url
String or null
The URL of the image associated with the quiz question.
attachment_align
String or null
The alignment of the image associated with the quiz question, one of top, left, wide, or bottom.
static_order
Boolean or null
Skips randomizing answer order if true.
dark
Boolean
Required
Describes the color scheme of slide.
heading
String
Required on cover slides. Optional on all others. Title of slide.
intro
String
Subtitle of slide.
backgroundColor
String
Hex color of background.
primaryColor
String
Hex color of foreground.
backgroundImageUrl
String
URL of background image
backgroundImageStyle
String
Optional unless backgroundImageUrl is present. Controls how background image is displayed
backgroundImageOpacity
Float
Optional unless backgroundImageUrl is present. Describes opacity of the image.
id
Integer
SubAccount id
name
String
The name of the subaccount
is_root
Boolean
Is this the root account
not_current
Boolean
Is this course outside the current subaccount
sub_accounts_exist
Boolean
Do subaccounts exist in the account
Note: the deleted_at
element in the returned object is present only
if deleted records were requested.
200 OK
304 Not Modified
sort
String
[ newest, title, updated, archived ]
Query parameter. Applies a sort to the result list.
filters[]
String
[ my_courses, unpublished, has_certificate, no_enrollments, bridge, scorm, lynda, opensesame ]
Query parameter. This argument may occur multiple times.
search
String
Query parameter. Search course titles for a match with the given string.
includes[]
String
[ counts, expiration, enrollment_profiles, programs ]
Query paramater. Additional information to be returned in the response. This argument may occur multiple times. If counts is given, response will include enrollment_counts. If expiration is given, response will include auto_re_enroll, default_days_until_expiration, expires, and re_enrollment_period. If enrollment_profiles is given, response will include enroll_url, open_enrollment, and uuid. If programs is given, response will include program_ids.
updated_after
DateTime
Query parameter. Filters list to only include courses updated after the given RFC 3339 compliant timestamp.
created_after
DateTime
Query parameter. Filters list to only include courses created after the given RFC 3339 compliant timestamp.
deleted_after
DateTime
Query parameter. Filters list to only include courses deleted after the given RFC 3339 compliant timestamp.
updated_before
DateTime
Query parameter. Filters list to only include courses updated before the given RFC 3339 compliant timestamp.
created_before
DateTime
Query parameter. Filters list to only include courses created before the given RFC 3339 compliant timestamp.
deleted_before
DateTime
Query parameter. Filters list to only include courses deleted before the given RFC 3339 compliant timestamp.
only_deleted
Boolean
Filters list to only include deleted courses.
with_deleted
Boolean
Filters list to also include deleted courses.
/api/author/course_templates?includes[]=enrollment_profiles&includes[]=expiration
{ "meta": {}, "course_templates": [ { "id": "1", "estimated_time": null, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "Scorm 01", "description": "", "is_published": true, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "external_status": "inapplicable", "external_status_message": "optional messaging", "course_type": "scorm", "open_book": false, "enrollments_count": 0, "attachments_count": 1, "created_at": "2018-10-30T23:37:07.864Z", "updated_at": "2018-11-28T09:58:33.000Z", "deleted_at": "2018-12-05T19:27:54.010Z", "third_party_course_id": null, "external_course_id": null, "next_section_due": null, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2016-08-05T18:03:21.815Z" }, "has_shared_enrollments": false, "tags": [], "matching_tags": [], "expires": false, "default_days_until_expiration": null, "retain": false, "retain_intervals": [1, 3, 7], "auto_re_enroll": false, "re_enrollment_period": 7, "open_enrollment": false, "uuid": "193c854d", "enroll_url": "http://bridge.bridgelearning.dev:3000/learner/courses/193c854d/enroll", "links": { "author": "1" }, "show_correct_response": true, "locked_attributes_enabled": false, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
{ “meta”: {}, “course_templates”: [ { “id”: “1”, “title”: “My Test Course” } ] }
sort
String
[ newest, title, updated ]
Query parameter. Applies a sort to the result list.
filters[]
String
[ my_courses, unpublished, has_certificate, no_enrollments, bridge, scorm, lynda, opensesame ]
Query parameter. This argument may occur multiple times.
search
String
Query parameter. Search course titles for a match with the given string.
200 OK
304 Not Modified
id
Integer
Required
The course id.
sort
String
Query parameter. This argument makes no difference on outcome, since a single object is always sorted.
includes[]
String
[ has_shared_enrollments, next_section_due, programs, with_content ]
Query paramater. Additional information to be returned in the response. This argument may occur multiple times. If has_shared_enrollments or next_section_due is given, response will include each respective field. If programs is given, response will include program_ids.
/api/author/course_templates/1?includes[]=has_shared_enrollments&includes[]=next_section_due
{ "meta": {}, "course_templates": [ { "id": "1", "estimated_time": null, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "Scorm 01", "description": "", "is_published": true, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "external_status": "inapplicable", "external_status_message": "optional messaging", "course_type": "scorm", "open_book": false, "enrollments_count": 0, "attachments_count": 1, "updated_at": "2016-09-01T12:44:10.773-06:00", "third_party_course_id": null, "external_course_id": null, "next_section_due": null, "sub_account": { "id": "1", "name": "Bridge", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2016-08-05T18:03:21.815Z" }, "has_shared_enrollments": false, "enrollment_counts": { "all": 0, "required": 0, "optional": 0, "finished": 0, "not_started": 0, "overdue": 0, "in_progress": 0 }, "tags": [], "matching_tags": [], "expires": false, "default_days_until_expiration": null, "retain": false, "retain_intervals": [1, 3, 7], "auto_re_enroll": false, "re_enrollment_period": 7, "open_enrollment": false, "uuid": "193c854d", "enroll_url": "http://bridge.bridgelearning.dev:3000/learner/courses/193c854d/enroll", "links": { "author": "1" }, "scorm": { "registration_instancing_option": "always", "player_launch_type": "2", "sco_launch_type": "2", "score_rollup_mode": "3" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
201 Created
Body parameter. An array of {API::CourseTemplateRequest} to be created.
{ "meta": {}, "course_templates": [ { "id": "4", "estimated_time": null, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "My Course", "description": "A description", "is_published": false, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "program_ids": [], "external_status": "inapplicable", "external_status_message": "optional messaging", "external_course_id": "P314159", "course_type": "bridge", "open_book": false, "enrollments_count": 0, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "not_current": false, "sub_accounts_exist": true }, "links": { "author": "1" }, "locked_attributes_enabled": false, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
200 OK
Body parameter. A {API::CourseTemplateRequest} containing the fields to be updated.
{ "meta": {}, "course_templates": [ { "id": "1", "estimated_time": 3, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "My Test Course", "is_published": true, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": true, "program_ids": [], "external_status": "inapplicable", "external_status_message": "optional messaging", "external_course_id": "P314159", "course_type": "bridge", "open_book": false, "enrollments_count": 3, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "not_current": false, "sub_accounts_exist": true }, "links": { "author": "1" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
204 No Content
On successful deletionid
Integer
Required
Path parameter. Course template id.
200 OK
On successful restoration204 No Content
On unsuccesful restorationid
Integer
Required
Path paramter. Course template id.
This endpoint requires support user permissions(validated by the frontend) for now. In the future this may become available to account admins with a custom account permission such as course_template_sync(which would need to be created)
204 No Content
On successful sync request400 Bad Request
When course is not SCORM403 Forbidden
id
Integer
Required
Path parameter. Course template id.
/api/author/course_templates/1/sync
Makes a course visible to non-authors
200 OK
400 Bad Request
When course is archivedid
Integer
Required
Path parameter. Course template id.
notify_filter
String
Which learners to notify. One of ‘all’, ‘finished’, or ‘in_progress’.
notify_message
String
Message to send to learners. Limited to 1000 characters.
re_enroll
Boolean
Indicates if completed enrollments should be re-enrolled. Defaults to false.
{ "meta": {}, "course_templates": [ { "id": "7", "estimated_time": 1, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "Test Course", "is_published": true, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "program_ids": [], "external_status": "inapplicable", "external_status_message": "optional messaging", "external_course_id": "P314159", "course_type": "bridge", "open_book": false, "enrollments_count": 0, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "not_current": false, "sub_accounts_exist": true }, "links": { "author": "1" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
Discards unpublished changes to the course.
200 OK
id
Integer
Required
Path parameter. Course template id.
{ "meta": {}, "course_templates": [ { "id": "7", "estimated_time": 1, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "Test Course", "description": "A description", "is_published": true, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "program_ids": [], "external_status": "inapplicable", "external_status_message": "optional messaging", "external_course_id": "P314159", "course_type": "bridge", "open_book": false, "enrollments_count": 0, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "not_current": false, "sub_accounts_exist": true }, "links": { "author": "1" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
Upload a SCORM course.
200 OK
400 Bad Request
When course is archivedid
Integer
Required
Path parameter. Course template to be overwritten by upload.
location
String
Required
Body parameter. URI of course to import.
file_modified_at
DateTime
Body parameter. Last modification time of the uploaded file.
name
String
Body parameter. Name of the uploaded file.
{ "location": "https://instructure-getsmart.s3.amazonaws.com/uploads/1/3d885212-e681-4971-98ab-0e1100b521c1.zip", "file_modified_at": "2012-09-21T23:18:28.000Z", "name": "RuntimeBasicCalls_SCORM20043rdEdition.zip" }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"location":"https://instructure-getsmart.s3.amazonaws.com/uploads/1/3d885212-e681-4971-98ab-0e1100b521c1.zip","file_modified_at":"2012-09-21T23:18:28.000Z","name":"RuntimeBasicCalls_SCORM20043rdEdition.zip"}' \ http://<bridge>/api/author/course_templates/:id/upload
{ "meta": {}, "course_templates": [ { "id": "19", "estimated_time": null, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "A course title", "description": "A description", "is_published": false, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "program_ids": [], "external_status": "pending", "external_status_message": "optional messaging", "external_course_id": "P314159", "course_type": "scorm", "open_book": false, "enrollments_count": 0, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "not_current": false, "sub_accounts_exist": true }, "links": { "author": "1" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
Replace course with previously attached SCORM course and then publish.
200 OK
400 Bad Request
When course is archivedid
Integer
Required
Path parameter. Course template to be overwritten by upload.
{ "meta": {}, "course_templates": [ { "id": "19", "estimated_time": null, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "A course title", "description": "A description", "is_published": false, "has_been_unpublished": false, "has_unpublished_changes": false, "retain": false, "quizzes_count": 0, "external_status": "inapplicaable", "external_status_message": null, "course_type": "scorm", "enrollments_count": 0, "attachments_count": 1, "meta": { "domain_id": "1", "sub_account_id": "1", "r2b_jwt": "aaa.bbb.ccc" }, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "sub_accounts_exist": false, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2016-08-05T18:03:21.815Z" }, "updated_at": "2016-09-01T12:44:10.773-06:00", "has_shared_enrollments": false, "enrollment_counts": { "all": 0, "required": 0, "optional": 0, "finished": 0, "not_started": 0, "overdue": 0, "in_progress": 0 }, "tags": [], "matching_tags": [], "expires": false, "default_days_until_expiration": null, "retain": false, "retain_intervals": [1, 3, 7], "auto_re_enroll": false, "re_enrollment_period": 7, "open_enrollment": false, "uuid": "193c854d", "enroll_url": "http://bridge.bridgelearning.dev:3000/learner/courses/193c854d/enroll", "links": { "author": "1" }, "scorm": { "registration_instancing_option": "always", "player_launch_type": "2", "sco_launch_type": "2", "score_rollup_mode": "3" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
Attach a SCORM course to a Bridge course.
200 OK
400 Bad Request
When course is archivedid
Integer
Required
Path parameter. Course template to attach SCORM course.
location
String
Required
Body parameter. URI of SCORM course to import.
file_modified_at
DateTime
Body parameter. Last modification time of the uploaded SCORM course file.
name
String
Body parameter. Display name of the uploaded SCORM course file.
{ "location": "https://instructure-getsmart.s3.amazonaws.com/uploads/1/3d885212-e681-4971-98ab-0e1100b521c1.zip", "file_modified_at": "2012-09-21T23:18:28.000Z", "name": "RuntimeBasicCalls_SCORM20043rdEdition.zip" }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"location":"https://instructure-getsmart.s3.amazonaws.com/uploads/1/3d885212-e681-4971-98ab-0e1100b521c1.zip","file_modified_at":"2012-09-21T23:18:28.000Z","name":"RuntimeBasicCalls_SCORM20043rdEdition.zip"}' \ http://<bridge>/api/author/course_templates/:id/attach_scorm
{ "meta": {}, "course_templates": [ { "id": "19", "estimated_time": null, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "A course title", "description": "A description", "is_published": false, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "program_ids": [], "external_status": "attached", "external_course_id": "P314159", "course_type": "scorm", "open_book": false, "enrollments_count": 0, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "not_current": false, "sub_accounts_exist": true }, "links": { "author": "1" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
200 OK
400 Bad Request
When original course is archivedid
Integer
Required
Path parameter. Course template id.
{ "meta": {}, "course_templates": [ { "id": "10", "estimated_time": 1, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "title": "Copy of Test Course", "description": "A description", "is_published": true, "has_unpublished_changes": false, "default_days_until_due": 7, "has_certificate": false, "program_ids": [], "external_status": "inapplicable", "external_course_id": "P314159", "course_type": "bridge", "open_book": false, "enrollments_count": 0, "sub_account": { "id": 1, "name": "Acme, Co", "is_root": true, "not_current": false, "sub_accounts_exist": true }, "links": { "author": "1" }, "locked_attributes_enabled": true, "locked_attributes": ["title", "description"], "derived_locked_attributes": ["title", "description"] } ] }
This endpoint requires the course_template_download permission which by default is granted to admins and account admins.
Bridge courses are exported to JSON format. SCORM courses export a ZIP of relevant SCORM metadata.
200 OK
401 Unauthorized
id
Integer
Required
Path parameter. The course id
format
String
Path parameter. Ignored.
{ "id": 7, "title": "Test Course", "description": "A description", "estimated_time": 1, "user_id": 1, "passing_threshold": 80, "max_quiz_attempts": 5, "continuing_education_credits": 3, "published_at": "2015-07-15T11:15:22.730-06:00", "default_days_until_due": 7, "has_unpublished_changes": true, "has_certificate": false, "external_id": null, "external_status": "inapplicable", "external_course_id": "P314159", "course_type": "bridge", "domain_id": 1, "ordered_slides": [ "{API::OrderedSlide}" ] }
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.
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.
This endpoint will fetch all enrollments for the desired course.
200 OK
304 Not Modified
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.
{ "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" } } } ] }
Either the group_id or the user_id must be provided, but not both.
204 No Content
course_template_id
Integer
Required
Path parameter. Course template id.
Body parameter. An array of EnrollmentRequest.
{ "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
200 OK
400 Bad Request
When course is archivedid
Integer
Required
Path parameter, not required in request body. Enrollment id.
Body parameter. An array of EnrollmentRequest to update.
{ "meta": {}, "linked": { "course_templates": [ { "id":"1" } ], "learners": [] }, "enrollments": [ "{API::EnrollmentResponse}" ] }
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 userid
Integer
Required
Path parameter. Enrollment id.
force_unenroll
Boolean
Body Parameter. Removes enrollment if enrollment is started or optional when true.
200 OK
400 Bad Request
When course is archivedid
Integer
Required
Path parameter, not required in request body. Enrollment id.
Body parameter. An array of EnrollmentRequest to update.
{ "meta": {}, "linked": { "course_templates": [ { "id":"1" } ], "learners": [] }, "enrollments": [ "{API::EnrollmentResponse}" ] }
A PATCH action for progressing the enrollment’s current attempt
200 OK
400 Bad Request
401 Unauthorized
id
Integer
Required
Path parameter. Enrollment id.
slide_id
Integer
Required
Path parameter. Slide id.
{ "meta": {}, "linked": { "course_templates": [ { "id":"1" } ], "learners": [] }, "enrollments": [ "{API::EnrollmentResponse}" ] }
Get PandaPush subscription data for a course’s enrollments. This endpoint will fetch all enrollments for the desired course.
200 OK
403 Forbidden
{ "subscriptions": [ { "url": "https://pp-beta.insops.net/push", "channel": "/PP_APP_ID/private/instructure/domains/1/course_templates/2/enrollments/**", "token": "A JWT-ENCODED STRING" } ] }
No documentation available yet.
204 No Content
On successful unenrollment of group400 Bad Request
When item is archivedCreate smart group preview rules and display its memberships
id
Integer or null
Null when adding a new group. Rule id.
custom_field_id
Integer
Id of the custom field on which the rule is built.
predicate
String
Logical predicate for rule
value
String
Value to match
An array of Rules.
join_type
String
[ intersect, union ]
A string indicating how to join the rules. Default is intersect.
{ "id": "uuid-secret-123" }
id
String
Required
Path parameter. The id returned from creating a smart group preview.
{ "meta": { "total": 1 }, "learners": [ { "id": "5", "avatar_url": null, "completed_courses_count": 0, "name": "Luke Skywalker", "next_due_date": "2015-07-24T18:58:01.344Z" } ] }
Controls the creation, deletion, and display of groups.
name
String
Optional. Group display name
parent_id
Integer
Optional.
external_id
String
Optional. Identifier for linking to external systems.
smart
Boolean
Optional. Indicates if group is a smart group. This can also be indicated in type
.
type
String
Optional. Indicates if group is smart. This can also be indicated in smart
.
rules
Array
Optional. An array of Rules for creating smart groups. Ignored if group is not a smart group.
id
Integer or null
Null when adding a new group. Rule id.
custom_field_id
Integer
Id of the custom field on which the rule is built.
predicate
String
Logical predicate for rule
value
String
Value to match
This endpoint returns a list of all groups
200 OK
if the request was successful304 Not Modified
if the resource has not changedsort
String
[ name, memberships_count ]
Query parameter. Causes list to be returned in sorted order ascending
order. Prepending values with a -
will return results in descending
order.
search
String
Query parameter. Causes list to be returned filtered by search string.
filters[]
String
[ smart, group, team, domain ]
Query parameter. Causes the list of items being returned to be filtered by group type (smart group, manually-created group, team of manager’s direct reports, or domain). This argument may occur multiple times.
{ "meta": {}, "groups": [ { "id": "1", "parent_id": "", "external_id": "AL-123", "name": "All Learners", "type": "domain", "users_count": 1, "links": {} }, { "id": "4", "parent_id": "", "external_id": "NG-456", "name": "New group", "type": "group", "users_count": 1, "links": {} } ] }
Query parameter. An array of Rules. E.g. ?rules[0][id]=3&rules[0][custom_field_id]=1&rules[0][predicate]=is_not&rules[0][value]=X-Wing+Pilot
join_type
String
[ intersect, union ]
Query parameter. A string indicating how to join the rules. Default is intersect.
{ "meta": { "total": 1 }, "learners": [ { "id": "5", "avatar_url": null, "completed_courses_count": 0, "name": "Luke Skywalker", "next_due_date": "2015-07-24T18:58:01.344Z" } ] }
This endpoint returns a group listing. This endpoint issues a GET request with
id
as the argument
200 OK
if the request was successful.304 Not Modified
if the resource has not changed.404 Not Found
if the resource is not found.id
Integer
Required
Path parameter. Group id.
{ "meta": {}, "groups": [ { "id": "3", "parent_id": "", "external_id": "Han-Shot-First-123", "name": "Millennium Falcon Crew", "type": "group", "users_count": 0, "links": {} } ] }
This endpoint creates a new group by issuing a POST request with a request payload. GroupRequests in the payload may contain initial values for group attributes or they may be empty.
201 Created
if resource is created400 Bad Request
if resource is not createdBody parameter. An array of GroupRequest.
{ "meta": { }, "groups": [ { "id": "6", "parent_id": "", "external_id": "", "name": null, "type": "group", "users_count": 0, "links": { } } ] }
This endpoint behaves like a PATCH request whether sent by PATCH or PUT.
200 OK
if group is updatedBody parameter. A {API::GroupRequest} containing the fields to be updated.
{ "meta": {}, "groups": [ { "id": "6", "parent_id": "", "external_id": "Red5", "name": "Red Squadron", "type": "smart", "users_count": 0, "links": {}, "rules": [ "{API::Rule}" ] } ] }
This endpoint deletes an existing group by issueing a DELETE request
204 No Content
if resource deletion is successful404 Not Found
if id is invalidid
Integer
Required
Path parameter. Group id.
This endpoint returns a list of learnables (courses, programs, and live courses) that this group is either associated with or can be associated with.
200 OK
if the request was successful304 Not Modified
if the resource has not changedrubocop: disable Metrics/AbcSize
id
Integer
Required
Path parameter. Group id.
search
String
Query parameter. Causes list to be returned filtered by search string.
item_types[]
String
[ CourseTemplate, Program, LiveCourse ]
Query parameter. Causes the list of items being returned to be filtered by type. This argument may occur multiple times.
sort
String
[ title ]
Query parameter. Returns results in ascending order. Prepending
values with -
will return results in descending order.
page
Integer
Paginate results, show the given page. Defaults to 0.
limit
Integer
Paginate results, limiting to this many results per page. Defaults to 20.
{ "meta": {}, "groups": [ { "id": "1", "parent_id": "", "external_id": "AL-123", "name": "All Learners", "type": "domain", "users_count": 1, "links": {} }, { "id": "4", "parent_id": "", "external_id": "NG-456", "name": "New group", "type": "group", "users_count": 1, "links": {} } ] }
id
Integer
Required
Path parameter. Group id.
{ "meta": {}, "groups": [ { "id": "11", "parent_id": "", "domain_id": "1", "external_id": "", "name": "Copy of c1", "type": "smart", "users_count": 13, "archived_at": null, "registered_count": null, "messageable_count": 13, "join_type": "intersect", "new_smart_group": false, "links": {} } ] }
Deprecated: Use Author::EnrollmentsController#destroy or Learner::LearningItemsController#index instead.
Deprecated: Use Learner::LearningItemsController#index instead.
Deprecated: Use Author::EnrollmentsController#destroy instead
Deprecated: Use Bridge Analytics (or the Learner transcript) instead.
Deprecated: Use Bridge Analytics (or the Learner transcript) instead.
Deprecated: Use “Author - Enrollments API” instead
This API allows authors to add/remove library items
201 Created
400 Bad Request
item_type
String
[ course_templates ]
Required
Path parameter. Item type
item_id
Integer
Required
Path parameter. Item id
{ "meta": {}, "library_items": [ { "id": "1", "item_type": "CourseTemplate", "item_id": "14", "title": "Untitled Course", "estimated_time": null, "features": ["has_video", "has_images", "scorm"], "created_at": "2016-02-03T07:29:51.474-07:00", "updated_at": "2016-02-03T07:29:51.496-07:00", "links": { "user": "1" } } ] }
204 No Content
400 Bad Request
item_type
String
[ course_templates ]
Required
Path parameter. Item type
item_id
Integer
Required
Path parameter. Item id
Represents an instructor for a live course session
id
String
The id of the instructor
name
String
The name of the instructor
200 OK
404 NOT FOUND
live_course_id
Integer
Required
Path parameter. Live course id
session_id
Integer
Required
Path parameter. Session id
/api/author/live_courses/1/sessions/1/instructors
{ "instructors": [ { "id": "1", "name": "Instructor 1" }, { "id": "2", "name": "Instructor 2" }, { "id": "3", "name": "Instructor 3" } ] }
200 OK
404 Not Found
live_course_id
Integer
Required
Path parameter. Live Course id
session_id
Integer
Required
Path parameter. Session id
id
Integer
Required
Path parameter. Instructor id
/api/author/live_courses/1/sessions/1/instructors/1
{ "instructors": [ { "id": "1", "name": "Instructor 1" } ] }
201 Created
400 Bad Request
Occurs when maximum instructor limit has been reached.live_course_id
Integer
Required
Path parameter. Live Course id
session_id
Integer
Required
Path parameter. Session id
name
String
Required
The name of the instructor
user_id
Integer
Required
Id of the user to be an instructor
{ "instructor": "{API::SessionRequest}" }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"instructor":"{API::SessionRequest}"}' \ http://<bridge>/api/author/live_courses/:live_course_id/sessions/:session_id/instructors
{ "instructor": "{API::SessionResponse}" }
204 No Content
live_course_id
Integer
Required
Path parameter. Live Course id
session_id
Integer
Required
Path parameter. Session id
id
Integer
Required
Path parameter. ID of the instructor to delete.
/api/author/live_courses/1/sessions/1/instructors/1
Represents an enrollment for a live course
id
String
user_id
String
The enrolled user’s id.
name
String
The learner’s name.
email
String
The learner’s email.
avatar_url
String
URL for user’s avatar image
start_at
String
Start time of session, if registered.
state
String
expires_at
String
Time when this live training qualification expires.
created_at
String
Time when this live training enrollment was created.
updated_at
String
Time when this live training enrollment was last updated.
deleted_at
String
Time when this live training enrollment was deleted. Only present if deleted records were requested.
active
Boolean
sources
Array
Lists the sources of the enrollment whether individual user enrollment or group enrollment.
registration
{API::LiveCourseSessionRegistration}
Session registration. Only displays if includes[]=registration is passed as a query parameter.
Registration details for a session
id
String
live_course_session_id
String
start_at
String
200 OK
live_course_id
Integer
Required
Path parameter. Live course id for the learners we want
updated_after
String
Query parameter. Returns records updated after a given date and time
created_after
String
Query parameter. Returns records created after a given date and time
deleted_after
String
Query parameter. Returns records deleted after a given date and time
updated_before
String
Query parameter. Returns records updated before a given date and time
created_before
String
Query parameter. Returns records created before a given date and time
deleted_before
String
Query parameter. Returns records deleted before a given date and time
only_deleted
Boolean
Filters list to only include deleted learners.
with_deleted
Boolean
Filters list to also include deleted learners.
includes[]
String
[ registration ]
Query parameter. Additional session registration details will be returned.
/api/author/live_courses/1/learners?updated_after=2016-09-05 /api/author/live_courses/1/learners?updated_after=2016-09-05 12:27:55
{ "meta": {}, "enrollments": [ "{API::LiveCourseEnrollment}" ] }
204 No Content
live_course_id
Integer
Required
Path parameter. Live course id for the learners we want
user_id
String
Required
Body parameter. User id of the learner
200 OK
422 Unprocessable Entity
live_course_id
Integer
Required
Path parameter. Live course id for the learners we want
live_course_enrollment_id
Integer
Required
Path parameter. Live course enrollment id for the learner
payload
JSON
Required
/api/author/live_courses/1/learners/1
{ "meta": {}, "enrollments": [ "{API::LiveCourseEnrollment}" ] }
204 No Content
live_course_id
Integer
Required
Path parameter. Live course id for the learners we want
live_course_enrollment_id
Integer
Required
Path parameter. Live course enrollment id for the learner
/api/author/live_courses/1/learners/1
This API allows authors to list, create, destroy registrants and take attendance.
Note: the deleted_at
element in the returned object is present only
if deleted records were requested.
200 OK
400 Bad Request
live_course_sessions_id
Integer
Required
Path parameter. Live course session id.
updated_after
DateTime
Returns records updated after a given date and time
created_after
DateTime
Returns records created after a given date and time
deleted_after
DateTime
Returns records deleted after a given date and time
updated_before
DateTime
Returns records updated before a given date and time
created_before
DateTime
Returns records created before a given date and time
deleted_before
DateTime
Returns records deleted before a given date and time
only_deleted
Boolean
Filters list to only include deleted registrations.
with_deleted
Boolean
Filters list to also include deleted registrations.
/api/author/live_course_sessions/5/registrations /api/author/live_course_sessions/5/registrations?with_deleted&updated_after=2015-07-05T12:27:55Z
{ "meta": {}, "registrations": [ { "id": "3", "live_course_session_id": "1", "name": "John Doo", "avatar_url": null, "marked_complete_at": "2015-07-16T14:49:00.762-06:00", "start_at": "2015-07-16T14:30:00.546-06:00", "created_at": "2015-06-01T01:12:56Z", "updated_at": "2015-07-04T23:57:00Z", "deleted_at": null } ] }
204 No Content
400 Bad Request
live_course_session_id
Integer
Required
Path parameter. Live course session id.
user_id
Integer
Required
Body parameter. The ID of the learner to register for the session.
from_waitlist
Boolean
Body parameter. Default false.
200 OK
400 Bad Request
live_course_session_id
Integer
Required
Path parameter. Live course session id.
id
Integer
Required
Path parameter. Registration id.
live_course_session_registration[marked_complete_at]
DateTime
Required
Body parameter. DateTime of check in at live course session or null if not present.
{ "live_course_session_registration": { "marked_complete_at": null } }
curl \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"live_course_session_registration":{"marked_complete_at":null}}' \ http://<bridge>/api/author/live_course_sessions/:live_course_session_id/registrations/:id
{ "meta": {}, "registrations": [] }
Get PandaPush subscription data for a course’s live_course_session_registrations. This endpoint will fetch all live_course_session_registrations for the desired course.
200 OK
403 Forbidden
{ "subscriptions": [ { "url": "https://pp-beta.insops.net/push", "channel": "/PP_APP_ID/private/instructure/domains/1/live_course_sessions/2/registrations/**", "token": "A JWT-ENCODED STRING" } ] }
This API allows authors to create and destroy waitlist enrollments.
204 No Content
400 Bad Request
live_course_session_id
Integer
Required
Path parameter. Live course session id.
user_id
Integer
Required
Body parameter. The ID of the learner to register for the session.
id
Integer
Live course session id
start_at
DateTime or null
Scheduled starting date and time
end_at
DateTime or null
Scheduled ending date and time
location
String
The physical location of the live course session
seats
Integer
Enrollment cap
registered_count
Integer
Current number of registrants
present_count
Integer
Current number of attending registrants
parts_count
Integer
Number of parts in a multi-part session
parent_id
Integer
The id of the live course session part’s parent
notes
String
Additional notes for registrants
live_course_id
Integer
The id of the live course
concluded_at
DateTime or null
Date and time at which the live course session concluded
enroll_url
String
enrollment url
has_web_conference
Boolean
True, if session (or any or it’s parts) have a web conference
instuctors
Array
Objects representing the instuctors for this session.
created_at
String
Time when this session was created.
updated_at
String
Time when this session was last updated.
deleted_at
String
Time when this session was deleted. Only present if deleted records were requested.
start_at
DateTime or null
Optional. Scheduled starting date and time
end_at
DateTime or null
Optional. Scheduled ending date and time
location
String
Optional. The physical location of the live course session
seats
Integer
Optional. Enrollment cap
notes
String
Optional. Additional notes for registrants
timezone
String
Optional. User selected Timezone
200 OK
304 Not Modified
live_course_id
Integer
Required
Path parameter. Live course id for the sessions we want
updated_after
DateTime
Returns records updated after a given date and time
created_after
DateTime
Returns records created after a given date and time
deleted_after
DateTime
Returns records deleted after a given date and time
updated_before
DateTime
Returns records updated before a given date and time
created_before
DateTime
Returns records created before a given date and time
deleted_before
DateTime
Returns records deleted before a given date and time
only_deleted
Boolean
Filters list to only include deleted sessions.
with_deleted
Boolean
Filters list to also include deleted sessions.
parent_id
Integer
Returns only children records for a given parent_id
/api/author/live_courses/1/sessions /api/author/live_courses/3/sessions?with_deleted&updated_after=2015-07-05T14:01:00Z
{ "sessions": [ "{API::SessionResponse}" ] }
200 OK
304 Not Modified
live_course_id
Integer
Required
Path parameter. Live course id
id
Integer
Required
Path parameter. Session id
{ "sessions": [ "{API::SessionResponse}" ] }
201 Created
400 Bad Request
if parameters are missing404 Not Found
if live_course_id is not validlive_course_id
Integer
Required
Path parameter. Live course id
Body parameter. An array of SessionRequest objects with details for sessions to be created. All SessionRequest parameters are optional, but an empty object {} is the minimum element required in the array.
parent_id
Integer
Body parameter. Parent id.
timezone
String
Body parameter. Timezone.
{ "sessions": [ "{API::SessionResponse}" ] }
200 OK
400 Bad Request
if there is not at least one parameter passed404 Not Found
if either live_course_id or id is invalidlive_course_id
Integer
Required
Path parameter. Live course id.
id
Integer
Required
Path parameter. Session id.
timezone
String
Body parameter. Timezone.
Body parameter. A SessionRequest object containing the fields to be updated.
{ "sessions": [ "{API::SessionResponse}" ] }
204 No Content
on successful deletion404 Not Found
if live_course_id or id is invalidlive_course_id
Integer
Required
Path parameter. Live course id.
id
Integer
Required
Path parameter. Session id.
This action is irreversible. Declares a session to be completed. Unregisters absent enrollments and marks present enrollments as completed.
200 OK
if successfully concluded400 Bad Request
if unable to conclude session404 Not Found
if live_course_id or id are invalidlive_course_id
Integer
Required
Path parameter. Live course id.
id
Integer
Required
Path parameter. Session id.
{ "sessions": [ "{API::SessionResponse}" ] }
This action declares a session as published. Notifies users of the status change. Doesn’t affect published sessions.
200 OK
if successfully published400 Bad Request
if unable to publish session404 Not Found
if live_course_id or id are invalidlive_course_id
Integer
Required
Path parameter. Live course id.
id
Integer
Required
Path parameter. Session id.
{ "sessions": [ "{API::SessionResponse}" ] }
This action creates a copy of an existing live course session.
201 Created
if successfully created404 Not Found
if live_course_id or id are invalidlive_course_id
Integer
Required
Path parameter. Live course id.
id
Integer
Required
Path parameter. Session id.
{ "sessions": [ "{API::SessionResponse}" ] }
id
Integer
Live course web conference id
live_course_session_id
Integer
Live course session id this web conference belongs to
provider
String
Web conference provider. One of ‘Microsoft Teams’, ‘Google Meet’, ‘WebEx’, ‘GoToMeeting’, ‘GoToWebinar’, ‘Adobe Connect’, ‘Zoom’, ‘Bluejeans’, or ‘Other’
other_provider
String
If provider is ‘Other’, provider name may be placed here instead
meeting_url
String
URL where learners can join web conference
access_code
String
Access code for web conference
phone
String
Phone number for learners to join web conference
host_key
String
Additional key for other hosts
password
String
Password for learners to join web conference
registration_link
String
Link to register for the web conference
provider
String
Web conference provider. One of ‘Microsoft Teams’, ‘Google Meet’, ‘WebEx’, ‘GoToMeeting’, ‘GoToWebinar’, ‘Adobe Connect’, ‘Zoom’, ‘Bluejeans’, or ‘Other’
other_provider
String
If provider is ‘Other’, provider name may be placed here instead
meeting_url
String
URL where learners can join web conference
access_code
String
Access code for web conference
phone
String
Phone number for learners to join web conference
host_key
String
Additional key for other hosts
password
String
Password for learners to join web conference
registration_link
String
Link to register for the web conference
default_session
Boolean
Re-use the details of this web conference for new sessions
apply_all
Boolean
Saves details to all other sessions in live course
200 OK
live_course_id
Integer
Filters list to only include web conferences under this live course.
default_session
Boolean
Filters list to only include default web conferences for current user.
{ "web_conferences": [ "{API::WebConferenceResponse}" ] }
200 OK
404 Not Found
if no web conference exists{ "web_conferences": [ "{API::WebConferenceResponse}" ] }
200 OK
404 Not Found
if either live_course_id or session_id is invalid422 Unprocessable Entity
if a required parameter is missinglive_course_id
Integer
Required
Path parameter. Live course id.
session_id
Integer
Required
Path parameter. Session id.
{ "web_conference": "{API::WebConferenceRequest}" }
curl \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"web_conference":"{API::WebConferenceRequest}"}' \ http://<bridge>/api/author/live_courses/:live_course_id/sessions/:session_id/web_conference
{ "web_conferences": [ "{API::WebConferenceResponse}" ] }
204 No Content
on successful removal404 Not Found
if live_course_id or session_id is invalid or web_conference doesn’t existlive_course_id
Integer
Required
Path parameter. Live course id.
session_id
Integer
Required
Path parameter. Session id.
This API allows authors to list, display, create, update, and delete live courses.
title
String
Title of live course.
description
String
A description of the live course.
external_course_id
String
An external identifier for the course.
has_certificate
Boolean
Indicates if a certificate is issued when course is successfully completed.
Live Course
id
String
Required
title
String
Required
author_id
String
Required
The id of the creator of this live course.
created_at
DateTime
Required
The timestamp at which this course was created
updated_at
DateTime
Required
The timestamp at which this course was last changed
deleted_at
DateTime
The timestamp at which this course was deleted. Only present if deleted records were requested
description
String
Required
A longer description of course content.
sessions_count
Integer
Required
enrollments_count
Integer
Required
is_published
Boolean
Required
external_course_id
String
An external identifier for the course.
has_certificate
Boolean
Indicates if certificate is issued when course is successfully completed.
expires
Boolean
Indicates if this live course expires and must be retaken periodically. Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=expiration query parameter is passed.
default_days_until_expiration
Integer
Period of time until learner must be re-enrolled. Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=expiration query parameter is passed.
auto_re_enroll
Boolean
Indicates if Bridge will re-enroll the learner automatically after expiration. Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=expiration query parameter is passed.
re_enrollment_period
Integer
Number of days before expiration when Bridge will automatically re-enroll. Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=expiration query parameter is passed.
open_enrollment
Boolean
Indicates if enrollment is open to all users with enroll_url. Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=enrollment_profiles query parameter is passed.
uuid
String
Course uuid. Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=enrollment_profiles query parameter is passed.
enroll_url
String
URL a learner can use to enroll if open enrollment is permitted. Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=enrollment_profiles query parameter is passed.
enrollments
{API::LiveCourseEnrollment}[]
Array containing all enrollments for this live course. Omitted unless includes[]=enrollments query parameter is passed.
enrollment_counts
{API::LiveCourseEnrollmentsCount}
Always shown in ‘Show live course’ and ‘Update live course’ methods. Shown in ‘List live courses’ method if includes[]=counts query parameter is passed.
tags
Array
A list of tags for the live course
matching_tags
Array
Tags matching the search query for the live course
Detailed counts of enrollments
all
Integer
Required
Total count of enrollments.
invited
Integer
Required
Count of enrollments that have received invitations to register.
not_registered
Integer
Required
Count of enrollments that have not registered for a session.
registered
Integer
Required
Count of enrollments that have registered for a session.
finished
Integer
Required
Count of enrollments that have completed a session.
200 OK
304 Not Modified
@argument[Optional, String] search Query parameter. String to search for in title.
@argument[Optional, String] subaccounts[] Query parameter. Array of String subaccount IDs to filter by.
sort
String
[ title, updated ]
Query parameter. Applies a sort to the result list.
filters
String
[ upcoming ]
Query parameter. Array of filters to limit results.
updated_after
DateTime
Filters list to only include records updated after the given RFC 3339 compliant timestamp.
created_after
DateTime
Filters list to only include records created after the given RFC 3339 compliant timestamp.
deleted_after
DateTime
Filters list to only include records deleted after the given RFC 3339 compliant timestamp.
updated_before
DateTime
Filters list to only include records updated before the given RFC 3339 compliant timestamp.
created_before
DateTime
Filters list to only include records created before the given RFC 3339 compliant timestamp.
deleted_before
DateTime
Filters list to only include records deleted before the given RFC 3339 compliant timestamp.
only_deleted
Boolean
Filters list to only include deleted live courses.
with_deleted
Boolean
Filters list to also include deleted live courses.
includes[]
String
[ counts, expiration, enrollments, enrollment_profiles ]
Query paramater. Additional information to be returned in the response. This argument may occur multiple times. If counts is given, response will include enrollment_counts. If expiration is given, response will include auto_re_enroll, default_days_until_expiration, expires, and re_enrollment_period. If enrollment_profiles is given, response will include enroll_url, open_enrollment, and uuid. If enrollments is given, response will contain all enrollments and their registrations in the course.
{ "meta": {}, "live_courses": [ "{LiveCourseResponse}" ] }
201 Created
Path parameter. An array of LiveCourseRequest. If Optional fields` are present, the new live course will be initialized with their values.
{ "meta": {}, "live_courses": [ "{API::LiveCourseResponse}" ] }
200 OK
304 Not Modified
id
Integer
Required
Path parameter. Live course id
includes[]
String
[ enrollments ]
Query paramater. Additional information to be returned in the response. This argument may occur multiple times. If enrollments is given, response will contain all enrollments and their registrations in the course.
{ "meta": {}, "live_courses": [ "{API::LiveCourseResponse}" ] }
200 OK
id
Integer
Required
Path parameter. Live course id
title
String
Required
Body parameter. The new live course title
description
String
Required
Body parameter. The new live course description
"{API::LiveCourseRequest}"
{ "meta": {}, "live_courses": [ "{API::LiveCourseResponse}" ] }
204 No Content
id
Integer
Required
Path parameter. Live course id
These endpoints will return information about managers and their direct reports.
Direct reports are listed 20 per response with the next group available
via the next
URL in the meta
object.
200 OK
404 Not Found
If manager id does not reference a managermanager_id
String
Required
The manager’s id.
{ "meta": { "next": "https://example.bridgeapp.com/api/author/managers/1?after=afdsajkf3er32fsjfkdsa" }, "manager_id": "1", "direct_reports_count": 21, "direct_reports": [ { "id": "2", "uid": "gexemplar", "hris_id": "123456", "first_name": "George", "last_name": "Exemplar", "full_name": "George A Exemplar", "sortable_name": "Exemplar, George A", "email": "gexemplar@example.com", "locale": "en", "roles": [], "name": "George Exemplar", "avatar_url": "https://www.example.com/pictures/gexemplar.jpeg", "updated_at": "2016-12-03T08:48:01.944-07:00", "deleted_at": null, "unsubscribed": null, "welcomed_at": "2015-06-18T10:40:09.097-06:00", "logged_in_at": "2016-12-03T08:48:01.930-07:00", "hire_date": "2014-04-24T16:00:00.000-07:00", "is_manager": false, "job_title": "Widget Designer" } ] }
These endpoints will return information about managers and their direct reports.
Managers are listed 20 per response with the next group available
via the next
URL in the meta
object.
200 OK
search
String
Finds managers with matching value in first name, last name, uid, or email.
{ "meta": { "next": "https://example.bridgeapp.com/api/author/managers?after=afdsajkf3er32fsjfkdsa" }, "managers": [ { "id": "1", "uid": "jdoe", "hris_id": "123213", "first_name": "John", "last_name": "Doe", "full_name": "John A Doe", "sortable_name": "Doe, John A", "email": "jdoe@example.com", "locale": "en", "roles": ["observer"], "name": "John Doe", "avatar_url": "https://www.example.com/pictures/jdoe.jpeg", "updated_at": "2016-12-02T08:48:01.944-07:00", "deleted_at": null, "unsubscribed": null, "welcomed_at": "2015-06-17T10:40:09.097-06:00", "logged_in_at": "2016-12-02T08:48:01.930-07:00", "hire_date": "2014-04-01T16:00:00.000-07:00", "direct_reports_count": 9 } ] }
This API controls group memberships.
user_id
Integer
User id to add to group
201 Created
404 Not Found
group_id
Integer
Required
Path parameter. Group id.
Body parameter. An array of MembershipRequest objects
{ "meta": {}, "linked": { "groups": [ { "id": "4", "parent_id": "", "name": "Rebellion", "type": "group", "users_count": 1, "links": {} } ] }, "learners": [ { "id": "2", "group": "4", "avatar": null, "completed_courses_count": 0, "email": null, "name": "Cem Al", "next_due_date": "2015-07-22T20:08:49.411Z" } ] }
200 OK
400 Bad Request
group_id
Integer
Required
Path parameter. Group id.
search
String
Query parameter. The value can be a firstname, lastname, username, or e-mail.
sort
String
[ name ]
Query parameter. Returns results in ascending order. Prepending
values with -
will return results in descending order.
{ "meta": {}, "linked": { "groups": [ { "id": "1", "parent_id": "", "name": "All Learners", "type": "domain", "users_count": 1, "links": {} } ] }, "learners": [ { "id": "1", "group": "1", "avatar": null, "completed_courses_count": 1, "email": null, "name": "John Doo", "next_due_date": null } ] }
204 No Content
group_id
Integer
Required
Path parameter. Group id.
id
Integer
Required
Path parameter. Learner id.
No documentation available yet.
No documentation available yet.
No documentation available yet.
Enables fetching, creating, and deleting enrollments (learners) for a program
id
Integer
User id of learner
name
String
Name of learner
email
String
Email of learner
avatar_url
String
URL to avatar image
state
String
Current state of enrollment. One of ‘active’ or ‘complete’
enrollment_id
Integer
Enrollment id
current_program_item_index
Integer
Current program item step learner is on
total_program_items
Integer
Total number of steps in program
current_program_item_due
Integer
Number of days until current course is due
pending_approval_item_count
Integer
Number of program items pending approval
program_due
Integer
Number of days until program is due
group_ids
String[]
Group ids associated with this learner’s enrollment
created_at
String
Time when this program enrollment was created.
updated_at
String
Time when this program enrollment was last updated.
deleted_at
String
Time when this program enrollment was deleted. Only present if deleted records were requested.
end_at
DateTime
Due date for this program enrollment
expires_at
DateTime
Expiration date for this program enrollment
completed_at
DateTime
Completion date for this program enrollment
200 OK
program_id
Integer
Required
Path parameter. Program id for the learners we want
updated_after
DateTime
Query parameter. Filters list to only include learners updated after the given RFC 3339 compliant timestamp.
created_after
DateTime
Query parameter. Filters list to only include learners created after the given RFC 3339 compliant timestamp.
deleted_after
DateTime
Query parameter. Filters list to only include learners deleted after the given RFC 3339 compliant timestamp.
updated_before
DateTime
Query parameter. Filters list to only include learners updated before the given RFC 3339 compliant timestamp.
created_before
DateTime
Query parameter. Filters list to only include learners created before the given RFC 3339 compliant timestamp.
deleted_before
DateTime
Query parameter. Filters list to only include learners deleted before the given RFC 3339 compliant timestamp.
only_deleted
Boolean
Filters list to only include deleted learners.
with_deleted
Boolean
Filters list to also include deleted learners.
sort
String
[ name, progress, course_due_date, due_date, renew_date ]
Query parameter causes list to be returned in ascending order. Values may be prepended
with -
for descending order.
search
String
Find enrollments with learner matching values in first name, last name, uid, or email.
user_id
Integer
Find enrollments belonging to a specific learner.
{ "meta": { "next": "http://bridge.bridgeapp.com/api/author/programs/1/learners?after=eyJ0eXAiOiJKV1QiLCJhSDiQQ" }, "enrollments": [ "{API::ProgramEnrollmentResponse}" ] }
No documentation available yet.
200 OK
program_id
Integer
Required
Path parameter. Program id for the learners we want
program_enrollment_id
Integer
Required
Path parameter. Program enrollment id for the learner
payload
JSON
Required
Request body. Must include an ‘enrollments’ field with updated data.
{ "enrollments": [ { "end_at": "2017-12-31 07:00:00", "expires_at": "2018-12-31 07:00:00" } ] }
curl \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"enrollments":[{"end_at":"2017-12-31 07:00:00","expires_at":"2018-12-31 07:00:00"}]}' \ http://<bridge>/api/author/programs/:program_id/learners/:id
{ "meta": {}, "enrollments": [ "{API::ProgramEnrollmentResponse}" ] }
No documentation available yet.
Fetches, creates, and deletes program sections
title
String
Title of program section.
description
String
Description of program section.
id
String
Program Section id
title
String
The title of the section
description
String
A description of the section
201 Created
400 Bad Request
403 Forbidden
422 Unprocessable Entity
sections Body parameter. An array of {API::ProgramSectionRequest} to be created.
title
String
Title of the program section.
description
String
Description of the program section
{"program_sections": [ {"title": "Title-1", "description": "Description 1"}, {"title": "Title-2", "description": "Description 2"} ] }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"program_sections":[{"title":"Title-1","description":"Description 1"},{"title":"Title-2","description":"Description 2"}]}' \ http://<bridge>/api/author/program_sections
{ "meta": {}, "programs_sections": [ { "id": "17", "title": "Title-1", "description": "Description 1" }, { "id": "18", "title": "Title-2", "description": "Description 2" } ] }
200 OK
403 Forbidden
404 Not Found
id
Integer
Required
The program section id.
{ "program_sections": [{ "id": "1", "title": "Live Trainings", "description": "A series of mandatory live trainings" }] }
200 OK
403 Forbidden
404 Not Found
422 Unprocessable Entity
section Body parameter. A {API::ProgramSectionRequest} containing the fields to be updated.
{ "meta": {}, "program_sections": [ { "id": "1", "title": "My Test Program Section", "description": "My Test Program Section Description" } ] }
204 No Content
On successful deletion403 Forbidden
404 Not Found
id
Integer
Required
Path parameter. Program Section ID.
This endpoint controls the creation and maintenance of programs
title
String
Title of program.
description
String
Description of program.
item_type
String
Required
The type of the item in the program.
item_id
Integer
Required
The id of the item in the program.
title
String
Title of program.
description
String
Description of program.
step_notifications
Boolean
Send Notification at Each Step
open_enrollment
Boolean
Indicates if enrollment is open to all users with enroll_url.
external_id
String
Optional. Identifier for linking to external systems.
default_days_until_due
Integer
Number of days from assignment to a learner until program is due.
default_due_on_date
String
Date on which all enrollments will be due.
expires
Boolean
Indicates if this program expires and must be retaken periodically.
auto_re_enroll
Boolean
Indicates if Bridge will re-enroll the learner automatically before expiration.
default_days_until_expiration
Integer
Number of days from assignment to a learner until program is expired.
re_enrollment_period
Integer
Number of days before expiration when Bridge will automatically re-enroll.
has_certificate
Boolean
Indicates if certificate is issued when program is successfully completed.
items
ProgramItem[]
Items in the program, in order.
id
Integer
SubAccount id
name
String
The name of the subaccount
is_root
Boolean
Is this the root account
not_current
Boolean
Is this program outside the current subaccount
Note: the deleted_at
element in the returned object is present only
if deleted records were requested.
200 OK
304 Not Modified
updated_after
DateTime
Query parameter. Filters list to only include courses updated after the given RFC 3339 compliant timestamp.
created_after
DateTime
Query parameter. Filters list to only include courses created after the given RFC 3339 compliant timestamp.
deleted_after
DateTime
Query parameter. Filters list to only include courses deleted after the given RFC 3339 compliant timestamp.
updated_before
DateTime
Query parameter. Filters list to only include courses updated before the given RFC 3339 compliant timestamp.
created_before
DateTime
Query parameter. Filters list to only include courses created before the given RFC 3339 compliant timestamp.
deleted_before
DateTime
Query parameter. Filters list to only include courses deleted before the given RFC 3339 compliant timestamp.
only_deleted
Boolean
Filters list to only include deleted programs.
with_deleted
Boolean
Filters list to also include deleted programs.
sort
String
[ newest, title, updated ]
Query parameter. Applies a sort to the result list.
filters[]
String
[ unpublished, no_enrollments ]
Query parameter. This argument may occur multiple times.
search
String
Query parameter. Search program titles for a match with the given string.
{ "meta": {}, "programs": [ { "id": "6", "title": "finish me", "created_at": "2018-10-30T23:37:07.864Z", "updated_at": "2018-11-28T09:58:33.000Z", "deleted_at": "2018-12-05T19:27:54.010Z", "description": "A program to finish", "course_count": 3, "item_count": 4, "is_published": true, "publishable": true, "has_unpublished_changes": false, "step_notifications": true, "has_certificate": false, "external_id": null, "direct_messaging_enabled": true, "has_shared_enrollments": false, "unfinished_learners_count": 2, "sub_account": { "id": "1", "name": "Acme, Co", "is_root": true, "sub_accounts_exist": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 14 } ] }
201 Created
400 Bad Request
401 Unauthorized
Body parameter. An array of {API::CreateProgramRequest} to be created.
{ "meta": {}, "programs": [ { "id": "7", "title": "Title-1", "description": "Description 1", "course_count": 0, "item_count": 0, "is_published": false, "publishable": true, "has_unpublished_changes": false, "step_notifications": true, "has_certificate": false, "external_id": null, "direct_messaging_enabled": true, "unfinished_learners_count": 0, "sub_account": { "id": "1", "name": "Acme, Co", "is_root": true, "sub_accounts_exist": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "is_non_linear": false, "has_shared_content": false, "is_shared": false, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": null }, { "id": "18", "title": "Title-2", "description": "Description 2", "course_count": 0, "item_count": 0, "is_published": false, "publishable": true, "has_unpublished_changes": false, "step_notifications": true, "has_certificate": false, "external_id": null, "direct_messaging_enabled": true, "unfinished_learners_count": 0, "sub_account": { "id": "1", "name": "Acme, Co", "is_root": true, "sub_accounts_exist": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "is_non_linear": false, "has_shared_content": false, "is_shared": false, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": null } ] }
Makes a program visible to non-authors
200 OK
id
Integer
Required
Path parameter. Program id.
{ "meta": {}, "programs": [ { "id": "7", "title": null, "description": null, "course_count": 2, "item_count": 2, "is_published": true, "publishable": true, "has_unpublished_changes": false, "step_notifications": true, "has_certificate": false, "external_id": null, "direct_messaging_enabled": true, "unfinished_learners_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "not_finished": 0, "finished": 0 }, "sub_account": { "id": "1", "name": "Acme, Co", "is_root": true, "sub_accounts_exist": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "items": [ { "id": "19", "item_type": "CourseTemplate", "title": "tedt", "description": null, "default_days_until_due": 7, "default_due_on_date": null, "editable": true, "estimated_time": 0, "is_published": true, "passing_threshold": 80, "sessions_count": 0, "max_quiz_attempts": null, "continuing_education_credits": null, "default_approver": null, "requires_approval": false, "requires_evidence": false, "icon": null } ], "course_templates": [ { "id": "19", "estimated_time": 0, "passing_threshold": 80, "max_quiz_attempts": null, "continuing_education_credits": null, "default_days_until_due": 7, "title": "tedt", "description": null, "is_published": true, "published_at": "2018-03-23T14:25:59.530-06:00", "has_certificate": false, "course_type": "bridge", "external_id": null } ], "graphic": { "gradient": 0, "image": null }, "is_non_linear": false, "estimated_time": 0, "open_enrollment": false, "uuid": "16e9f256", "enroll_url": "http://acme.bridgeapp.com/learner/programs/16e9f256/enroll", "has_shared_content": false, "is_shared": false, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": null, "expires": false, "default_days_until_expiration": null, "auto_re_enroll": false, "re_enrollment_period": 14 } ] }
204 No Content
On successful deletionid
Integer
Required
Path parameter. Program id.
Discards unpublished changes to the program.
200 OK
id
Integer
Required
Path parameter. Program id.
{ "meta": {}, "programs": [ { "id": "7", "title": null, "description": null, "course_count": 2, "item_count": 2, "is_published": true, "publishable": true, "has_unpublished_changes": false, "step_notifications": true, "has_certificate": false, "external_id": null, "direct_messaging_enabled": true, "unfinished_learners_count": 0, "enrollment_counts": { "all": 0, "overdue": 0, "not_finished": 0, "finished": 0 }, "sub_account": { "id": "1", "name": "Acme, Co", "is_root": true, "sub_accounts_exist": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "items": [ { "id": "19", "item_type": "CourseTemplate", "title": "tedt", "description": null, "default_days_until_due": 7, "default_due_on_date": null, "editable": true, "estimated_time": 0, "is_published": true, "passing_threshold": 80, "sessions_count": 0, "max_quiz_attempts": null, "continuing_education_credits": null, "default_approver": null, "requires_approval": false, "requires_evidence": false, "icon": null } ], "course_templates": [ { "id": "19", "estimated_time": 0, "passing_threshold": 80, "max_quiz_attempts": null, "continuing_education_credits": null, "default_days_until_due": 7, "title": "tedt", "description": null, "is_published": true, "published_at": "2018-03-23T14:25:59.530-06:00", "has_certificate": false, "course_type": "bridge", "external_id": null } ], "graphic": { "gradient": 0, "image": null }, "is_non_linear": false, "estimated_time": 0, "open_enrollment": false, "uuid": "16e9f256", "enroll_url": "http://acme.bridgeapp.com/learner/programs/16e9f256/enroll", "has_shared_content": false, "is_shared": false, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": null, "expires": false, "default_days_until_expiration": null, "auto_re_enroll": false, "re_enrollment_period": 14 } ] }
200 OK
304 Not Modified
id
Integer
Required
The program id.
{ "meta": {}, "programs": [ { "id": "1", "title": "My Test Program", "description": "My Test Program Description", "course_count": 3, "item_count": 4, "publishable": true, "is_published": true, "has_unpublished_changes": false, "step_notifications": true, "item_count": 3, "unfinished_learners_count": 1, "external_id": null, "has_certificate": false, "enrollment_counts": { "all": 4, "overdue": 0, "not_finished": 2, "finished": 2 }, "sub_account": { "id": 1, "name": "Acme, Co", "sub_accounts_exist": true, "is_root": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "items": [ { "id": "4", "item_type": "CourseTemplate", "title": "test program final course", "description": null, "default_days_until_due": 7, "default_due_on_date": null, "editable": true, "estimated_time": 0, "is_published": true, "passing_threshold": 80, "sessions_count": 0, "max_quiz_attempts": null, "continuing_education_credits": null, "default_approver": null, "requires_approval": false, "requires_evidence": false, "blocks_progress": false, "icon": null } ], "course_templates": [ { "id": "4", "estimated_time": 0, "passing_threshold": 80, "max_quiz_attempts": null, "continuing_education_credits": null, "default_days_until_due": 7, "title": "test program final course", "description": null, "is_published": true, "published_at": "2017-12-07T10:29:09.247-07:00", "has_certificate": false, "course_type": "bridge", "external_id": null } ], "graphic": { "gradient": 3, "image": null }, "is_non_linear": false, "estimated_time": 1, "open_enrollment": false, "uuid": "2d3a2312", "enroll_url": "http://acme.bridgeapp.com/learner/programs/2d3a2312/enroll", "has_shared_content": false, "is_shared": false, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 14, "expires": true, "default_days_until_expiration": null, "auto_re_enroll": true, "re_enrollment_period": 14 } ] }
200 OK
Body parameter. A {API::UpdateProgramRequest} containing the fields to be updated.
{ "meta": {}, "programs": [ { "id": "1", "title": "My Test Program", "description": "My Test Program Description", "course_count": 3, "item_count": 4, "publishable": true, "is_published": true, "has_unpublished_changes": false, "step_notifications": true, "item_count": 3, "unfinished_learners_count": 1, "external_id": null, "has_certificate": false, "enrollment_counts": { "all": 4, "overdue": 0, "not_finished": 2, "finished": 2 }, "sub_account": { "id": 1, "name": "Acme, Co", "sub_accounts_exist": true, "is_root": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "items": [ { "id": "4", "item_type": "CourseTemplate", "title": "test program final course", "description": null, "default_days_until_due": 7, "default_due_on_date": null, "editable": true, "estimated_time": 0, "is_published": true, "passing_threshold": 80, "sessions_count": 0, "max_quiz_attempts": null, "continuing_education_credits": null, "default_approver": null, "requires_approval": false, "requires_evidence": false, "icon": null } ], "course_templates": [ { "id": "4", "estimated_time": 0, "passing_threshold": 80, "max_quiz_attempts": null, "continuing_education_credits": null, "default_days_until_due": 7, "title": "test program final course", "description": null, "is_published": true, "published_at": "2017-12-07T10:29:09.247-07:00", "has_certificate": false, "course_type": "bridge", "external_id": null } ], "graphic": { "gradient": 3, "image": null }, "is_non_linear": false, "estimated_time": 1, "open_enrollment": false, "uuid": "2d3a2312", "enroll_url": "http://acme.bridgeapp.com/learner/programs/2d3a2312/enroll", "has_shared_content": false, "is_shared": false, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 14, "expires": true, "default_days_until_expiration": null, "auto_re_enroll": true, "re_enrollment_period": 14 } ] }
200 OK
401 Unauthorized
403 Forbidden
id
Integer
Required
Path parameter. Program id.
{ "meta": {}, "programs": [ { "id": "1", "title": "My Test Program", "description": "My Test Program Description", "course_count": 3, "item_count": 4, "publishable": true, "is_published": true, "has_unpublished_changes": false, "step_notifications": true, "item_count": 3, "unfinished_learners_count": 1, "external_id": null, "has_certificate": false, "enrollment_counts": { "all": 4, "overdue": 0, "not_finished": 2, "finished": 2 }, "sub_account": { "id": 1, "name": "Acme, Co", "sub_accounts_exist": true, "is_root": true, "not_current": false, "tac_type": "domestic", "tac_custom_body_markup": null, "tac_updated_at": "2018-02-28T17:55:41.463Z" }, "items": [ { "id": "4", "item_type": "CourseTemplate", "title": "test program final course", "description": null, "default_days_until_due": 7, "default_due_on_date": null, "editable": true, "estimated_time": 0, "is_published": true, "passing_threshold": 80, "sessions_count": 0, "max_quiz_attempts": null, "continuing_education_credits": null, "default_approver": null, "requires_approval": false, "requires_evidence": false, "blocks_progress": false, "icon": null } ], "course_templates": [ { "id": "4", "estimated_time": 0, "passing_threshold": 80, "max_quiz_attempts": null, "continuing_education_credits": null, "default_days_until_due": 7, "title": "test program final course", "description": null, "is_published": true, "published_at": "2017-12-07T10:29:09.247-07:00", "has_certificate": false, "course_type": "bridge", "external_id": null } ], "graphic": { "gradient": 3, "image": null }, "is_non_linear": false, "estimated_time": 1, "open_enrollment": false, "uuid": "2d3a2312", "enroll_url": "http://acme.bridgeapp.com/learner/programs/2d3a2312/enroll", "has_shared_content": false, "is_shared": false, "due_date_type": "relative", "default_due_on_date": null, "default_days_until_due": 14, "expires": true, "default_days_until_expiration": null, "auto_re_enroll": true, "re_enrollment_period": 14 } ] }
200 OK
401 Unauthorized
403 Forbidden
422 Unprocessable Entity
id
Integer
Required
Path parameter. Program id.
200 OK
On successful un-archive422 Unprocessable Entity
On unsuccessful un-archiveid
Integer
Required
Path parameter. Program id.
Manage user roles by issuing and revoking tokens.
This endpoint returns list of current roles
200 OK
401 Unauthorized
excludes[]
String
[ custom ]
Query parameter. Excludes described roles from results.
include_deprecated
String
Query parameter. Includes deprecated roles in results.
{ "roles": [ { "id": "author", "name": "Author", "permissions": null }, { "id": "manager", "name": "Manager", "permissions": null }, { "id": "support", "name": "Support", "permissions": [ "sub_account_view", "sub_account_create", "sub_account_update", "sub_account_destroy", "account_self_view", "account_self_update", "dashboard_view" ], "is_computed": true } ] }
This endpoint returns about the given roleId
200 OK
401 Unauthorized
{ "roles": [ { "id": "support", "name": "Support", "permissions": [ "sub_account_view", "sub_account_create", "sub_account_update", "sub_account_destroy", "account_self_view", "account_self_update", "dashboard_view" ], "is_computed": true } ] }
This endpoint creates a role
200 OK
401 Unauthorized
name
String
Required
Body parameter. Name of the new role.
basis_role_id
String
Required
Body parameter. ID of the role to base the new role on, copying its assigned permissions.
shared
Boolean
Body parameter. Indicates whether the new role should be available in subaccounts. Defaults to false.
{ "roles": [ { "id": "72c2c9d5-11a4-4093-857f-7c5dc3b0d8cb", "name": "tester", "permissions": [ "role_view", "user_view", "user_create", "user_update", "user_destroy", "user_self_update", "user_uid_update", "group_create", "group_update", "group_view", "group_destroy", "membership_create", "membership_destroy", "group_enrollment_create", "live_course_group_enrollment_create", "program_group_enrollment_create" ], "is_computed": false } ] }
This endpoint deletes a role
204 No Content
401 Unauthorized
This endpoint returns a list of all SCORM dispatches
200 OK
if the request was successfulsort
String
[ name ]
Query parameter. Causes list to be returned in sorted order ascending
order. Prepending values with a -
will return results in descending
order.
search
String
Query parameter. Causes list to be returned filtered by search string.
{ "meta": {}, "dispatches": [ { "id": "1", "course_template_id": 7, "external_id": "ac9f6fc18e2a4d2c57cff4ef89c438ac8b61e5fa", "name": "My Dispatch 1", "user_id": 1, "expiration_date": "2018-09-19", "enabled": false, "registration_count": 100 }, { "id": "10", "course_template_id": 7, "external_id": "vc9f6fc18e2a4d2c57cff4ef89c438ac8b61e5fb", "name": "My Dispatch 2", "user_id": 1, "expiration_date": "2018-09-19", "enabled": false, "registration_count": 100 } ] }
This endpoint returns a SCORM dispatch. This endpoint issues a GET request with
id
as the argument
200 OK
if the request was successful.404 Not Found
if the resource is not found.id
Integer
Required
Path parameter. Course template ID.
{ "meta": {}, "dispatches": [ { "id": "1", "course_template_id": 7, "external_id": "ac9f6fc18e2a4d2c57cff4ef89c438ac8b61e5fa", "name": "My Dispatch ", "user_id": 1, "expiration_date": "2018-09-19", "enabled": false, "registration_count": 100 } ] }
201 Created
400 Bad request
could not create SCORM dispatch.
If a course is not published, or is archived, a 400 will be returned.
Path parameter. Course template ID.
name
String
Required
expiration_date
String
(iso8601 format, or ‘none’ for no expiration)
registration_cap
Integer
enabled
String
(‘true’, ‘false’)
{ "scorm_dispatch": { "name": "My Dispatch", "expiration_date": "2018-12-31", "enabled": false, "registration_count": 100 } }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"scorm_dispatch":{"name":"My Dispatch","expiration_date":"2018-12-31","enabled":false,"registration_count":100}}' \ http://<bridge>/api/author/course_templates/:course_template_id/scorm_dispatches
{ "meta": {}, "dispatches": [ { "id": "1", "course_template_id": 7, "external_id": "ac9f6fc18e2a4d2c57cff4ef89c438ac8b61e5fa", "name": "My Dispatch ", "user_id": 1, "expiration_date": "2018-09-19", "enabled": false, "registration_count": 100 } ] }
This endpoint behaves like a PATCH request whether sent by PATCH or PUT.
200 OK
if SCORM dispatch is updatedname
String
Required
expiration_date
String
(iso8601 format, or ‘none’ for no expiration)
registration_cap
Integer
enabled
String
(‘true’, ‘false’)
{ "scorm_dispatch": { "name": "My Dispatch", "expiration_date": "2018-12-31", "enabled": false, "registration_count": 100 } }
curl \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"scorm_dispatch":{"name":"My Dispatch","expiration_date":"2018-12-31","enabled":false,"registration_count":100}}' \ http://<bridge>/api/author/course_templates/:course_template_id/scorm_dispatches/:id
{ "meta": {}, "dispatches": [ { "id": "1", "course_template_id": 7, "external_id": "ac9f6fc18e2a4d2c57cff4ef89c438ac8b61e5fa", "name": "My Dispatch ", "user_id": 1, "expiration_date": "2018-09-19", "enabled": false, "registration_count": 100 } ] }
204 No Content
On successful deletion404 Not Found
On successful deletionid
Integer
Required
Path parameter. Course template id.
streams download file, returns 404 if not found
200 OK
404 Not Found
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
author
Integer
The author id of the survey
id
Integer
The survey id
title
String
The survey title
anonymous
Boolean
The survey type
publish_results
Boolean
Shows results
distribution_count
Integer
The distribution count of the survey
is_locked
Boolean
If the survey is locked
links
LinkObject
Links to other entities
200 OK
401 Unauthorized
sort
String
[ title, due_date, newest ]
Query parameter.
filter
String
[ unpublished, recently_closed ]
Query parameter.
{ "meta": {}, "surveys": [ "API::SurveyObject" ] }
304 Not Modified
survey_id
Integer
Required
Path parameter. Survey Id
{ "meta": {}, "surveys": [ "API::SurveyObject" ] }
201 Created
Body parameter.
{ "meta": {}, "surveys": [ "API::SurveyObject" ] }
200 OK
400 Bad Request
survey_id
Integer
Required
Path parameter. Survey Id
survey
String
Required
Body parameter.
{ "meta": {}, "surveys": [ "API::SurveyObject" ] }
204 No Content
survey_id
Integer
Required
Path parameter. Survey Id
200 OK
400 Bad Request
survey_id
Integer
Required
Path parameter. Survey Id
{ "meta": {}, "surveys": [ "API::SurveyObject" ] }
Returns objects eligible to have the given tag applied to them and match the given search term.
{ "taggable_items": [ {"id":"231","type":"CourseTemplate","title":"Introduction to Brand Marketing"}, {"id":"14","type":"CourseTemplate","title":"Building a Brand"} ] }
Returns all objects associated with a given tag
{ "taggings": [ {"id":"1","tag_id":"1","taggable_id":"1","taggable_type":"CourseTemplate","data":{"title":"Course 1","tags":["1","one","Course"]}}, {"id":"16","tag_id":"1","taggable_id":"2","taggable_type":"CourseTemplate","data":{"title":"Course 2","tags":["2","two","Course"]}}, {"id":"21","tag_id":"1","taggable_id":"3","taggable_type":"CourseTemplate","data":{"title":"Course 3","tags":["Course","three","3"]}} ] }
Returns the resulting tagging.
{ "tag_id": 1, "context_id": 42, "context_type": "course_template" }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"tag_id":1,"context_id":42,"context_type":"course_template"}' \ http://<bridge>/api/author/tags/:tag_id/taggings
{ "taggings": [ {"id":"1","tag_id":"1","taggable_id":"42","taggable_type":"CourseTemplate","data":{"title":"Course 1","tags":["1","one","Course"]}} ] }
Returns nothing.
{ "tag_id": 1, "context_id": 42, "context_type": "course_template" }
curl \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"tag_id":1,"context_id":42,"context_type":"course_template"}' \ http://<bridge>/api/author/tags/:tag_id/taggings
tags
String[]
Array of possible tag completions.
name
String
Required
The name of a tag.
context_id
Integer
Required
The ID of the object the tag is for.
context_type
String
Required
The type of the object the tag is for. May only be set to ‘course_template’ at this time.
tags
Tagging[]
Array of tag definitions.
No documentation available yet.
Locates possible tag names given a search term and an object that can be tagged. Any tag names that have already been associated with the object are omitted from the results. Returns an Author - Tags::TagCompletions object.
term
String
Required
The term to use to search possible tag names.
context_id
Integer
Required
The ID of the object the tag is for.
context_type
String
[ course_template ]
Required
The type of the object the tag is for.
{ "term": "tec", "context_id": 3, "context_type": "course_template" }
curl \ -X GET \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"term":"tec","context_id":3,"context_type":"course_template"}' \ http://<bridge>/api/author/taggings
{ "tags": [ "technical training", "tectonic measurement", "technical certification" ] }
Your request may be rejected with an HTTP status code and an error message from the following set:
Response Code | Details |
---|---|
400 Bad Request |
"invalid_context_type"
An unsupported context type was passed. |
An object representing a set of tags to add.
Your request may be rejected with an HTTP status code and an error message from the following set:
Response Code | Details |
---|---|
400 Bad Request |
"invalid_context_type"
An unsupported context type was passed. |
This endpoint returns HTTP 204: No Content
on success.
id
Integer
User id
uid
String
Unique login id
first_name
String
First name of user
last_name
String
Last name of user
email
String
Email of user
bio
String
Short bio (biography) of user
locale
String
The user’s language code
roles
String[]
Array of roles
name
string
Full name of user
avatar_url
String
URL to avatar image
deleted_at
DateTime or null
Date and time of deletion
updated_at
DateTime
Date and time of last update
unsubscribed
Boolean
Whether the user has unsubscribed from Bridge emails
hire_date
Date
Date that user was hired
job_title
string
Job title of user
links
Object
Provides links to additional detail in response object
meta
Object
Map of additional values
next_due_date
DateTime or null
Returned only if includes[]=course_summary was set in query string.
completed_courses_count
Integer
Returned only if includes[]=course_summary was set in query string.
manager_name
String
Returned only if includes[]=manager was set in query string.
manager_id
Integer
Returned only if includes[]=manager was set in query string.
current_session
Object
Returned only if includes[]=current_session was set in query string.
id
String
The custom field value to update. An id is required to update a currently existing value. If no id is included, a new custom field value object will be created, if possible.
custom_field_id
String
The custom field to which this value is attached.
value
String
The value to be displayed in the custom field.
This endpoint returns a list of extant (active, not deleted) users
200 OK
304 Not Modified
sort
String
[ name, complete_courses_count, next_due_date ]
Query parameter causes list to be returned in ascending order. Values may be prepended
with -
for descending order.
search
String
Finds users with matching values in first name, last name, uid, or email.
includes[]
String
[ course_summary, custom_fields ]
Indicates additional information to be returned. Course_summary includes the next due date and completed courses count in the response, and custom_fields includes linked custom field values and custom fields in the response.
only_deleted
Boolean
Filters list to only include deleted users.
with_deleted
Boolean
Filters list to also include deleted users.
role
String
[ account_admin, admin, author ]
Filters list to only include users with having role.
updated_after
DateTime
Filters list to only include users updated after the given RFC 3339 compliant timestamp.
created_after
DateTime
Filters list to only include users created after the given RFC 3339 compliant timestamp.
deleted_after
DateTime
Filters list to only include users deleted after the given RFC 3339 compliant timestamp.
updated_before
DateTime
Filters list to only include users updated before the given RFC 3339 compliant timestamp.
created_before
DateTime
Filters list to only include users created before the given RFC 3339 compliant timestamp.
deleted_before
DateTime
Filters list to only include users deleted before the given RFC 3339 compliant timestamp.
only_deleted
Boolean
Filters list to only include deleted users.
with_deleted
Boolean
Filters list to also include deleted users.
only_managers
Boolean
Filters list to only include users who are managers.
{ "meta": { "next": "http://bridge.bridgeapp.com/api/author/users?after=eyJ0eXAiOiJKV1QiLCJhSDiQQ" }, "linked": { "custom_fields": [ { "id": "1", "name": "Title" } ], "custom_field_values": [ { "id": "2", "value": "Senator", "links": { "custom_field": { "id": "1", "type": "custom_fields" } } } ] }, "users": [ "{API::UserResponse}" ] }
This endpoint returns a user listing
200 OK
if the request was successful.id
Integer
Required
The ID of an existing user. Alternatively, a user’s uid, prefixed with “uid:” or a user’s HRIS ID, prefixed with “hris:”.
includes[]
String
[ course_summary, custom_fields ]
Indicates additional information to be returned. Course_summary includes the next due date and completed courses count in the response, and custom_fields includes linked custom field values and custom fields in the response.
{ "meta": {}, "linked": { "custom_fields": [ { "id": "1", "name": "Title" } ], "custom_field_values": [ { "id": "2", "value": "Senator", "links": { "custom_field": { "id": "1", "type": "custom_fields" } } } ] }, "users": [ "{API::UserResponse}" ] }
200 OK
if user was updated404 Not Found
if user no longer existsid
Integer
Required
The unique Bridge id of the user to update. Alternatively, a user’s uid, prefixed with “uid:”.
includes[]
String
[ course_summary, custom_fields ]
Indicates additional information to be returned. Course_summary includes the next due date and completed courses count in the response, and custom_fields includes linked custom field values and custom fields in the response.
user[uid]
String
The ID/login for the user
user[first_name]
String
The user’s first name
user[last_name]
String
The user’s last name
user[bio]
String
The user’s bio
user[manager_id]
String
The user ID of the user’s manager. Alternatively, the manager’s uid, prefixed with “uid:”.
user[hire_date]
String
The user’s hire date, formatted YYYY-MM-DD
user[job_title]
String
The user’s job title
user[custom_field_values]
CustomFieldValueRequest[]
Values for custom fields.
{ "user": { "email": "hrh.leia.organa@alderaan-gov.com", "uid": "lorgana", "first_name": "Leia", "last_name": "Organa", "bio": "Loves pepperoni pizza with jalapeños and long walks on the beach.", "locale": "en", "manager_id": "uid:mmothma", "hire_date": "2015-01-31", "job_title": "Software Engineer", "custom_field_values": [ "{API::CustomFieldValueRequest}" ] } }
curl \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"user":{"email":"hrh.leia.organa@alderaan-gov.com","uid":"lorgana","first_name":"Leia","last_name":"Organa","bio":"Loves pepperoni pizza with jalapeños and long walks on the beach.","locale":"en","manager_id":"uid:mmothma","hire_date":"2015-01-31","job_title":"Software Engineer","custom_field_values":["{API::CustomFieldValueRequest}"]}}' \ http://<bridge>/api/author/users/:id
{ "meta": {}, "users": [ "{API::UserResponse}" ] }
200 OK
if user was restored404 Not Found
if user is not deleted422 Unprocessable Entity
if user could not be restoredid
Integer
Required
The unique Bridge id of the user to restore. Alternatively, a user’s uid, prefixed with “uid:”.
includes[]
String
[ course_summary, custom_fields ]
Indicates additional information to be returned. Course_summary includes the next due date and completed courses count in the response, and custom_fields includes linked custom field values and custom fields in the response.
{ "meta": {}, "linked": { "custom_fields": [ { "id": "1", "name": "Title" } ], "custom_field_values": [ { "id": "2", "value": "Princess", "links": { "custom_field": { "id": "1", "type": "custom_fields" } } } ] }, "users": [ "{API::UserResponse}" ] }
Controls the creation, polling, and retrieval of user-requested downloads.
download_type
String
Required. The type of download
info
Object
Optional. Parameters for the download. Currently unused.
id
String
Unique identifier of the download
download_type
String
The type of download
user_id
String
The unique identifier of the originating user
state
String
The state of the download
url
String
The relative URL for the download’s file. Will be null if the fils is in any state but “done”
200 OK
if resource is found403 Forbidden
if the user isn’t the user who created the download or
doesn’t have permissions to view the type of the download404 Not Found
if the download doesn’t exist{ "download": "{API::DownloadResponse}" }
201 Created
if resource is created403 Forbidden
if the user doesn’t have permissions to create the
requested download type422 Unprocessable Entity
if resource is not createdBody parameter. A hash of download parameters.
{ "download": "{API::DownloadResponse}" }
302 Found
if resource exists403 Forbidden
if the user isn’t the user who created the download or
doesn’t have permissions to view the type of the download404 Not Found
if the download doesn’t exist or it hasn’t finished
processingThis endpoint lists the current feature flags and their states on this account.
200 OK
304 Not Modified
/api/feature_flags
{ "feature_flags": { "my_great_flag":true } }
id
Integer
The approval id
enrollable_id
Integer
The enrollable id
enrollable_type
String
Enrollment type of learner in this approval.
state
String
state of approval
200 OK
403 Forbidden
404 Not Found
id
Integer
Required
Id of the approval
{ "approvals": [ "{API::LearnerApprovalController}" ] }
200 OK
400 Bad Request
403 Forbidden
404 Not Found
id
Integer
Required
Id of the approval
comment
String
Required
Comment to be added to the approval
{ "approvals": [ "{API::LearnerApprovalController}" ] }
Handle enrollments for a user and an activity (learnable) identified by the activity’s type and the enrollment’s id.
Ordered to return newest events first
200 OK
403 Forbidden
404 Not Found
approval_id
Integer
Required
Id of the approval to get events for
{ "approval_events": [ { "event_type": "comment_added", "data": { "comment": "Please Approve" } } ] }
No documentation available yet.
id
Integer
Category id
name
String
The name of the category
relevance
String
Relevance level for category
200 OK
304 Not Modified
{ "meta": {}, "categories": [ { "id": "1", "name": "Category Name", "relevance": "recommended" } ] }
204 No Content
404 Not Found
422 Unprocessable Entity
task_id
Integer
Required
Id of the task to request the approval for
comment
String
Comment to add to the approval
No documentation available yet.
Redirect to the signed S3 url based on the file location
WARNING: The index API has been deprecated in favor of the Learner - Learning Items controller.
This API controls learner interaction with courses and live courses.
id
Integer
The course id
is_enrolled
Boolean
Enrollment status of learner in this course.
progress
Integer
Current slide number.
slide_total
Integer
Total number of slides.
time_remaining
Integer
Estimated time to finish course in minutes.
location
String
Location of live training. Null for all other types of courses.
sessions_count
Integer
Number of future sessions offered for live training course. Null for other types of courses
next_session_start_at
DateTime
Date and time of next scheduled live training session. Null for other course types.
deleted_at
DateTime
Date and time at which course was deleted. Null if not deleted.
program_title
String
Program through which learner is enrolled in course. Null if learner is not enrolled through a program.
index_of_program
Integer
Position of this course within the program. Null if not enrolled though a program.
program_course_count
Integer
Total number of courses in program. Null if not enrolled through a program.
open_book
Boolean
Indicates if learners can navigate the course during quizzes.
completed_at
DateTime
Date and time when course was completed. Null if not completed.
end_at
DateTime
Date and time by which this course is due. Null if no due date was assigned.
estimated_time
Integer
Estimated length of course in minutes.
passing_threshold
Integer
Required score (out of 100) to pass.
required
Boolean
Indicates if course is required or optional.
score
Integer
Learners score (out of 100) in this course. Null for live trainings.
state
String
State of enrollment in course.
title
String
Course title.
has_certificate
Boolean
Indicates if course issues certificate when successfully completed.
course_type
String
Indicates course type. May be native bridge, SCORM, or live training.
attachments_count
Integer
Indicates the number of attachments the course has.
Lists all courses in which the current learner is enrolled.
200 OK
{ "courses": [ "{API::LearnerCourseResponse}" ], "meta": {} }
Returns course information for previewing
200 OK
id
Integer
Required
Path parameter. Course id.
{ "courses": [ "{API::LearnerCourseResponse}" ], "meta": {} }
200 OK
id
Integer
Required
Path parameter. A course id.
{ "courses": [ "{API::LearnerCourseResponse}" ], "meta": {} }
A POST action for completing current_enrollment’s current attempt.
200 OK
401 Unauthorized
id
Integer
Required
Path parameter. Enrollment id.
{ "linked": {}, "courses": [ "{API::LearnerCourseResponse}" ], "meta": {} }
Learner may only leave optional courses.
204 No Content
id
Integer
Required
Path parameter. Enrollment id.
Used to get the url to launch an external course.
200 OK
id
Integer
Required
Path parameter. Enrollment id.
{ "url": "http://rebellion.bridgeapp.com/api/learner/courses/83/slides/current" }
Used to redirect mobile app directly to scorm course
302 Found
400 Bad Request
id
Integer
Required
Path parameter. Enrollment id.
Returns with all the external information for the course.
400 Bad Request
404 Not Found
id
Integer
Required
Path parameter. Enrollment id.
200 OK
304 Not Modified
search
String
Search credits based on passed search term
scope
String
Accepted values: library. Filters the returned list of credits by a given scope
{ "meta": {}, "credits": [ { "id": "2", "name": "Space" } ] }
Enroll user for the course.
Enroll user for an open enrollment enabled course
This endpoint enrolls the user to a given course
201 Created
400 Bad Request
This endpoint lists enrollments for a given course
200 OK
404 Not Found
This endpoint enrolls the user to a given course with open enrollment or manual re-enroll enabled.
201 Created
400 Bad Request
This endpoint returns the enrollments for the user for the given course UUID.
No documentation available yet.
No documentation available yet.
This API handles group requests for a learner.
200 OK
{ "meta": {}, "groups": [ { "id": "1" } ] }
Deprecated: Use Bridge Analytics (or the Learner transcript) instead.
Deprecated: Use Bridge Analytics (or the Learner transcript) instead.
Deprecated: Use Bridge Analytics (or the Learner transcript) instead.
Learner may only leave optional courses.
204 No Content
id
Integer
Required
Path parameter. A learning item id.
id
Integer
User id
item_type
String
The type of object in the library
item_id
Integer
The id of the object in the library
title
String
The title of the item
description
String
The description of the item
data
Object
Misc, schemaless data associated with the item
estimated_time
Integer
The time estimated to complete the item
features
Array
A list of features that the item has
tags
Array
A list of tags for the library item
matching_tags
Array
Tags matching the search query for the item
cover_slide_data
CoverSlideData
Cover slide information for the item
created_at
DateTime or null
Date and time created
updated_at
DateTime or null
Date and time updated
is_enrolled
Boolean
Whether the user is enrolled in the item
progress
Integer
The percentage of progress completed the item
completed_at
DateTime or null
The date the item was completed
state
String or null
The state that the item is in
backgroundImageUrl
String
URL link to the image used for the cover slide
backgroundImageOpacity
Float
The opacity level of the image against the background
backgroundColor
String
The color to display behind the image
primaryColor
String
The primary color for buttons and UI
dark
Boolean
Show the cover slide image against a dark background
heading
String
The header statement for the cover slide
intro
String
The intro statement for the cover slide
200 OK
304 Not Modified
sort
String
[ added, duration, title ]
Query parameter. Applies a sort to the result list.
filters[]
String
[ content_type, duration, other ]
Query parameter. This argument may occur multiple times.
search
String
Query parameter. Search item titles for a match with the given string.
ids
Array
Query parameter. Filter items by a list of IDs
tags
String
Query parameter. Filter items by a comma-separated list of tag IDs.
{ "meta": {}, "library_items": [ { "id": "1", "item_type": "CourseTemplate", "item_id": "1", "title": "Sales Training Course", "estimated_time": 20, "features": ["has_video", "has_images", "scorm"], "tags": ["sales", "training"], "matching_tags": ["sales"], "cover_slide_data": { "backgroundImageUrl": "http://example.com/the-image.jpeg", "backgroundImageOpacity": 0.7, "backgroundColor": "#071931", "dark": true, "heading": "Learn All About Midmarket Sales", "intro": "One of our most important segments", "primaryColor": "#3A9CFE" }, "created_at": "2015-05-04T12:35:00.000-06:00", "updated_at": "2015-05-04T12:35:00.000-06:00", "is_enrolled": true, "progress": 20, "completed_at": "2015-05-04T12:35:00.000-06:00", "state": "completed" } ] }
200 OK
304 Not Modified
404 Not Found
id
Integer
Required
The database id of the library item.
{ "library_item": { "id": 1, "API Change: id": "id will be changing to a string after July 31, 2019", "item_type": "CourseTemplate", "item_id": "1", "title": "Sales Training Course", "description": "This is a sales training course", "data": { "has_certificate": null, "passing_threshold": 80, "uuid": "3ea2058f" }, "estimated_time": 20, "features": ["has_images"], "cover_slide_data": { "backgroundImageUrl": "http://example.com/the-image.jpeg", "backgroundImageOpacity": 0.7, "backgroundColor": "#071931", "dark": true, "heading": "Learn All About Midmarket Sales", "intro": "One of our most important segments", "primaryColor": "#3A9CFE" }, "created_at": "2015-05-04T12:35:00.000-06:00", "updated_at": "2015-05-04T12:35:00.000-06:00", "is_enrolled": true, "progress": 0.2, "completed_at": "2015-05-04T12:35:00.000-06:00", "state": "completed" } }
This endpoint returns all library sections (all categories plus uncategorized section) along with the library items that they contain.
200 OK
304 Not Modified
404 Not Found
search
String
Query parameter. Search item titles and descriptions for a match with the given string.
sort
String
[ added, duration, title ]
Query parameter. Applies a sort to the result list.
filters[]
String
[ content_type, duration, other ]
Query parameter. This argument may occur multiple times.
limit
Integer
Query parameter. Limits the number of returned elements for every section. If not specified, the limit is 10
{ "result": [ { "items_in_category": 1, "category": { "id": 21, "name": "Example category", "taggings_count": 0, "domain_id": 1, "sub_account_id": 1, "created_at": "2019-09-29T11:28:29.393-06:00", "updated_at": "2020-01-31T09:53:33.004-07:00", "deleted_at": null, "tag_type": "category", "image_url": null, "external_id": null, "content_provider_id": null, "locale": null, "_user_relevance": [ 0 ] }, "library_items": [ { "id": "1", "item_type": "CourseTemplate", "item_id": "1", "title": "Sales Training Course", "estimated_time": 20, "features": ["has_video", "has_images", "scorm"], "tags": ["sales", "training"], "matching_tags": ["sales"], "cover_slide_data": { "backgroundImageUrl": "http://example.com/the-image.jpeg", "backgroundImageOpacity": 0.7, "backgroundColor": "#071931", "dark": true, "heading": "Learn All About Midmarket Sales", "intro": "One of our most important segments", "primaryColor": "#3A9CFE" }, "created_at": "2015-05-04T12:35:00.000-06:00", "updated_at": "2015-05-04T12:35:00.000-06:00", "is_enrolled": true, "progress": 20, "completed_at": "2015-05-04T12:35:00.000-06:00", "state": "completed" } ] }, { "items_in_category": 1, "category": null, "library_items": [ { "id": "2", "item_type": "CourseTemplate", "item_id": "2", "title": "Uncategorized Sales Training Course", "estimated_time": 20, "features": ["has_video", "has_images", "scorm"], "tags": ["sales", "training"], "matching_tags": ["sales"], "cover_slide_data": { "backgroundImageUrl": "http://example.com/the-image.jpeg", "backgroundImageOpacity": 0.7, "backgroundColor": "#071931", "dark": true, "heading": "Learn All About Midmarket Sales", "intro": "One of our most important segments", "primaryColor": "#3A9CFE" }, "created_at": "2015-05-04T12:35:00.000-06:00", "updated_at": "2015-05-04T12:35:00.000-06:00", "is_enrolled": true, "progress": 20, "completed_at": "2015-05-04T12:35:00.000-06:00", "state": "completed" } ] } ] }
200 OK
404 Not Found
lti_content_item_id
String
Required
The id of the LTI Content Item to supply the config info
program_id
String
The id of the Program that contains the LTI Content Item
{ "lti_content_item_id": "1", "program_id": "2", "launch_url": "http://example.com/launch", "launch_data": { "context_id": "1673cd0f-f043-4d34-bfbc-c13fd5cce99a", "context_label": "bridge", "custom_field": "value", "launch_presentation_document_target": "iframe", "launch_presentation_return_url": "https://bridge.local.bridgeops.sh:3000/lti/content_item/1", "lis_person_contact_email_primary": "user@example.com", "lis_person_name_family": "Last", "lis_person_name_full": "First Last", "lis_person_name_given": "First", "lti_message_type": "basic-lti-launch-request", "lti_version": "LTI-1p2", "oauth_callback": "about:blank", "oauth_consumer_key": "key", "oauth_nonce": "534b94655fc5f8ebaa9c97344ea7b953", "oauth_signature": "7CgFfsQ14XFAJSM2o8GT6pg8C7w=", "oauth_signature_method": "HMAC-SHA1", "oauth_timestamp": "1490312905", "oauth_version": "1.0", "resource_link_description": "This is a Sample Tool Provider.", "resource_link_id": "8169f5e122e9dafafd1f02c9e15eb4ab", "roles": "learner", "tool_consumer_info_product_family_code": "Bridge", "tool_consumer_instance_guid": "bridge.local.bridgeops.sh:3000", "tool_consumer_instance_name": "Bridge", "tool_consumer_instance_url": "http://bridge.local.bridgeops.sh:3000", "user_id": "c74cff31-603b-4c01-832e-1810ee54bf91" } }
Enroll learner in a live course with open enrollment enabled
This endpoint enrolls the current user in a live course specified by UUID (as opposed to standard ids). We use UUIDs here to prevent learners from guessing the enrollment URLs of other open live courses.
201 Created
404 Not Found
This endpoint allows learners to register and unregister for live course sessions in live courses in which they are enrolled.
If the user is already registered for a session, this will unregister them from it.
201 Created
id
Integer
Required
Path parameter. Live course session id.
Allows a user to modify certain aspects of their registration, such as marking attendance if self-attendance is allowed.
204 No Content
400 Bad Request
404 Not Found
id
Integer
Required
Path parameter. Live course session id.
attended
Boolean
May only be set to true to mark a user attended if the session allows self-attendance. A user may not mark themselves unattended. If the user is already marked attended, this will not update their existing attendance timestamp.
200 OK
id
Integer
Required
Path parameter. Live course session id.
This API allows the learner to create and destroy their own waitlist enrollment.
201 No Content
400 Bad Request
live_course_session_id
Integer
Required
Path parameter. Live course session id.
204 No Content
on successful deletion404 Not Found
if live_course_session_id is invalidlive_course_session_id
Integer
Required
Path parameter. Live course id.
id
Integer
Live course session id
start_at
DateTime or null
Scheduled starting date and time
end_at
DateTime or null
Scheduled ending date and time
location
String
The physical location of the live course session
seats
Integer
Enrollment cap
seats_remaining
Integer
Number of available seats
is_open
Boolean
Whether the session is open for registration
is_registered
Boolean
Whether the user is registered for the session
parts_count
Integer
Number of parts in a multi-part session
parent_id
Integer
The id of the live course session part’s parent
concluded_at
DateTime or null
Date and time at which the live course session concluded
instuctors
Array
Objects representing the instuctors for this session.
200 OK
404 Not Found
{ "sessions": [ "{API::SessionResponse}" ] }
200 OK
404 Not Found
{ "sessions": [ "{API::SessionResponse}" ] }
This API controls learner interaction with lti content items
id
Integer
The lti content item id
title
String
The lti content item title
description
String
The lti content item description
200 OK
Path parameter. An Lti Content Item id.
{ "lti_content_items": [ "{API::LearnerLtiContentItemResponse}" ] }
A POST action for completing the user’s enrollment in the Lti Content Item.
204 No Content
401 Unauthorized
404 Not Found
id
Integer
Required
Path parameter. Lti Content Item Id.
This endpoint enables getting, changing and deleting learner notifications
200 OK
{ "notifications": [ { "id": 254, "user_id": 6094, "subject": "You have a goal that was overdue on Friday August 4.", "body": ["span"], "sent_at": "2017-08-05T00:25:00.314Z", "read": false } ] }
200 OK
id
Integer
The course id
is_enrolled
Boolean
Enrollment status of learner in this course.
progress
Integer
Current slide number.
slide_total
Integer
Total number of slides.
time_remaining
Integer
Estimated time to finish course in minutes.
location
String
Location of live training. Null for all other types of courses.
sessions_count
Integer
Number of future sessions offered for live training course. Null for other types of courses
next_session_start_at
DateTime
Date and time of next scheduled live training session. Null for other course types.
deleted_at
DateTime
Date and time at which course was deleted. Null if not deleted.
program_title
String
Program through which learner is enrolled in course. Null if learner is not enrolled through a program.
index_of_program
Integer
Position of this course within the program. Null if not enrolled though a program.
program_course_count
Integer
Total number of courses in program. Null if not enrolled through a program.
open_book
Boolean
Indicates if learners can navigate the course during quizzes.
completed_at
DateTime
Date and time when course was completed. Null if not completed.
end_at
DateTime
Date and time by which this course is due. Null if no due date was assigned.
estimated_time
Integer
Estimated length of course in minutes.
passing_threshold
Integer
Required score (out of 100) to pass.
required
Boolean
Indicates if course is required or optional.
score
Integer
Learners score (out of 100) in this course. Null for live trainings.
state
String
State of enrollment in course.
title
String
Course title.
has_certificate
Boolean
Indicates if course issues certificate when successfully completed.
course_type
String
Indicates course type. May be native bridge, SCORM, or live training.
attachments_count
Integer
Indicates the number of attachments the course has.
200 OK
404 Not Found
id
String
Required
Path parameter. An open course uuid.
{ "courses": [ "{API::LearnerCourseResponse}" ], "meta": {} }
Enroll user for an open enrollment enabled course
Enroll user for an open enrollment enabled course
This endpoint enrolls the user into a given program with open enrollment enabled.
201 Created
400 Bad Request
This endpoint fetches any enrollments the user has on the given open-enrollment-enabled program.
200 OK
This endpoint enrolls the user into a given program with open enrollment enabled.
201 Created
400 Bad Request
This endpoint fetches any enrollments the user has on the given open-enrollment-enabled program.
200 OK
200 OK
404 Not Found
{ "sessions": [ { "id": "3", "start_at": "2016-04-29T00:00:00.000-06:00", "end_at": "2016-04-29T01:00:00.000-06:00", "concluded_at": null, "location": "Tatooine", "seats_remaining": 2, "is_open": true, "is_registered": false }, { "id": "4", "start_at": "2016-05-28T00:00:00.000-06:00", "end_at": "2016-05-28T01:00:00.000-06:00", "concluded_at": null, "location": "Coruscant", "seats_remaining": 10, "is_open": true, "is_registered": false } ] }
200 OK
404 Not Found
{ "sessions": [ { "id": "3", "start_at": "2016-04-29T00:00:00.000-06:00", "end_at": "2016-04-29T01:00:00.000-06:00", "concluded_at": null, "location": "Tatooine", "seats_remaining": 2, "is_open": true, "is_registered": false } ] }
200 OK
404 Not Found
id
String
Required
Path parameter. An open live course uuid.
{ "live_courses": [ { "id": "1", "title": "Course Number One", "description": "An open live course" } ], "meta": {} }
id
String
The program id
title
String
The title of the program.
description
String
The description of the program.
program_items_count
Integer
Total number of program items.
completed_program_items_count
Integer
Total number of completed program items.
time_remaining
Integer
Estimated time to finish the program in minutes.
200 OK
404 Not Found
id
String
Required
Path parameter. An open program uuid.
{ "programs": [ "{API::LearnerProgramResponse}" ], "meta": {} }
200 OK
404 Not Found
placement_id
String
Required
The id of the LTI placement to launch
{ "placement_id": "1", "tool_id": "2", "launch_url": "http://example.com/launch", "params": {}, "launch_data": { "context_id": "1673cd0f-f043-4d34-bfbc-c13fd5cce99a", "context_label": "bridge", "custom_field": "value", "launch_presentation_document_target": "iframe", "launch_presentation_return_url": "http://bridge.local.bridgeops.sh:3000/learner/courses", "lis_person_contact_email_primary": "user@example.com", "lis_person_name_family": "Last", "lis_person_name_full": "First Last", "lis_person_name_given": "First", "lti_message_type": "basic-lti-launch-request", "lti_version": "LTI-1p2", "oauth_callback": "about:blank", "oauth_consumer_key": "key", "oauth_nonce": "534b94655fc5f8ebaa9c97344ea7b953", "oauth_signature": "7CgFfsQ14XFAJSM2o8GT6pg8C7w=", "oauth_signature_method": "HMAC-SHA1", "oauth_timestamp": "1490312905", "oauth_version": "1.0", "resource_link_description": "This is a Sample Tool Provider.", "resource_link_id": "8169f5e122e9dafafd1f02c9e15eb4ab", "roles": "learner", "tool_consumer_info_product_family_code": "Bridge", "tool_consumer_instance_guid": "bridge.local.bridgeops.sh:3000", "tool_consumer_instance_name": "Bridge", "tool_consumer_instance_url": "http://bridge.local.bridgeops.sh:3000", "user_id": "c74cff31-603b-4c01-832e-1810ee54bf91" } }
Gets and updates info about an account’s Acceptable Use Policy and Privacy Policy
This endpoint is public, and intentionally NOT authenticated. The reason for this is that Privacy Policy and Acceptable Use Policy info need to be accessible even for non-logged-in users. We have links to these pages on the login screen, so we cannot enforce any authorization on this endpoint. Same goes for #show.
200 OK
{ "policies": [ { "custom_body": null, "custom_body_markup": null, "display_on_login": true, "domain_id": "75", "id": "42", "policy_type": "acceptable_use", "region_type": "domestic", "updated_at": "2017-08-04T23:33:38.847931Z" }, { "custom_body": "<div>custom stuff</div>", "custom_body_markup": "<div>custom stuff</div>", "display_on_login": false, "domain_id": "75", "id": "43", "policy_type": "privacy", "region_type": "custom", "updated_at": "2017-08-05T23:33:38.847931Z" } ] }
200 OK
{ "policy": { "custom_body": null, "custom_body_markup": null, "display_on_login": true, "domain_id": "75", "id": "42", "policy_type": "acceptable_use", "region_type": "domestic", "updated_at": "2017-08-04T23:33:38.847931Z" } }
Request payload is a json object of a Policy. It must contain the id of the Policy, and it must fit the schema of a Policy (lest you get a 400 Bad Request), but otherwise you can provide as many or as little fields as you want to update.
It will only allow you to update these fields: custom_body display_on_login region_type
Only support users are authorized to hit this endpoint and update Policies. If you are a non-support user you will get a 401.
Responds with the updated Policy object.
200 OK
400 Bad Request
401 Unauthorized
{ "id": "42", "region_type": "international" }
curl \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"id":"42","region_type":"international"}' \ http://<bridge>/api/learner/policies
{ "customBody": "sand", "customBodyMarkup": "<p>sand</p>", "displayOnLogin": false, "domainId": "24", "id": "42", "policyType": "privacy", "regionType": "domestic", "updatedAt": "2017-08-04T23:33:38.847931Z" }
Manage profile information for learner.
A PUT action with json payload to reset password. All sessions tied to the user (except any with the specified refresh_token) will be deleted.
200 OK
401 Unauthorized
current_password
String
Required
Body parameter
new_password
String
Required
Body parameter
refresh_token
String
Body parameter. If specified, any sessions with this refresh_token won’t be deleted after the reset.
{ "current_password" : "blahblah", "new_password": "hahahaha", "refresh_token": "85a1efb4cf2a1bcd101a65a96f97c4fdf39" }
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"current_password":"blahblah","new_password":"hahahaha","refresh_token":"85a1efb4cf2a1bcd101a65a96f97c4fdf39"}' \ http://<bridge>/api/learner/profile/password
{ "meta": {"success": false}, "errors":["invalid_password"] }
{ "meta": {"success": true}, "errors":[] }
A PUT action with json payload to update profile information
200 OK
tagline
String
Body parameter
avatar_url
String
Body parameter
locale
String
Body parameter. Changes datetime and language preference.
{ "tagline": "ad mogul"}
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"tagline":"ad mogul"}' \ http://<bridge>/api/learner/profile
{ "avatar_url": "https://subaccount.s3.amazonaws.com/uploads%2F1%2F8d3f6c88-41ef-47bf-8fef-a6f708a5540c.png"}
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"avatar_url":"https://subaccount.s3.amazonaws.com/uploads%2F1%2F8d3f6c88-41ef-47bf-8fef-a6f708a5540c.png"}' \ http://<bridge>/api/learner/profile
{ "locale": "en"}
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"locale":"en"}' \ http://<bridge>/api/learner/profile
{ "avatar_url": ""}
curl \ -X PUT \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"avatar_url":""}' \ http://<bridge>/api/learner/profile
{ "id": 1, "avatar_url": "https://subaccount.s3.amazonaws.com/uploads%2F1%2F8d3f6c88-41ef-47bf-8fef-a6f708a5540c.png", "tagline": "ad mogul", "locale": "en", "a11y": true }
No documentation available yet.
This API controls learner interactions with program items.
id
String
The unique ID of the program item.
index
String
The index of the program item.
learnable_id
String
The ID of the course template associated with the program item.
course_type
String
The type of Bridge course.
description
String
The description of the program item.
estimated_time
Integer
Estimated time to finish the program item.
has_certificate
Boolean
Does this program item have a certificate?
passing_threshold
Integer
The passing score for the program item
slide_total
Integer
The number of published slides for the program item
third_party_course_id
String
The external ID of a course.
title
String
The title of the program item.
completed_at
DateTime or null
DateTime that the item was completed.
deleted_at
DateTime or null
DateTime that the item was deleted.
end_at
DateTime or null
DateTime that the item was due.
expires_at
DateTime or null
DateTime that the item completion expires.
is_enrolled
Boolean
Is the learner enrolled in this item?
progress
Float
Progress of item finished.
renew_by
DateTime or null
DateTime by which the item must be re-enrolled.
score
Integer or null
Learners score (out of 100) in this item. Null for live trainings.
state
String or null
The state of the learner’s enrollment in the program item.
time_remaining
Integer
Estimated time to finish the item in minutes.
200 OK
program_id
Integer
Required
Path parameter. A program id.
{ "program_items": [ "{API::LearnerProgramItemResponse}" ] }
This API controls learner interaction with programs.
id
String
The program id
title
String
The title of the program.
description
String
The description of the program.
program_items_count
Integer
Total number of program items.
completed_program_items_count
Integer
Total number of completed program items.
time_remaining
Integer
Estimated time to finish the program in minutes.
200 OK
id
Integer
Required
Path parameter. A program id.
{ "programs": [ "{API::LearnerProgramResponse}" ], "meta": {} }
No documentation available yet.
No documentation available yet.
id
Integer
The retain quiz ID.
course_id
Integer
The ID of the course the retain quiz was generated from.
enrollment_id
Integer
The ID of the enrollment for the learner in the course.
state
String
The state of the retain quiz. Possible states are ‘scheduled’, ‘current’, and ‘complete’.
progress
Float
A number between 0 and 1 indicating how far though the retain quiz the learner has progressed.
score
Integer
An integer between 0 and 100 indicating the user’s score based on the number of retain questions answered correctly.
current_question_id
String
The ID of current retain question that the user has progressed to in the retain quiz.
started_at
DateTime
The time at which the learner started the retain quiz.
ended_at
DateTime
The time at which the learner finished the retain quiz.
200 OK
id
Integer
Required
Path parameter. A retain quiz id.
{ "quizzes": [ "{API::RetainQuiz}" ] }
A POST action for updating a given retain quiz. Currently only updating the started_at attribute is supported
200 OK
401 Unauthorized
id
Integer
Required
Path parameter. A retain quiz id.
{ "quizzes": [ "{API::RetainQuiz}" ] }
A POST action for completing the given retain quiz
200 OK
401 Unauthorized
id
Integer
Required
Path parameter. A retain quiz id.
{ "quizzes": [ "{API::RetainQuiz}" ] }
No documentation available yet.
200 OK
304 Not Modified
{ “skills”: [ { “id”: 7850, “title”: “Data Abstraction” }, { “id”: 7851, “title”: “Data Access” } ] }
search
String
Search SKILLS based on passed search term
scope
String
Accepted values: library. Filters the returned list of skills by a given scope
Enables fetching, creating, updating, deleting, and upvoting slide comments
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
No documentation available yet.
Completion of a survey for a user
This endpoint completes the survey for the user.
200 OK
400 Bad Request
{ "meta":{}, "submissions":[ { "id":"1", "distribution_id":"1", "recipient_id":"4", "created_at":"2015-10-21T12:06:42.331-06:00", "submitted_at":"2015-10-21T12:07:21.514-06:00" } ] }
200 OK
304 Not Modified
search
String
Search tags based on passed search term
scope
String
Accepted values: library. Filters the returned list of tags by a given scope
{ "meta": {}, "tags": [ { "id": "2", "name": "Space" } ] }
List the certifications of the user for a given course id.
This endpoint lists the certifications of the user for a given course id.
200 OK
401 Unauthorized
{ "certificates": [ { "issuer": "Bridge", "learnable_title": "Crs_02", "earned_at": "2015-08-25T10:21:39.041-06:00", "recipient": "Bruce Lee", "score": 100, "course": "Crs_02" } ] }
List the certificates of the user for a given live course id.
This endpoint lists the certificates of the user for a given live course id.
200 OK
401 Unauthorized
{ "certificates": [ { "issuer": "Bridge", "learnable_title": "Live Course 1", "earned_at": "2015-08-25T10:21:39.041-06:00", "recipient": "Bruce Lee", "instructor": "Ip Man", "expires_at": 10 } ] }
List the certifications of the user for a given program id.
This endpoint lists the certifications of the user for a given program id.
200 OK
401 Unauthorized
{ "certificates": [ { "issuer": "Bridge", "learnable_title": "Program 1", "earned_at": "2015-08-25T10:21:39.041-06:00", "recipient": "Bruce Lee", "course": "Program 1" } ] }
List the certificates of the user for a given task id.
This endpoint lists the certificates of the user for a given task id.
200 OK
401 Unauthorized
{ "certificates": [ { "issuer": "Bridge", "learnable_title": "Task 1", "earned_at": "2015-08-25T10:21:39.041-06:00", "recipient": "Bruce Lee" } ] }
This endpoint allows for manipulation of mutex locks on resources that should be modified by only one Bridge user at a time (currently only implemented for CourseTemplate objects).
id
String
A UUID to uniquely identify this exact lock object
lockable_type
String
Entity type of the object being locked (currently only CourseTemplate)
lockable_id
String
Database ID of the resource referred to by this lock
holder_id
String
Reference to Bridge user_id who created/holds this lock
expires_in
Integer
Time (in seconds) until this lock will automatically expire
updated_at
DateTime
DateTime at which the object being locked was last updated on the server
200 OK
403 Forbidden
404 Not Found
id
Integer
Required
Query parameter. This is the id of the course template resource you are trying to view the lock status of.
{ "lock": { "lockable_id": 10, "lockable_type": "CourseTemplate", "holder_id": "1", "expires_in": 900 } }
200 OK
403 Forbidden
409 Conflict
422 Unprocessable Entity
id
Integer
Required
Query parameter. This is the id of the course template resource you are creating a lock for.
{ "lock": { "id": "bf45ef52-b1a7-46a1-b96d-27a9c8dd43ef", "lockable_id": 10, "lockable_type": "CourseTemplate", "holder_id": "1", "updated_at": "2016-06-17T12:41:82.000-06:00" } }
Note: The UUID (unique ID of the existing lock) must be provided as an HTTP header
X-Lock-Id:
204 No Content
403 Forbidden
409 Conflict
422 Unprocessable Entity
id
Integer
Required
Query parameter. This is the id of the course template resource you are renewing the lock for.
Note: The UUID (unique ID of the existing lock) must be provided as an HTTP header
X-Lock-Id:
204 No Content
403 Forbidden
409 Conflict
422 Unprocessable Entity
id
Integer
Required
Query parameter. This is the id of the course template resource you are releasing the lock for.
This endpoint controls the mobile course endpoints
200 OK
400 Bad Request
course_template_ids
Array
Required
An array of Integer course_template_ids to be fetched by this request.
/api/mobile/learner/courses?course_template_ids=1,2,3
/api/mobile/learner/courses?course_template_ids[]=1&course_template_ids[]=2&course_template_ids[]=3
{ "items": [ { "enrollment": null, "enrollment_profile": { "enroll_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/1afa4c6c/enroll", "has_certificate": false, "open_enrollment": true, "uuid": "1afa4c6c" }, "template": { "id": 1, "course_type": "bridge", "description": null, "estimated_time": 1, "has_quizzes": false, "external_info": null, "title": "Course1", "cover_slide_data": { "background_image_url": "https://s3-us-east-2.amazonaws.com/bridge-learn-file-store-edge-cmh/1/1/uploads/ab6ea96d-05d5-46ac-b863-043d6acf990a.png" }, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/1/launch" } }, { "enrollment": { "id": 1, "completed_at": null, "end_at": "2023-07-25T05:59:59.999Z", "learning_item_id": 1, "required": true, "score": 0, "state": "active", "time_remaining": 1 }, "enrollment_profile": { "enroll_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/6f925e23/enroll", "has_certificate": false, "open_enrollment": false, "uuid": "6f925e23" }, "template": { "id": 2, "course_type": "bridge", "description": null, "estimated_time": 1, "has_quizzes": false, "external_info": null, "title": "Course2", "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/2/launch" } }, { "enrollment": null, "enrollment_profile": { "enroll_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/68685524/enroll", "has_certificate": false, "open_enrollment": false, "uuid": "68685524" }, "template": { "id": 3, "course_type": "scorm", "description": "", "estimated_time": null, "has_quizzes": false, "external_info": { "available_offline": false, "external_learning_standard": "SCORM_2004_3RD_EDITION", "external_version": 0 }, "title": "SCORM1 - RunTimeAdvancedCalls_SCORM20043rdEdition", "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/3/mobile_scorm_launch" } } ] }
200 OK
400 Bad Request
/api/mobile/learner/courses/1
{ "enrollment": null, "enrollment_profile": { "enroll_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/1afa4c6c/enroll", "has_certificate": false, "open_enrollment": true, "uuid": "1afa4c6c" }, "type": "CourseTemplate", "template": { "id": 1, "course_type": "bridge", "description": null, "estimated_time": 1, "has_quizzes": false, "external_info": null, "title": "Course1", "cover_slide_data": { "background_image_url": "https://s3-us-east-2.amazonaws.com/bridge-learn-file-store-edge-cmh/1/1/uploads/ab6ea96d-05d5-46ac-b863-043d6acf990a.png" }, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/courses/1/launch" } }
This endpoint controls the mobile live courses endpoints
200 OK
400 Bad Request
404 Not Found
/api/mobile/learner/programs/1/items
This endpoint controls the mobile live courses endpoints
200 OK
400 Bad Request
live_course_ids
Array
Required
An array of Integer live_course_ids to be fetched by this request.
{ "items": [ { "enrollment": { "id": 2, "completed_at": null, "end_at": "2023-07-25T08:00:00.969Z", "required": true, "state": "registered", "registered": true, "multi_part": false, "registered_session_start_at": "2023-07-25T07:00:00.969Z", "registered_session_end_at": "2023-07-25T08:00:00.969Z", "registered_session_parts": [] }, "enrollment_profile": { "has_certificate": false, "open_enrollment": false, "uuid": "d7483698" }, "template": { "id": 1, "description": null, "title": "lt1 - no multi part sessions", "cover_slide_data": { "background_image_url": null }, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/calendar?liveCourseId=1" } } ] }
200 OK
400 Bad Request
/api/mobile/learner/live_courses/1
{ "enrollment": { "id": 2, "completed_at": null, "end_at": "2023-07-25T08:00:00.969Z", "required": true, "state": "registered", "registered": true, "multi_part": false, "registered_session_start_at": "2023-07-25T07:00:00.969Z", "registered_session_end_at": "2023-07-25T08:00:00.969Z", "registered_session_parts": [] }, "enrollment_profile": { "has_certificate": false, "open_enrollment": false, "uuid": "d7483698" }, "type": "LiveCourse", "template": { "id": 1, "description": null, "title": "lt1 - no multi part sessions", "cover_slide_data": { "background_image_url": null }, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/calendar?liveCourseId=1" } }
This endpoint controls the mobile program endpoints
200 OK
400 Bad Request
program_ids
Array
Required
An array of Integer program_ids to be fetched by this request.
/api/mobile/learner/programs?program_ids=1,2
/api/mobile/learner/programs?program_ids[]=1&program_ids[]=2
{ "items": [ { "enrollment": { "completed_at": null, "completed_item_count": 1, "end_at": null, "id": 1, "learning_item_id": 1, "required": true, "state": "active" }, "enrollment_profile": { "enroll_url": "http://bridge.learn.local.bridgeops.sh/learner/programs/490248be/enroll", "has_certificate": false, "open_enrollment": true, "uuid": "490248be" }, "template": { "cover_slide_data": { "background_image_url": "https://s3-us-east-2.amazonaws.com/bridge-learn-file-store-edge-cmh/1/1/uploads/1de0413c-6c59-4a0b-b58a-da2a73d5bbab.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAR3HDTVET7VEVOX6W%2F20230719%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Date=20230719T125912Z&X-Amz-Expires=1800&X-Amz-SignedHeaders=host&X-Amz-Signature=34d124c1132be10c1c65a5578f108afb568711307b6c5429dc345a31e7c59dba" }, "description": null, "id": 1, "item_count": 3, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/programs/1", "title": "Program1" } }, { "enrollment": null, "enrollment_profile": { "enroll_url": "http://bridge.learn.local.bridgeops.sh/learner/programs/e2d38c57/enroll", "has_certificate": false, "open_enrollment": false, "uuid": "e2d38c57" }, "template": { "cover_slide_data": { "background_image_url": null }, "description": null, "id": 2, "item_count": 1, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/programs/2", "title": "Program2" } } ] }
200 OK
400 Bad Request
/api/mobile/learner/programs/1
{ "enrollment": null, "enrollment_profile": { "enroll_url": "http://bridge.learn.local.bridgeops.sh/learner/programs/e2d38c57/enroll", "has_certificate": false, "open_enrollment": false, "uuid": "e2d38c57" }, "type": "Program", "template": { "cover_slide_data": { "background_image_url": null }, "description": null, "id": 2, "item_count": 1, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/programs/2", "title": "Program2" } }
This endpoint controls the mobile task endpoints
200 OK
400 Bad Request
task_ids
Array
Required
An array of Integer task_ids to be fetched by this request.
/api/mobile/learner/tasks?task_ids=1,2
/api/mobile/learner/tasks?task_ids[]=1&task_ids[]=2
{ "items": [ { "enrollment": { "id": 1, "end_at": "2023-08-01T05:59:59.999Z", "required": true, "state": "assigned", "approval": { "id": 1, "state": "incomplete" } }, "enrollment_profile": { "has_certificate": false, "open_enrollment": false, "uuid": "5efcf4b6" }, "template": { "id": 1, "attachments_count": 0, "description": null, "title": "Task1", "cover_slide_data": { "background_image_url": null }, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/checkpoints/1", "requires_approval": true, "requires_evidence": true } }, { "enrollment": { "id": 2, "end_at": "2023-08-02T05:59:59.999Z", "required": true, "state": "assigned", "approval": null }, "enrollment_profile": { "has_certificate": false, "open_enrollment": false, "uuid": "3bb3c718" }, "template": { "id": 2, "attachments_count": 0, "description": null, "title": "Task2", "cover_slide_data": { "background_image_url": null }, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/checkpoints/2", "requires_approval": false, "requires_evidence": false } } ] }
200 OK
400 Bad Request
/api/mobile/learner/tasks/1
{ "enrollment": { "id": 2, "end_at": "2023-08-02T05:59:59.999Z", "required": true, "state": "assigned", "approval": null }, "enrollment_profile": { "has_certificate": false, "open_enrollment": false, "uuid": "3bb3c718" }, "type": "Task", "template": { "id": 2, "attachments_count": 0, "description": null, "title": "Task2", "cover_slide_data": { "background_image_url": null }, "launch_url": "http://bridge.learn.local.bridgeops.sh/learner/checkpoints/2", "requires_approval": false, "requires_evidence": false } }
Visit Ruby Sample Code - File Upload
to learn how to upload a file and get the url
The response contains the id of the new bridge course.
201 Created
400 Bad Request
title
String
Required
The title of the course.
url
String
Required
The url of the course that was uploaded to S3
{ "title": "Awesome title", "url": "https://abc.instructure.s3.amazonaws.com/1/1%2Fuploads%2F45718ec0-a3f6-46a2-9536-805aeebd5.zip" }
curl \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{"title":"Awesome title","url":"https://abc.instructure.s3.amazonaws.com/1/1%2Fuploads%2F45718ec0-a3f6-46a2-9536-805aeebd5.zip"}' \ http://<bridge>/api/scorm/upload
{ "id": 105 }