{"info":{"_postman_id":"cac2ac44-138d-4bda-a61c-c048b75e36cb","name":"Enrollment APIs","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"11719128","collectionId":"cac2ac44-138d-4bda-a61c-c048b75e36cb","publishedId":"TVKBYHre","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-09-19T01:18:28.000Z"},"item":[{"name":"Enroll New User","id":"506260c1-c487-42f9-94c2-0bd1f07399eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"first_name\": \"John Joe\",\n    \"last_name\": \"Doe\",\n    \"email\": \"john.doe1@domain.com\",\n    \"external_id\": \"Users unique identifier in your system: only applicable when Single-Sign-On using a unique identifier other email is enabled and used.\",\n    \"enrolled_at\": \"2022-01-31T21:04:13\",\n    \"course_role_id\": \"ID\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.novoed.com/:catalog_id/enroll_new_user.json?api_key=API_KEY&api_secret=API_SECRET","description":"<p>Enrolls a learner to a course the API key is whitelisted on or any course in the institution the API key is whitelisted on.</p>\n<p>If the learner is already enrolled in the course, the api endpoint will not take in any of your changes.</p>\n<p>catalog_id in call URL is the catalog ID of a course.</p>\n<p>enrolled_at in the call is the enrollment datetime for the learner of in the course</p>\n<p>Renders 200 status code on success.</p>\n<p>Renders 207 status code if learner is already enrolled.</p>\n<p>Renders 400 if input data is not valid and there was an issue in enrolling the learner.</p>\n","urlObject":{"protocol":"https","path":[":catalog_id","enroll_new_user.json"],"host":["api","novoed","com"],"query":[{"description":{"content":"<p>Developer's API key. Must be whitelist on the specific course or across institution.</p>\n","type":"text/plain"},"key":"api_key","value":"API_KEY"},{"description":{"content":"<p>Your API secret</p>\n","type":"text/plain"},"key":"api_secret","value":"API_SECRET"}],"variable":[{"type":"any","value":"CATALOG_ID","key":"catalog_id"}]}},"response":[{"id":"61ba9079-f7c2-422f-85c5-dffec9ee0ee5","name":"Enroll New User","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"first_name\": \"John Joe\",\n    \"last_name\": \"Doe\",\n    \"email\": \"john.doe1@domain.com\",\n    \"external_id\": \"Users unique identifier in your system: only applicable when Single-Sign-On using a unique identifier other email is enabled and used.\",\n    \"enrolled_at\": \"2022-01-31T21:04:13\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.novoed.com/:catalog_id/enroll_new_learner.json?api_key=API_KEY&api_secret=API_SECRET","protocol":"https","host":["api","novoed","com"],"path":[":catalog_id","enroll_new_learner.json"],"query":[{"key":"api_key","value":"API_KEY"},{"key":"api_secret","value":"API_SECRET"}],"variable":[{"key":"catalog_id","value":"CATALOG_ID"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 01 Feb 2022 22:42:46 GMT"},{"key":"Server","value":"thin 1.5.1 codename Straight Razor"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"},{"key":"ETag","value":"W/\"ac4453d5553e6b7a6e732773690186cb\""},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-Meta-Request-Version","value":"0.3.4"},{"key":"X-Request-Id","value":"d9f36f77-b1f2-4779-bec8-e53d889fb74f"},{"key":"X-Runtime","value":"9.898869"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"result\": {\n        \"user_id\": 12345,\n        \"email\": \"john.doe1@domain.com\"\n    },\n    \"message\": \"Successfully completed the request\"\n}"}],"_postman_id":"506260c1-c487-42f9-94c2-0bd1f07399eb"},{"name":"Unenroll user","id":"a6d1bc69-3d56-403a-a979-af2fde8e08ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"john.doe@domain.com\",\n    \"external_id\": \"Users unique identifier in your system: only applicable when Single-Sign-On using a unique identifier other email is enabled and used.\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.novoed.com/:CATALOG_ID/unenroll_user.json?api_key=API_KEY&api_secret=API_SECRET","description":"<p>Allows caller to programmatically unenroll a user from a course.</p>\n<p>CATALOG_ID in call URL is the catalog ID of a course.</p>\n<p>renders 400 status code if any parameters are missing.</p>\n<p>renders 404 if the user does not exist.</p>\n<p>renders 200 with no data if success.</p>\n","urlObject":{"protocol":"https","path":[":CATALOG_ID","unenroll_user.json"],"host":["api","novoed","com"],"query":[{"description":{"content":"<p>Developer's API key. Must be whitelist on the specific course or across institution.</p>\n","type":"text/plain"},"key":"api_key","value":"API_KEY"},{"description":{"content":"<p>Your API secret</p>\n","type":"text/plain"},"key":"api_secret","value":"API_SECRET"}],"variable":[{"type":"any","value":"","key":"CATALOG_ID"}]}},"response":[],"_postman_id":"a6d1bc69-3d56-403a-a979-af2fde8e08ab"},{"name":"Resend Welcome Email","id":"735d1395-5aae-42a2-9f29-921b0b890391","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"john.doe@domain.com\",\n    \"external_id\": \"Users unique identifier in your system: only applicable when Single-Sign-On using a unique identifier other email is enabled and used.\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.novoed.com/:CATALOG_ID/resend_welcome_email.json?api_key=API_KEY&api_secret=API_SECRET","description":"<p>Allows caller to programmatically resend a course welcome email to the user.</p>\n<p>CATALOG_ID in call URL is the catalog ID of a course.</p>\n<p>Email will only be sent if user is enrolled in course.</p>\n<p>renders 400 status code if any parameters are missing.</p>\n<p>renders 404 if the user does not exist or user has not been not enrolled in the course.</p>\n<p>render 400 if the user was enrolled at some point but was removed.</p>\n<p>renders 200 with no data if success.</p>\n","urlObject":{"protocol":"https","path":[":CATALOG_ID","resend_welcome_email.json"],"host":["api","novoed","com"],"query":[{"description":{"content":"<p>Developer's API key. Must be whitelist on the specific course or across institution.</p>\n","type":"text/plain"},"key":"api_key","value":"API_KEY"},{"description":{"content":"<p>Your API secret</p>\n","type":"text/plain"},"key":"api_secret","value":"API_SECRET"}],"variable":[{"type":"any","value":"","key":"CATALOG_ID"}]}},"response":[],"_postman_id":"735d1395-5aae-42a2-9f29-921b0b890391"},{"name":"Get Registration Info","id":"5901696f-0abd-4dac-9920-e07c8d9d7150","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.novoed.com/:CATALOG_ID/registration_info.json?api_key=API_KEY&api_secret=API_SECRET&email=EMAIL","description":"<p>Allows caller to programmatically retrieve information about user’s enrollment status in a course.</p>\n<p>returns 400 status code if any parameters are missing.</p>\n<p>renders 404 if the user does not exist or user has not been not enrolled in the course.</p>\n<p>render 400 if the user was enrolled at some point but was removed.</p>\n<p>renders 200 with an array of JSON data on success. See example response for details.</p>\n","urlObject":{"protocol":"https","path":[":CATALOG_ID","registration_info.json"],"host":["api","novoed","com"],"query":[{"description":{"content":"<p>Developer's API key. Must be whitelist on the specific course or across institution.</p>\n","type":"text/plain"},"key":"api_key","value":"API_KEY"},{"description":{"content":"<p>Your API secret</p>\n","type":"text/plain"},"key":"api_secret","value":"API_SECRET"},{"key":"email","value":"EMAIL"}],"variable":[{"type":"any","value":"catalog_id","key":"CATALOG_ID"}]}},"response":[{"id":"c625466c-5fd6-4a38-9791-0e943b88c78b","name":"Get Registration Info","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"testenv.localhost/:CATALOG_ID/registration_info.json?api_key=API_KEY&api_secret=API_SECRET&email=example@novoed.com","host":["testenv","localhost"],"path":[":CATALOG_ID","registration_info.json"],"query":[{"key":"api_key","value":"API_KEY","description":"Developer's API key. Must be whitelist on the specific course or across institution."},{"key":"api_secret","value":"API_SECRET","description":"Your API secret"},{"key":"email","value":"example@novoed.com"}],"variable":[{"key":"CATALOG_ID","value":"catalog_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 04 Feb 2022 00:05:31 GMT"},{"key":"Server","value":"thin 1.5.1 codename Straight Razor"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"},{"key":"ETag","value":"W/\"9e8a9f847987c0f845fd5634b7a475d9\""},{"key":"Cache-Control","value":"max-age=0, private, must-revalidate"},{"key":"X-Meta-Request-Version","value":"0.3.4"},{"key":"X-Request-Id","value":"95318278-e0a2-4ae1-b828-e2a3d7d815e0"},{"key":"X-Runtime","value":"4.632179"},{"key":"Set-Cookie","value":"XSRF-TOKEN=VgyQE4nJR50Povj4KRh13fdz%2Fpd%2FOScEVlxW2JKm%2FWs1sGSUyTt7Jmy%2FyiHycj1PwMW0q0x7vxWFP2wOMUvWcA%3D%3D; path=/"},{"key":"Set-Cookie","value":"_localhost_shared_session=eU9oVW56YnV0MHpvMEd4d0lKSUJQZUVabnJFUlZaNExEK2I1WkxkUEN0NDBQZzN0cWVKRDdzZVVGN0l5eloxNFJaaElqb3lRRXpMU2c3Q1d3ejhURFFkMlFaSlBNNlZzWXBDSjRaNEt3QndOZTJNU01CL2EzbnpMWUxSSDR6ZmFLaDFLanRCMHppd25HR0htamVpUWxTNDVOUnR6bUU1RXJWRDN5VTFhTkpXc0l5VmNadEFDcUhOSTloL21QNHpzMlZuckNOVThIRjMwUm5CY1dCeDluRkNJYVFQZ2I5RDNFQVlYUjFEckUzTE10elA0aE5BM3AwdUpIdXVZQmNGQkJmVFlBb3J4MHJlVG9lS0pLUDlOVVdEekloZWdMVVV3dWc2UFBiaHdYT3dmL2UvQUJGdnI3dmhRUGdlRW41dEhrdks4YkI3MVJ3WldSbnRQU2lab0tVZ0NyZlJUZm85VHdjdXFFdlZjN1cydGNaNEcyTmdpRTBEc2NGMmpRR2pBa0psb1hoTlZDYTRTazg0dnFXaTI5RTFySDlPcWRheHVrSlVWL0hpL0RVYWxKRE5Mbk9hZ0xuRkRSWi85a09ZMXdrN3BxV1NoWDZIRyt6aXgrWVpzZk94dmI0U2NrZUVNWGdLbWJoMmxFZkE9LS1DYU81OXVhK3dWbmxKejdXN0JmZnZBPT0%3D--f6b80abecb0c6457dde529c1f1dd80daf47c2302; domain=.testenv.localhost; path=/; expires=Thu, 05 May 2022 00:05:36 -0000; HttpOnly"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Keep-Alive","value":"timeout=5, max=100"},{"key":"Connection","value":"Keep-Alive"},{"key":"Transfer-Encoding","value":"chunked"}],"cookie":[],"responseTime":null,"body":"{\n    \"result\": {\n        \"completion_date\": \"2012-04-27T08:10:00.000Z\",\n        \"completion_type\": \"auto\",\n        \"enrollment_status\": \"enrolled\",\n        \"completion_status\": \"complete\",\n        \"activity_status\": \"not_active\",\n        \"account_status\": \"not_signed_in\",\n        \"course_role_id\": \"id\",\n        \"course_role_name\": \"name\",\n        \"is_course_admin\": false,\n        \"is_mentor\": false,\n        \"self_paced_access_end\": null \n    },\n    \"message\": \"Successfully completed the request\"\n}"}],"_postman_id":"5901696f-0abd-4dac-9920-e07c8d9d7150"},{"name":"Get All Courses in an Institution","id":"12b34c4e-4ed9-4434-8d0b-eac34f7b7919","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://api.novoed.com/courses/all.json?api_key=API_KEY&api_secret=API_SECRET&institution_id=INSTITUTION_ID&page=PAGE_NUMBER&page_size=NUM_PER_PAGE","description":"<p>Allows caller to programmatically retrieve all the courses within an institution.</p>\n<p>renders 40x on access control issues.</p>\n<p>renders 200 with an array of JSON data on success. See example response for details.</p>\n","urlObject":{"protocol":"https","path":["courses","all.json"],"host":["api","novoed","com"],"query":[{"description":{"content":"<p>Developer's API key. Must be whitelisted across institution.</p>\n","type":"text/plain"},"key":"api_key","value":"API_KEY"},{"description":{"content":"<p>Developer's API secret</p>\n","type":"text/plain"},"key":"api_secret","value":"API_SECRET"},{"description":{"content":"<p>Your organization admin has a number in the URL, that number is your institution ID. Our support desk at <a href=\"mailto:hello@novoed.com\">hello@novoed.com</a> can help you identify this value.</p>\n","type":"text/plain"},"key":"institution_id","value":"INSTITUTION_ID"},{"description":{"content":"<p>optional parameter, default = 1, without inclusion, first page of 1000 courses will be returned</p>\n","type":"text/plain"},"key":"page","value":"PAGE_NUMBER"},{"description":{"content":"<p>optional parameter, default = 1000</p>\n","type":"text/plain"},"key":"page_size","value":"NUM_PER_PAGE"}],"variable":[]}},"response":[{"id":"4be68216-a2dd-40b6-a3a7-33eeeebdddde","name":"Get all courses in an institution","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.novoed.com/courses/all.json?api_key=key&api_secret=secret&institution_id=1&page=1&page_size=1000","protocol":"https","host":["api","novoed","com"],"path":["courses","all.json"],"query":[{"key":"api_key","value":"key","description":"Developer's API key. Must be whitelisted across institution."},{"key":"api_secret","value":"secret","description":"Developer's API secret"},{"key":"institution_id","value":"1","description":"Your organization admin has a number in the URL, that number is your institution ID. Our support desk at hello@novoed.com can help you identify this value."},{"key":"page","value":"1","description":"page number, each page returns 1000 courses. this parameter is optional and default is set to 1"},{"key":"page_size","value":"1000"}]}},"code":200,"_postman_previewlanguage":"json","header":null,"cookie":[],"responseTime":null,"body":"{\n    \"result\": [\n        {\n            \"id\": 1, // integer. the ID of this course or program on NovoEd\n            \"catalog_id\": \"example-catalog-id\", // string. catalog id of the course or program on NovoEd\n            \"name\": \"Example Name\", // string. title of the course or program on NovoEd\n            \"release_date\": \"2014-01-15T07:59:00Z\", // UTC timestamp. release date: date users were able to start viewing the content\n            \"end_date\": \"2014-02-27T07:59:00Z\", // UTC timestamp. the end date as seen on flyer. this date does not impact user's ability to see the content\n            \"created_at\": \"2013-11-04T22:24:35Z\", // UTC timestamp. the date this course or program was created on\n            \"official_release_date\": \"2014-01-15T07:59:00Z\", // UTC timestamp. start date of the course on flyer\n            \"registration_close_date\": \"2014-01-23T07:59:00Z\", // UTC timestamp. registration closure, only makes an impact on courses with public open enrollment\n            \"close_date\": \"2014-03-12T06:59:00Z\", // UTC timestamp. content close date, learners can no longer access the content after this date\n            \"is_self_paced\": false, // possible values: true, false. self paced will return true and deadline based will return false\n            \"type_of_registration_in_words\": \"Free\", // possible values: Free, Closed enrollment, Open within your organization are possible options \n            \"class_summary\": \"description of the course\", // long text, outputs the course description shown on flyer page if entered by course creators\n            \"type\": \"Course\", // possible values: course or program \n            \"used_for\": 0, // possible values: 0,1. 0 means a production offering, 1 means a demo offering\n            \"enrollment_limit_in_days\": 0 // integer. value > 0 if limited access in days with respect to enrollment date is set for a self paced course. does not apply to deadline based\n        }\n    ]\n}"}],"_postman_id":"12b34c4e-4ed9-4434-8d0b-eac34f7b7919"},{"name":"Get Enrollments for user","id":"bf983736-1b95-4245-a998-711ad7b5d972","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.novoed.com/institutions/{{institution_id}}/user/enrollments.json?email={{user_email}}&api_key={{api_key}}&api_secret={{api_secret}}","description":"<p>Provides enrollment records for a user.</p>\n<p>Use <em>email</em> or <em>external_id</em> parameter to specify a user.</p>\n<p>Possible values for <em>completion_progress</em> in response:</p>\n<ul>\n<li>“enrolled” - user is enrolled in the course</li>\n<li>“in_progress” - user is enrolled and has accessed the course</li>\n<li>“removed” - user was unenrolled from the course</li>\n<li>“completed” - user has completed course (met automatic completion criteria or was manually granted completion)</li>\n<li>“withdrawn” - user withdrew from the course</li>\n</ul>\n","urlObject":{"protocol":"https","path":["institutions","{{institution_id}}","user","enrollments.json"],"host":["api","novoed","com"],"query":[{"description":{"content":"<p>Email address for the user. Can alternatively use \"external_id\".</p>\n","type":"text/plain"},"key":"email","value":"{{user_email}}"},{"key":"api_key","value":"{{api_key}}"},{"key":"api_secret","value":"{{api_secret}}"}],"variable":[]}},"response":[],"_postman_id":"bf983736-1b95-4245-a998-711ad7b5d972"},{"name":"Update Self Paced Access End Date","id":"d43a0573-2304-4e5a-aeab-ce706ef020b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\n    \"email\": \"learner.email@novoed.com\",\n    \"external_id\": \"external_id\", // Use either an email or external_id\n    \"self_paced_end_date\": \"2023-09-31T06:20:00.000Z\"  // Datetime in UTC\n}","options":{"raw":{"language":"json"}}},"url":"https://api.novoed.com/institutions/{{institution_id}}/{{catalog_id}}/enrollments.json?api_key={{api_key}}&api_secret={{api_secret}}","description":"<p>Allows caller to set the access end date for a learner’s enrollment in a self-paced course.</p>\n<p>Renders 200 status code when the data was updated with success.</p>\n<p>Renders 204 when trying to update empty data when the user does not exist.</p>\n<p>Renders 400 if input data is invalid and there was an issue enrolling the learner.</p>\n<p>Renders 403 if you cannot update the current user or the course is not self-paced.</p>\n","urlObject":{"protocol":"https","path":["institutions","{{institution_id}}","{{catalog_id}}","enrollments.json"],"host":["api","novoed","com"],"query":[{"key":"api_key","value":"{{api_key}}"},{"key":"api_secret","value":"{{api_secret}}"}],"variable":[]}},"response":[],"_postman_id":"d43a0573-2304-4e5a-aeab-ce706ef020b1"}]}