### Get User Lesson Enrollment Endpoint Examples Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Examples of the endpoint URL for retrieving a user's lesson enrollment across different regions. Ensure you use the correct base URL for your region. ```http https://rest.myabsorb.com/users/{userId}/enrollments/{courseId}/lessons ``` ```http https://rest.myabsorb.ca/users/{userId}/enrollments/{courseId}/lessons ``` ```http https://rest.myabsorb.eu/users/{userId}/enrollments/{courseId}/lessons ``` ```http https://rest.myabsorb.com.au/users/{userId}/enrollments/{courseId}/lessons ``` -------------------------------- ### Start Attempt Response Schema Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments The JSON structure returned upon successfully starting a lesson attempt. ```json { * "attemptId": "string", * "courseId": "string", * "userId": "string" } ``` -------------------------------- ### OData Filter Examples for Course Certificates Source: https://docs.myabsorb.com/integration-api/v2/docs/certificates Illustrates how to use the `_filter` query parameter to refine lists of certificates based on various criteria. Examples show filtering by name, ID, and date ranges using OData syntax. ```text _filter=`firstname eq 'Jeffrey'` ``` ```text _filter=`id eq guid'a14c149a-2ce0-41d4-b532-02189ad3cb22'` ``` ```text _filter=`startsWith(lastname,'leb') or dateAdded ge datetime'1998-03-06T20:38:07Z'` ``` -------------------------------- ### Get User Management Settings Response Schema Source: https://docs.myabsorb.com/integration-api/v2/docs/users Example JSON response structure for retrieving a user's management settings. ```json { "userTypes": [ "Learner" ], "userManagementType": 0, "managedGroupId": "string", "managedDepartments": [ { "departmentId": "string", "includeSubDepartments": true } ] } ``` -------------------------------- ### API Endpoint URL Examples Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/course-evaluations Provides example URLs for the evaluation questions endpoint across different regions (US, CA, EU, AU). Replace {courseId} with the actual course ID. ```text https://rest.myabsorb.com/courses/{courseId}/evaluation-questions ``` ```text https://rest.myabsorb.ca/courses/{courseId}/evaluation-questions ``` ```text https://rest.myabsorb.eu/courses/{courseId}/evaluation-questions ``` ```text https://rest.myabsorb.com.au/courses/{courseId}/evaluation-questions ``` -------------------------------- ### GET /prerequisites Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/prerequisites Retrieves a list of all prerequisites available in the system. ```APIDOC ## GET /prerequisites ### Description Retrieves a list of all prerequisites. ### Method GET ### Endpoint /prerequisites ### Parameters #### Header Parameters - **x-api-key** (string) - Required - API key for authentication - **x-api-version** (string) - Required - API version (2) ### Response #### Success Response (200) - **id** (string) - The unique prerequisite identifier. - **name** (string) - The prerequisite's name. - **requiredNumber** (integer) - The number of courses/competencies needed to satisfy the prerequisite. - **prerequisiteType** (integer) - The prerequisite's type (0=Courses, 1=Certificates, 2=Competencies). - **courseIds** (Array of strings) - The prerequisite's list of course IDs. - **competencyDefinitionIds** (Array of strings) - The prerequisite's list of competency definition IDs. #### Response Example [ { "id": "string", "name": "string", "requiredNumber": 0, "prerequisiteType": 0, "courseIds": ["string"], "competencyDefinitionIds": ["string"] } ] ``` -------------------------------- ### GET /curriculums/for-sale Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/curricula Retrieves a list of all curriculums currently available for sale. ```APIDOC ## GET /curriculums/for-sale ### Description Retrieves an array of curriculums that are available for sale. ### Method GET ### Endpoint /curriculums/for-sale ### Response #### Success Response (200) - **isPacingEnabled** (boolean) - True if pacing is enabled, false otherwise. - **curriculumGroupIds** (Array of strings) - A list of curriculum group IDs. - **id** (string) - The unique course identifier. - **courseType** (string) - The course's type. - **name** (string) - The course's name. - **description** (string) - The course's description. - **notes** (string) - The course's notes. - **externalId** (string) - The course's external ID. - **accessDate** (string) - The course's access date. - **expireType** (integer) - The course's expiry type (0=None, 1=Date, 2=Duration). - **expireDuration** (object) - The course's duration until expiry. - **expiryDate** (string) - The course's expiry date. - **activeStatus** (integer) - The course's status (0=Active, 1=Inactive). - **tagIds** (Array of strings) - The course's list of tag IDs. - **resourceIds** (Array of strings) - The course's list of resource IDs. - **editorIds** (Array of strings) - The course's list of editor IDs. - **prices** (Array of objects) - The course's list of prices. - **competencyDefinitionIds** (Array of strings) - The course's list of competency definition IDs. - **prerequisiteCourseIds** (Array of strings) - The course's list of prerequisite course IDs. - **postEnrollmentCourseIds** (Array of strings) - The course's list of post enrollment course IDs. - **allowCourseEvaluation** (boolean) - True if the course allows evaluation. - **categoryId** (string) - The course's category ID. - **certificateUrl** (string) - The course's certificate URL. - **audience** (string) - The course's audience. - **goals** (string) - The course's goals. - **vendor** (string) - The course's vendor. - **companyCost** (number) - The course's company cost. - **learnerCost** (number) - The course's learner cost. - **companyTime** (number) - The course's amount of company time. - **learnerTime** (number) - The course's amount of learner time. - **dateEdited** (string) - The course's last edited date. - **dateAdded** (string) - The date the course was added. #### Response Example [ { "id": "string", "name": "string", "courseType": "string" } ] ``` -------------------------------- ### Response Schema Example Source: https://docs.myabsorb.com/integration-api/v2/docs/courses JSON structure for the 200 OK response containing course resources. ```json { "totalItems": 0, "returnedItems": 0, "limit": 0, "offset": 0, "courses": [ { "id": "string", "courseType": "string", "name": "string", "description": "string", "notes": "string", "externalId": "string", "accessDate": "2019-08-24T14:15:22Z", "expireType": 0, "expireDuration": { "years": 0, "months": 0, "days": 0, "hours": 0 }, "expiryDate": "2019-08-24T14:15:22Z", "activeStatus": 0, "tagIds": [ "string" ], "resourceIds": [ "string" ], "editorIds": [ "string" ], "prices": [ { "id": "string", "departmentId": "string", "currency": "string", "amount": 0 } ], "competencyDefinitionIds": [ "string" ], "prerequisiteCourseIds": [ "string" ], "postEnrollmentCourseIds": [ "string" ], "allowCourseEvaluation": true, "categoryId": "string", "certificateUrl": "string", "audience": "string", "goals": "string", "vendor": "string", "companyCost": 0, "learnerCost": 0, "companyTime": 0, "learnerTime": 0, "dateEdited": "2019-08-24T14:15:22Z", "dateAdded": "2019-08-24T14:15:22Z" } ] } ``` -------------------------------- ### Get Course by ID - AU Endpoint Source: https://docs.myabsorb.com/integration-api/v2/docs/courses Retrieves details for a specific course using its ID. This example shows the AU regional endpoint. ```http https://rest.myabsorb.com.au/courses/{courseId} ``` -------------------------------- ### Get Course by ID - EU Endpoint Source: https://docs.myabsorb.com/integration-api/v2/docs/courses Retrieves details for a specific course using its ID. This example shows the EU regional endpoint. ```http https://rest.myabsorb.eu/courses/{courseId} ``` -------------------------------- ### POST /users/{userId}/enrollments/{courseId}/lessons/{lessonId}/start-attempt Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Starts a new attempt for a specific lesson. ```APIDOC ## POST /users/{userId}/enrollments/{courseId}/lessons/{lessonId}/start-attempt ### Description Starts a new attempt for a specific lesson for a user. ### Method POST ### Endpoint /users/{userId}/enrollments/{courseId}/lessons/{lessonId}/start-attempt ### Parameters #### Path Parameters - **userId** (string ) - Required - The user ID. - **courseId** (string ) - Required - The course ID. - **lessonId** (string ) - Required - The lesson ID. ### Response #### Success Response (200) - **attemptId** (string ) - The unique attempt identifier. - **courseId** (string ) - The attempt's course ID. - **userId** (string ) - The attempt's user ID. #### Response Example { "attemptId": "string", "courseId": "string", "userId": "string" } ``` -------------------------------- ### Get Course by ID - CA Endpoint Source: https://docs.myabsorb.com/integration-api/v2/docs/courses Retrieves details for a specific course using its ID. This example shows the CA regional endpoint. ```http https://rest.myabsorb.ca/courses/{courseId} ``` -------------------------------- ### Get Course by ID - US Endpoint Source: https://docs.myabsorb.com/integration-api/v2/docs/courses Retrieves details for a specific course using its ID. This example shows the US regional endpoint. ```http https://rest.myabsorb.com/courses/{courseId} ``` -------------------------------- ### POST /users/{userId}/enrollments/{courseId}/session/{sessionId} Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Creates a new ILC enrollment and session enrollment for a user. ```APIDOC ## POST /users/{userId}/enrollments/{courseId}/session/{sessionId} ### Description Creates a new ILC enrollment and Session enrollment in the specific ILC course for a specific user. Supports re-enrollment and canceling of existing session enrollments. ### Method POST ### Endpoint /users/{userId}/enrollments/{courseId}/session/{sessionId} ### Parameters #### Path Parameters - **userId** (string) - Required - The user ID. - **courseId** (string) - Required - The course ID. - **sessionId** (string) - Required - The session ID. #### Query Parameters - **reEnroll** (boolean) - Optional - If true, the user will be re-enrolled in the specified session. - **cancelSession** (boolean) - Optional - If true, the existing session enrollment will be cancelled. ### Response #### Success Response (201) - **userId** (string) - The user ID. - **courseId** (string) - The instructor led course ID. - **sessionId** (string) - The session ID. - **enrollmentId** (string) - The instructor led course enrollment ID. - **sessionEnrollmentId** (string) - The session enrollment ID. #### Response Example { "userId": "string", "courseId": "string", "sessionId": "string", "enrollmentId": "string", "sessionEnrollmentId": "string" } ``` -------------------------------- ### Successful Token Response Example Source: https://docs.myabsorb.com/integration-api/v2/docs/authentication/oauth This is an example of a successful token response after exchanging an authorization code for an access token. It includes the access token, token type, expiration time, and refresh token. ```json { "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6Im9HZTc1M0VNdVhFUFhmQ1hKUWlxaHZhNHUxbyIsIng1dCI6Im9HZTc1M0VNdVhFUFhmQ1hKUWlxaHZhNHUxbyIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6ImNlMDI3N2EyLTFmMGQtNGRlYi1hZGY3LTJkMGQ2ODQ3YWM2ZCIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL25hbWUiOiJjZTAyNzdhMi0xZjBkLTRkZWItYWRmNy0yZDBkNjg0N2FjNmQiLCJ1c2VySWRlbnRpdHkiOiJ7XCJJc1N5c3RlbUlkZW50aXR5XCI6ZmFsc2UsXCJVc2VySWRcIjpcImNlMDI3N2EyLTFmMGQtNGRlYi1hZGY3LTJkMGQ2ODQ3YWM2ZFwiLFwiTmFtZVwiOlwiY2UwMjc3YTItMWYwZC00ZGViLWFkZjctMmQwZDY4NDdhYzZkXCIsXCJBYnNvcmJBdXRoZW50aWNhdGlvblR5cGVcIjo2LFwiQXV0aGVudGljYXRpb25UeXBlXCI6XCJUb2tlblwiLFwiSXNBdXRoZW50aWNhdGVkXCI6dHJ1ZSxcIkRlcGFydG1lbnRJZFwiOm51bGx9IiwiY2xpZW50UG9ydGFsSWRlbnRpdHkiOiJ7XCJSb3V0ZUlkXCI6XCJmNTJjNTQyOC1hNDM4LTQwN2ItODc2MC0wMzU3Y2NmMzFkMzBcIixcIkNsaWVudElkXCI6XCIwMDAwMDAwMC1hYWFhLWJiYmItNTU1NS0wMDAwMTIxMmJiYmJcIixcIkRlcGFydG1lbnRJZFwiOlwiMjgzZDhmOGQtZWUwZi00Yjk5LWFjYzYtY2QyZjYxYTYyZWRhXCIsXCJJc0RlcGFydG1lbnRTcGVjaWZpZWRCeVJvdXRlXCI6ZmFsc2V9IiwiYWNjZXNzTW9kZSI6IlwiQXBpXCIiLCJzY29wZSI6IltcImFkbWluXCIsXCJsZWFybmVyXCJdIiwib3BlbklkU2NvcGUiOiJbXCJvcGVuaWRcIl0iLCJub25jZSI6InRlc3QiLCJuYmYiOjE2MjAyNTUyMjgsImV4cCI6MTYyMDI2OTYyOCwiaWF0IjoxNjIwMjU1MjI4LCJpc3MiOiJodHRwczovL215YWJzb3JiLmNvbS8iLCJhdWQiOiJodHRwczovL215YWJzb3JiLmNvbS8ifQ.j_BMGj5x9JYT0Il2wL3OOrEdVkfhzayVOIMO9PLRfuC9buVJnJcQ4p56ddken8X1Hrj4dEe3vyKYyPFv6pyvGEqmVVScqLfgQ-HPffjeVzsN6nRuXiYyWp4bBUYQTvmX5R497s-a_0K79YXrRjxFe0UCFZ4p1uL9A4VuJ4xvVcXMMeTYDkEZl-owhrfn_uhpLfWpIhTUDO0vQryoLtcpocd_MddK5Cd4ctDVfN0boFx9emCSK3mWhck7Tyu9f2UQsKmZHqGZaAwJuZ-fgni8KDBH6kon7V0_JKQeglZSuvDLih4yO7GgIcfEvWS4YyhRc3C2a4xuCaNatw0vIC18GQ", "token_type": "bearer", "expires_in": 14399, "refresh_token": "09RR0D5mp5J56i4GTPEjdhMyMhw6t5IhTad5ErDD" } ``` -------------------------------- ### Get Course Bundles with Pagination Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/course-bundles Use `_limit` to set the maximum number of items per page and `_offset` to specify the page number. ```HTTP _limit=10&_offset=20 ``` -------------------------------- ### POST /enroll/{courseId} Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Creates a course enrollment for the currently authenticated user. ```APIDOC ## POST /enroll/{courseId} ### Description Creates a course enrollment for the currently authenticated user. Multi-Session ILCs are not supported. ### Method POST ### Endpoint https://rest.myabsorb.com/enroll/{courseId} ### Parameters #### Path Parameters - **courseId** (string) - Required - The course ID. #### Header Parameters - **x-api-key** (string) - Required - API Key. - **x-api-version** (string) - Required - API version (2). ### Response #### Success Response (201) - **enrollmentId** (string) - The enrollment ID. - **courseId** (string) - The course ID. - **userId** (string) - The user ID. #### Response Example { "enrollmentId": "string", "courseId": "string", "userId": "string" } ``` -------------------------------- ### GET /languages Source: https://docs.myabsorb.com/integration-api/v2/docs/languages Retrieves a list of all available languages. ```APIDOC ## GET /languages ### Description List available languages. ### Method GET ### Endpoint /languages ### Parameters #### Header Parameters - **x-api-key** (string) - Required - API key for authentication - **x-api-version** (string) - Required - API version (2) ### Response #### Success Response (200) - **id** (integer) - The language Id. - **name** (string) - The language name. - **nativeName** (string) - The language's native name. - **abbreviation** (string) - The language's abbreviation. #### Response Example [ { "id": 0, "name": "string", "nativeName": "string", "abbreviation": "string" } ] ``` -------------------------------- ### Response Schema for Course Bundles (200 OK) Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/course-bundles The successful response includes pagination details and an array of course bundle objects. ```JSON { "totalItems": 0, "returnedItems": 0, "limit": 0, "offset": 0, "courseBundles": [ { "id": "string", "courseType": "string", "name": "string", "description": "string", "notes": "string", "externalId": "string", "accessDate": "2019-08-24T14:15:22Z", "expireType": 0, "expireDuration": { "years": 0, "months": 0, "days": 0, "hours": 0 }, "expiryDate": "2019-08-24T14:15:22Z", "activeStatus": 0, "tagIds": [ "string" ], "resourceIds": [ "string" ], "editorIds": [ "string" ], "prices": [ { "id": "string", "departmentId": "string", "currency": "string", "amount": 0 } ], "competencyDefinitionIds": [ "string" ], "prerequisiteCourseIds": [ "string" ], "postEnrollmentCourseIds": [ "string" ], "allowCourseEvaluation": true, "categoryId": "string", "certificateUrl": "string", "audience": "string", "goals": "string", "vendor": "string", "companyCost": 0, "learnerCost": 0, "companyTime": 0, "learnerTime": 0, "dateEdited": "2019-08-24T14:15:22Z", "dateAdded": "2019-08-24T14:15:22Z", "courseIds": [ "string" ] } ] } ``` -------------------------------- ### POST /users/enrollments/list Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Lists course enrollments for a bulk list of users. Requires API key authentication. ```APIDOC ## POST /users/enrollments/list ### Description Lists course enrollments for a bulk user list. ### Method POST ### Endpoint /users/enrollments/list ### Parameters #### Query Parameters - **userIds** (Array of strings ) - Required - The user IDs. - **courseIds** (Array of strings ) - Required - The course IDs. #### Header Parameters - **x-api-key** (string) - Required - API key for authentication. - **x-api-version** (string) - Required - API version, must be '2'. ### Responses #### Success Response (200) - (Response schema not detailed in source, but implies a list of enrollments) #### Error Response - (Error details not detailed in source) ``` -------------------------------- ### GET /countries Source: https://docs.myabsorb.com/integration-api/v2/docs/countries Retrieves a list of all available countries. ```APIDOC ## GET /countries ### Description List all countries available in the system. ### Method GET ### Endpoint /countries ### Parameters #### Header Parameters - **x-api-key** (string) - Required - API authentication key - **x-api-version** (string) - Required - API version (set to 2) ### Response #### Success Response (200) - **id** (string) - The unique identifier of the country. - **countryCode** (string) - The country code. - **name** (string) - The name of the country. #### Response Example [ { "id": "string", "countryCode": "string", "name": "string" } ] ``` -------------------------------- ### Sorting Example for MyAbsorb API Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/course-evaluations Shows how to sort collections by one or more fields, with support for ascending and descending order. Prefix fields with '-' for descending sort. ```text _sort=name,-date ``` -------------------------------- ### GET /my-details Source: https://docs.myabsorb.com/integration-api/v2/docs/users Retrieves the details of the currently authenticated user. ```APIDOC ## GET /my-details ### Description Retrieves the profile information for the currently authenticated user. ### Method GET ### Endpoint https://rest.myabsorb.com/my-details ### Response #### Success Response (200) - **id** (string) - The unique user identifier. - **departmentId** (string) - The user's department ID. - **firstName** (string) - The first name. - **lastName** (string) - The last name. - **username** (string) - The unique username. - **emailAddress** (string) - The user contact email address. - **activeStatus** (integer) - The user's active status (0 = Active, 1 = Inactive). - **isLearner** (boolean) - True if the user is a learner. - **isAdmin** (boolean) - True if the user is an administrator. #### Response Example { "id": "string", "firstName": "string", "lastName": "string", "username": "string", "emailAddress": "string", "activeStatus": 0, "isLearner": true, "isAdmin": true } ``` -------------------------------- ### GET /user Source: https://docs.myabsorb.com/integration-api/v2/docs/users Retrieves the details of the currently authenticated user. ```APIDOC ## GET /user ### Description Retrieves the profile details for the currently authenticated user based on the provided API key. ### Method GET ### Endpoint /user ### Parameters #### Header Parameters - **x-api-key** (string) - Required - API authentication key - **x-api-version** (string) - Required - API version (e.g., 2) ### Response #### Success Response (200) - Returns the authenticated user's details. ``` -------------------------------- ### Get Question Source: https://docs.myabsorb.com/integration-api/v2/docs/question-banks Retrieves a specific question from a question bank. ```APIDOC ## GET /question-banks/{questionBankId}/questions/{questionId} ### Description Retrieves a specific question from a question bank. ### Method GET ### Endpoint /question-banks/{questionBankId}/questions/{questionId} ### Parameters #### Path Parameters - **questionBankId** (string) - Required - The unique question bank identifier. - **questionId** (string) - Required - The unique question identifier. #### Header Parameters - **x-api-key** (string) - Required - **x-api-version** (string) - Optional - Defaults to '2' ### Response #### Success Response (200) - **id** (string) - The unique question identifier. - **name** (string) - The question name. - **correctReply** (string) - The correct reply to the question. - **incorrectReply** (string) - The incorrect reply to the question. - **questionType** (integer) - Enum: 0, 1, 2 - The question type. Possible Enum Values: `0 = SingleAnswer`, `1 = MultipleAnswer`, `2 = Text`. - **attachment** (string) - The attachment to use for the question. Note: URL or file. - **questionOptions** (Array of objects) - The question options. #### Response Example ```json { "id": "string", "name": "string", "correctReply": "string", "incorrectReply": "string", "questionType": 0, "attachment": "string", "questionOptions": [ { "id": "string", "name": "string", "isCorrect": true, "order": 0 } ] } ``` #### Error Response (404) Question or question bank not found. ``` -------------------------------- ### POST /users Source: https://docs.myabsorb.com/integration-api/v2/docs/users Creates a new user in the system with the provided profile information and custom fields. ```APIDOC ## POST /users ### Description Creates a new user record including personal details, employment information, and custom fields. ### Method POST ### Endpoint /users ### Request Body - **username** (string) - Required - **password** (string) - Required - **departmentId** (string) - Optional - **firstName** (string) - Optional - **lastName** (string) - Optional - **emailAddress** (string) - Optional - **customFields** (object) - Optional - Contains various decimal, string, datetime, and boolean fields. ### Request Example { "username": "string", "password": "string", "emailAddress": "string" } ### Response #### Success Response (200/201) - **key** (string) - Identifier key - **value** (string) - Status value #### Response Example { "key": "string", "value": "string" } ``` -------------------------------- ### POST /users/{userId}/enrollments/{courseId} Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Creates a new enrollment for a specific user in a course. Note that multi-session ILCs are not supported. ```APIDOC ## POST /users/{userId}/enrollments/{courseId} ### Description Creates a new enrollment for a user and course. Multi-session ILCs are not supported. ### Method POST ### Endpoint /users/{userId}/enrollments/{courseId} ### Parameters #### Path Parameters - **userId** (string ) - Required - The user ID. - **courseId** (string ) - Required - The course ID. #### Query Parameters - **reEnroll** (boolean) - Optional - If true, the user will be re-enrolled in the specified course. ### Response #### Success Response (201) - **enrollmentId** (string ) - The enrollment ID. - **courseId** (string ) - The course ID. - **userId** (string ) - The user ID. #### Response Example { "enrollmentId": "string", "courseId": "string", "userId": "string" } ``` -------------------------------- ### GET /curriculums Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/curricula Retrieves a paged collection of curriculum resources. ```APIDOC ## GET /curriculums ### Description Retrieves a paged collection of curriculum resources from the system. ### Method GET ### Endpoint https://rest.myabsorb.{region}/curriculums ### Response #### Success Response (200) - **totalItems** (integer) - The total number of items in the unbounded collection - **returnedItems** (integer) - The number of items in the bound collection being returned - **limit** (integer) - The current page size for the collection - **offset** (integer) - The current offset for the collection - **curriculums** (Array) - The paged collection of CurriculumResource objects #### Response Example { "totalItems": 0, "returnedItems": 0, "limit": 0, "offset": 0, "curriculums": [ { "id": "string", "courseType": "string", "name": "string", "description": "string", "notes": "string", "externalId": "string", "accessDate": "2019-08-24T14:15:22Z", "expireType": 0, "expireDuration": { "years": 0, "months": 0, "days": 0, "hours": 0 }, "expiryDate": "2019-08-24T14:15:22Z", "activeStatus": 0, "tagIds": ["string"], "resourceIds": ["string"], "editorIds": ["string"], "prices": [{ "id": "string", "departmentId": "string", "currency": "string", "amount": 0 }], "competencyDefinitionIds": ["string"], "prerequisiteCourseIds": ["string"], "postEnrollmentCourseIds": ["string"], "allowCourseEvaluation": true, "categoryId": "string", "certificateUrl": "string", "audience": "string", "goals": "string", "vendor": "string", "companyCost": 0, "learnerCost": 0, "companyTime": 0, "learnerTime": 0, "dateEdited": "2019-08-24T14:15:22Z", "dateAdded": "2019-08-24T14:15:22Z", "isPacingEnabled": true, "curriculumGroupIds": ["string"] } ] } ``` -------------------------------- ### Filter Examples for MyAbsorb API Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/course-evaluations Demonstrates various filtering operations supported by the API, including equality, inequality, range comparisons, logical operators, and string functions. Ensure fields used for filtering are supported by the report's schema. ```text _filter=`firstname eq 'Jeffrey'` ``` ```text _filter=`id eq guid'a14c149a-2ce0-41d4-b532-02189ad3cb22'` ``` ```text _filter=`startsWith(lastname,'leb') or dateAdded ge datetime'1998-03-06T20:38:07Z'` ``` -------------------------------- ### GET /curriculums/curriculum-group Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/curricula Retrieves details for a specific curriculum group. ```APIDOC ## GET /curriculums/curriculum-group ### Description Retrieves information about a specific curriculum group. ### Method GET ### Endpoint /curriculums/curriculum-group ### Response #### Success Response (200) - **id** (string) - Identifier of curriculum group. - **name** (string) - Name of curriculum group. - **order** (integer) - Order of curriculum group within curriculum. - **requiredNumberOfCourses** (integer) - Required number of courses to complete the group. - **curriculumId** (string) - Identifier of curriculum this group belongs to. - **courses** (Array) - Courses in the group. #### Response Example { "id": "string", "name": "string", "order": 0, "requiredNumberOfCourses": 0, "curriculumId": "string", "courses": [ { "id": "string", "order": 0, "courseType": "string" } ] } ``` -------------------------------- ### GET /courses/{courseId}/chapters/{chapterId}/lessons/{lessonId}/users/{userId}/enrollment Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Retrieves the enrollment details for a specific user in a specific lesson. ```APIDOC ## GET /courses/{courseId}/chapters/{chapterId}/lessons/{lessonId}/users/{userId}/enrollment ### Description Retrieves the enrollment status and details for a specific user within a lesson. ### Method GET ### Endpoint /courses/{courseId}/chapters/{chapterId}/lessons/{lessonId}/users/{userId}/enrollment ### Parameters #### Path Parameters - **userId** (string) - Required - The user ID. - **courseId** (string) - Required - The course ID. - **chapterId** (string) - Required - The chapter ID. - **lessonId** (string) - Required - The lesson ID. #### Query Parameters - **status** (integer) - Optional - Enrollment status enum. - **modifiedSince** (string) - Optional - Filter by last modified date. #### Header Parameters - **x-api-key** (string) - Required - API authentication key. - **x-api-version** (string) - Required - API version (default: 2). ### Response #### Success Response (200) ``` -------------------------------- ### GET /enrollment-keys Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments/enrollment-keys Retrieves an enrollment key by its external ID. ```APIDOC ## GET /enrollment-keys ### Description Retrieves details for an enrollment key using its external ID. ### Method GET ### Endpoint /enrollment-keys ### Parameters #### Query Parameters - **externalId** (string) - Required - The ID of the enrollment key. #### Header Parameters - **x-api-key** (string) - Required - API authentication key. - **x-api-version** (string) - Required - API version (e.g., 2). ### Response #### Success Response (200) - **id** (string) - The unique enrollment key identifier. - **name** (string) - The enrollment key's name. - **keyName** (string) - The enrollment key's key name. - **departmentId** (string) - The enrollment key's department ID. - **usernameType** (integer) - The enrollment key's username type. - **maxUses** (integer) - The enrollment key's max uses. - **timesUsed** (integer) - The enrollment key's times used. - **dateAdded** (string) - The enrollment key's date added. - **dateEdited** (string) - The enrollment key's date edited. - **startDate** (string) - The enrollment key's start date. - **expiryDate** (string) - The enrollment key's expiry date. - **languageId** (integer) - The enrollment key's language ID. - **sendNewUserMessageOnEnrollment** (boolean) - Whether a new user message will be sent. - **externalId** (string) - The enrollment key's external ID. - **courses** (array) - The enrollment key's courses. - **signupFields** (array) - The enrollment key's signup fields. #### Error Response - **404** - Enrollment key not found. - **422** - A validation error occurred with the provided parameters. ``` -------------------------------- ### GET /users/{userId}/enrollments/{courseId}/chapters/{chapterId}/lessons Source: https://docs.myabsorb.com/integration-api/v2/docs/enrollments Retrieves a list of lesson enrollments for a specific user, course, and chapter. ```APIDOC ## GET /users/{userId}/enrollments/{courseId}/chapters/{chapterId}/lessons ### Description Retrieves a list of lesson enrollments for a specific user, course, and chapter. ### Method GET ### Endpoint /users/{userId}/enrollments/{courseId}/chapters/{chapterId}/lessons ### Response #### Success Response (200) - **id** (string) - Enrollment identifier. - **chapterEnrollmentId** (string) - The Id of related ChapterEnrollment - **type** (string) - The type of ActivityEnrollment - **attempts** (integer) - Number of attempts - **failures** (integer) - Number of failures - **lastAttempt** (string) - Date of the last attempt - **courseEnrollmentId** (string) - Id of the related CourseEnrollment - **chapterId** (string) - Id of the related Chapter - **lessonId** (string) - Id of the related Lesson - **name** (string) - Name of the Lesson Enrollment - **userId** (string) - Id of the related User - **fullName** (string) - Full name of the related User - **status** (integer) - Status of the Enrollment - **progress** (number) - Progress of this enrollment - **score** (number) - Score of this enrollment - **timeSpent** (string) - The length of time the learner has spent in the course. - **dateEnrolled** (string) - Date the User was enrolled - **dateStarted** (string) - Date the User started. - **dateCompleted** (string) - Date the user completed. - **dateEdited** (string) - The last date edited. - **dateAdded** (string) - The date the enrollment was added. #### Response Example [ { "id": "string", "chapterEnrollmentId": "string", "type": "string", "attempts": 0, "failures": 0, "lastAttempt": "2019-08-24T14:15:22Z", "courseEnrollmentId": "string", "chapterId": "string", "lessonId": "string", "name": "string", "userId": "string", "fullName": "string", "status": 0, "progress": 0, "score": 0, "timeSpent": "string", "dateEnrolled": "2019-08-24T14:15:22Z", "dateStarted": "2019-08-24T14:15:22Z", "dateCompleted": "2019-08-24T14:15:22Z", "dateEdited": "2019-08-24T14:15:22Z", "dateAdded": "2019-08-24T14:15:22Z" } ] ``` -------------------------------- ### GET /custom-field-definitions Source: https://docs.myabsorb.com/integration-api/v2/docs/custom-field-definitions List all custom field definitions and their configurations. ```APIDOC ## GET /custom-field-definitions ### Description List custom fields and their definitions. ### Method GET ### Endpoint /custom-field-definitions ### Parameters #### Header Parameters - **x-api-key** (string) - Required - API key for authentication - **x-api-version** (string) - Required - API version (set to 2) ### Response #### Success Response (200) - **id** (string) - The custom field definition ID. - **name** (string) - The custom field definition descriptive name. - **customField** (string) - The name of the custom field. - **type** (integer) - The field type (0=Boolean, 1=Date, 2=DateTime, 3=Decimal, 4=Integer, 5=Text). - **behavior** (integer) - The behaviour of the field (0=Optional, 1=Required, 2=Hidden, 3=Locked, 4=ReadOnly). - **possibleValues** (Array) - List of possible values for this field. - **isPrivate** (boolean) - True if this field is private, false otherwise. #### Response Example [ { "id": "string", "name": "string", "customField": "string", "type": 0, "behavior": 0, "possibleValues": [ { "id": "string", "customFieldDefinitionId": "string", "name": "string" } ], "isPrivate": true } ] ``` -------------------------------- ### Get Multiple Curriculum Groups Response Sample Source: https://docs.myabsorb.com/integration-api/v2/docs/courses/curricula Response sample for retrieving multiple curriculum groups. Returns an object where keys are property names and values are CurriculumGroupResource objects. ```json { "property1": { "id": "string", "name": "string", "order": 0, "requiredNumberOfCourses": 0, "curriculumId": "string", "courses": [ { "id": "string", "order": 0, "courseType": "string" } ] }, "property2": { "id": "string", "name": "string", "order": 0, "requiredNumberOfCourses": 0, "curriculumId": "string", "courses": [ { "id": "string", "order": 0, "courseType": "string" } ] } } ```