openapi: 3.1.0 info: title: api-settings version: '1.0' servers: - url: https://app.workramp.com components: securitySchemes: sec0: type: apiKey name: Authorization in: header x-bearer-format: bearer x-default: ACCESS_TOKEN security: - sec0: [] paths: /api/v1/users: get: summary: Get All Users description: 'Gets all users within the enterprise. See also: Get All Users (Including Attributes)' operationId: get-all-users-in-enterprise parameters: - name: limit in: query description: Limit the number of results returned per page. See warnings above -- failure to limit can result in your request being blocked due to rate-limiting. **Best practice is to always set to 1 when querying for one user, or less than 100 when doing batches.** schema: type: integer format: int32 - name: page in: query description: When used in conjunction with "limit," indicate what page (zero indexed) of results to return. The last "page" will have potentially fewer results than "limit," and pages beyond results will have return an empty array. schema: type: integer format: int32 - name: includeDeleted in: query description: Default behavior is to return users where isDeleted is "false". You can set this parameter to "true" to return users for which isDeleted is either "true" or "false". schema: type: boolean default: false - name: email in: query description: Optional - To filter to a single email address. If a user with this email address exists in the system, then only that user will be in the return data. If no user exists with that email, then a blank list will be returned. schema: type: string - name: name in: query description: Optional - To filter by name, pass in a name to search, please note this is case sensitive schema: type: string - name: custom_attributes in: query description: 'Optional - To filter to only users with a certain custom attribute value, pass an object with a single key-value pair where the key represents the custom attribute name and the value represents the custom attribute value. (ie. `{ "custom_attributes": { "isAdmin": true } }`)' schema: properties: {} type: object responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \"id\": 1925,\n \"name\": \"John Doe\",\n \"email\": \"johndoe@workramp.com\"\ ,\n \"isAdmin\": false,\n \"isDeleted\": false,\n \t\t\"isPermanentlyDeleted\"\ : false,\n \"createdAt\": 1466832522351.831,\n \"updatedAt\": 1469950882088.9028,\n\ \ \"directReports\": [\n {\n \"id\": 4,\n \"name\": \"Managee\ \ Doe\",\n \"email\": \"manageedoe@workramp.com\"\n }\n ],\n \"\ certifications\": [\n {\n \"id\": 1,\n \"title\": \"Certification\ \ 1\"\n }\n ]\n },\n {\n \"id\": 1954,\n \"name\": \"Beth Samuels\"\ ,\n \"email\": \"bethsamuels@workramp.com\",\n \"isAdmin\": true,\n \"isDeleted\"\ : false,\n \t\t\"isPermanentlyDeleted\": false,\n \"createdAt\": 1467515797325.3892,\n\ \ \"updatedAt\": 1467515860387.0022,\n \"directReports\": [],\n \"certifications\"\ : []\n },\n {\n \"id\": 1955,\n \"name\": \"Julie Thomas\",\n \"email\"\ : \"juliethomas@workramp.com\",\n \"isAdmin\": false,\n \"isDeleted\": false,\n\ \ \t\t\"isPermanentlyDeleted\": false,\n \"createdAt\": 1467515822265.4888,\n \ \ \"updatedAt\": 1467515932613.6372,\n \"directReports\": [],\n \"certifications\"\ : []\n }\n]\n" schema: type: array items: type: object properties: id: type: integer example: 1925 default: 0 name: type: string example: John Doe email: type: string example: johndoe@workramp.com isAdmin: type: boolean example: false default: true isDeleted: type: boolean example: false default: true isPermanentlyDeleted: type: boolean example: false default: true createdAt: type: number example: 1466832522351.831 default: 0 updatedAt: type: number example: 1469950882088.9028 default: 0 directReports: type: array items: type: object properties: id: type: integer example: 4 default: 0 name: type: string example: Managee Doe email: type: string example: manageedoe@workramp.com certifications: type: array items: type: object properties: id: type: integer example: 1 default: 0 title: type: string example: Certification 1 '429': description: Too Many Requests content: application/json: schema: type: object properties: error: type: string description: The error default: Rate Limited... required: - error examples: Rate Limited: summary: Rate Limited value: error: Rate limited. See info at https://developers.workramp.com/reference/get-all-users-in-enterprise deprecated: false /api/v1/users/{user_id}: delete: summary: Delete User description: Delete an existing user operationId: delete-user parameters: - name: user_id in: path description: ID of user to be deleted schema: type: integer format: int32 required: true responses: '200': description: '200' content: application/json: examples: Result: value: 'true' schema: type: boolean example: true default: true deprecated: false /api/v1/groups: get: summary: Get all Groups description: Get all groups within the enterprise operationId: get-all-groups responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \"id\": 8,\n \"enterpriseId\": 23,\n \"name\": \"SDR New Hires\ \ - August\",\n \"createdAt\": 1435038275166.556,\n \"updatedAt\": 1437021409461.621\n\ \ },\n {\n \"id\": 116,\n \"enterpriseId\": 23,\n \"name\": \"SDRs\",\n\ \ \"createdAt\": 1457236933952.727,\n \"updatedAt\": 1457236933952.727\n }\n\ ]\n" schema: type: array items: type: object properties: id: type: integer example: 8 default: 0 enterpriseId: type: integer example: 23 default: 0 name: type: string example: SDR New Hires - August createdAt: type: number example: 1435038275166.556 default: 0 updatedAt: type: number example: 1437021409461.621 default: 0 deprecated: false /api/v1/groups/{group_id}/users: get: summary: Get All Users in a Group description: Get all users in a specific group operationId: get-all-users-in-a-group parameters: - name: Authorization in: header schema: type: string - name: group_id in: path schema: type: string required: true - name: Content-type in: header schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \"id\": 1925,\n \"name\": \"John Doe\",\n \"email\": \"johndoe@workramp.com\"\ ,\n \"isAdmin\": false,\n \"isDeleted\": false,\n \t\t\"isPermanentlyDeleted\"\ : false,\n \"createdAt\": 1656355073141,\n \"updatedAt\": 1658343360219,\n \ \ \"directReports\": [\n {\n \"id\": 4,\n \"name\": \"Managee\ \ Doe\",\n \"email\": \"manageedoe@workramp.com\"\n }\n ],\n \"\ certifications\": [\n {\n \"id\": 1,\n \"title\": \"Certification\ \ 1\"\n }\n ],\n \"customAttributes\": [\n {\n \"id\": 1,\n\ \ \"apiName\": \"alias\",\n \"value\": \"rockstar\"\n }\n ]\n\ \ },\n {\n \"id\": 1954,\n \"name\": \"Beth Samuels\",\n \"email\": \"\ bethsamuels@workramp.com\",\n \"isAdmin\": true,\n \"isDeleted\": false,\n \t\ \t\"isPermanentlyDeleted\": false,\n \"createdAt\": 1656355073125,\n \"updatedAt\"\ : 1636355073144,\n \"directReports\": [],\n \"certifications\": [],\n \"\ customAttributes\": []\n }\n]\n" schema: type: array items: type: object properties: id: type: integer example: 1925 default: 0 name: type: string example: John Doe email: type: string example: johndoe@workramp.com isAdmin: type: boolean example: false default: true isDeleted: type: boolean example: false default: true isPermanentlyDeleted: type: boolean example: false default: true createdAt: type: integer example: 1656355073141 default: 0 updatedAt: type: integer example: 1658343360219 default: 0 directReports: type: array items: type: object properties: id: type: integer example: 4 default: 0 name: type: string example: Managee Doe email: type: string example: manageedoe@workramp.com certifications: type: array items: type: object properties: id: type: integer example: 1 default: 0 title: type: string example: Certification 1 customAttributes: type: array items: type: object properties: id: type: integer example: 1 default: 0 apiName: type: string example: alias value: type: string example: rockstar deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/grous/2/users \ -H "Authorization: Bearer ACCESS_TOKEN" -H "Content-type: application/json" \' samples-languages: - curl /api/v1/users/:user_id/assignments/: get: summary: Get all User Assignments description: For provided user_id, returns all Course, Training Series (Paths), Challenge, and SCORM assignments. operationId: get-all-user-assignments parameters: - name: :user_id in: path schema: type: string required: true - name: Authorization in: header schema: type: string - name: webhook_payloads in: query description: Use webhook formats for assignment payloads schema: type: boolean default: false - in: query name: legacy_mode schema: type: boolean default: 'true' description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. responses: '200': description: '200' content: application/json: examples: default: value: page: 1 per_page: 20 has_more: false item_count: 6 url: /api/v1/users/27483/assignments data: challenge_assignments: - id: d09f7598-bc99-11e8-bb1c-06cfa4e7b2f4 user_id: 27483 title: Challenge 1 Title challenge_id: 8b439e84-bc99-11e8-a7f4-06cfa4e7b2f4 training_series_user_assignment_id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 due_date: 1538784000000 reviewers_due_date: null is_submitted: false is_partially_graded: false is_fully_graded: false calculated_grade: 0 passed: false created_at: 1537422945092 updated_at: 1541702793186 completed_at: null completion_percentage: 0 tags: [] status: not_started is_completed: false is_completed_on_time: null passing_grade_required: null is_overdue: null num_days_overdue: null date_first_accessed: null date_last_accessed: null assigner_id: null - id: 32509f28-4044-11e9-823e-06cfa4e7b2f4 user_id: 27483 title: Challenge 2 Title challenge_id: eb6008b0-3ac6-11e9-b297-0260b0cd3c00 training_series_user_assignment_id: null due_date: 1553126400000 reviewers_due_date: 1553817600000 is_submitted: false is_partially_graded: false is_fully_graded: false calculated_grade: 0 passed: false created_at: 1551899725760 updated_at: 1551899725919 completed_at: null completion_percentage: 0 tags: [] status: not_started is_completed: false is_completed_on_time: null passing_grade_required: null is_overdue: null num_days_overdue: null date_first_accessed: null date_last_accessed: null assigner_id: null guide_assignments: - id: d20a8ddc-02ad-11e9-af0d-0260b0cd3c00 user_id: 27483 title: Guide 1 Title course_id: c52ca028-02ad-11e9-8d2f-0260b0cd3c00 training_series_user_assignment_id: null training_series_user_assignment_ids: [] assigner_id: null due_date: 1545955200000 num_viewed_tasks: 3 num_completed_tasks: 3 num_completed_test_questions: 5 num_graded_test_questions: 4 num_correct_test_questions: 3 score: 75 is_archived: null is_completed: false completion_percentage: 100 created_at: 1545128118800 updated_at: 1545328427200 completed_at: 1545328427200 tags: [] status: completed is_completed_on_time: null passed: true passing_grade_required: null is_overdue: null num_days_overdue: null is_retaken: false retake_count: 0 time_spent: null first_accessed_at: null last_accessed_at: null - id: d07457d2-bc99-11e8-bb1c-06cfa4e7b2f4 user_id: 27483 title: Guide 2 Title course_id: 72647668-bc99-11e8-a7f4-06cfa4e7b2f4 training_series_user_assignment_id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 training_series_user_assignment_ids: [] assigner_id: null due_date: 1538784000000 num_viewed_tasks: 1 num_completed_tasks: 0 num_completed_test_questions: 0 num_graded_test_questions: 0 num_correct_test_questions: 0 score: null is_archived: null is_completed: false completion_percentage: 0 created_at: 1537422944809 updated_at: 1537422969899 completed_at: null tags: [] status: in_progress is_completed_on_time: null passed: false passing_grade_required: null is_overdue: null num_days_overdue: null is_retaken: false retake_count: 0 time_spent: null first_accessed_at: null last_accessed_at: null path_assignments: - id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 user_id: 27483 title: Path 1 Title training_series_id: 7d30e004-bc99-11e8-86d3-0260b0cd3c00 assigner_id: 27484 overall_grade: null is_completed: false due_date: 1538784000000 created_at: 1537422944784 updated_at: 1537422944784 created_through: null num_modules: 4 modules_completed: 2 completion_percentage: 50 completed_at: null tags: [] time_spent: 32 status: in_progress is_completed_on_time: null passed: false passing_grade_required: null is_overdue: null num_days_overdue: null first_accessed_at: null last_accessed_at: null scorm_assignments: - assigner_user_id: null completion_percentage: 100 due_at: 1551899725760 due_date: 1551899725760 id: 019659d6-4c16-7707-bc7e-966a6cfa3a0b is_completed: true score: 100 tags: - Ad Solutions - Trending Takeover - Reddit Takeover - Front Page Takeover - Category Takeover - Takeovers top_level_content_id: 019659d6-6758-7f30-af63-9446f9011d1e training_series_user_assignment_ids: - 01965e3b-1627-7bfc-a1d3-01d28d78e873 - 01965e3b-409f-7cad-b2fa-8889cffd799d webhook_payloads: summary: webhook_payloads value: challengeAssignments: [] guideAssignments: [] pathAssignments: [] scormAssignments: [] legacy_mode: summary: legacy_mode value: courseAssignments: - id: d20a8ddc-02ad-11e9-af0d-0260b0cd3c00 userId: 27483 title: Guide 1 Title courseId: c52ca028-02ad-11e9-8d2f-0260b0cd3c00 trainingSeriesUserAssignmentId: null dueDate: 1545955200000 numViewedTasks: 3 numCompletedTasks: 3 numCompletedTestQuestions: 5 numGradedTestQuestions: 4 numCorrectTestQuestions: 3 score: 75 isArchived: null isCompleted: false createdAt: 1545128118800 updatedAt: 1545328427200 completedAt: 1545328427200 completionPercentage: 100 - id: d07457d2-bc99-11e8-bb1c-06cfa4e7b2f4 userId: 27483 title: Guide 2 Title courseId: 72647668-bc99-11e8-a7f4-06cfa4e7b2f4 trainingSeriesUserAssignmentId: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 dueDate: 1538784000000 numViewedTasks: 1 numCompletedTasks: 0 numCompletedTestQuestions: 0 numGradedTestQuestions: 0 numCorrectTestQuestions: 0 score: null isArchived: null isCompleted: false createdAt: 1537422944809 updatedAt: 1537422969899 completedAt: null completionPercentage: 0 trainingSeriesAssignments: - id: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 userId: 27483 title: Path 1 Title trainingSeriesId: 7d30e004-bc99-11e8-86d3-0260b0cd3c00 assignerId: 27484 overallGrade: null isCompleted: false dueDate: 1538784000000 createdAt: 1537422944784 updatedAt: 1537422944784 createdThrough: null numModules: 4 modulesCompleted: 2 completionPercentage: 50 timeSpent: 32 challengeAssignments: - id: d09f7598-bc99-11e8-bb1c-06cfa4e7b2f4 userId: 27483 title: Challenge 1 Title challengeId: 8b439e84-bc99-11e8-a7f4-06cfa4e7b2f4 trainingSeriesUserAssignmentId: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 dueDate: 1538784000000 reviewersDueDate: null isSubmitted: false isPartiallyGraded: false isFullyGraded: false calculatedGrade: 0 passed: false createdAt: 1537422945092 updatedAt: 1541702793186 completedAt: null completionPercentage: 0 - id: 32509f28-4044-11e9-823e-06cfa4e7b2f4 userId: 27483 title: Challenge 2 Title challengeId: eb6008b0-3ac6-11e9-b297-0260b0cd3c00 trainingSeriesUserAssignmentId: null dueDate: 1553126400000 reviewersDueDate: 1553817600000 isSubmitted: false isPartiallyGraded: false isFullyGraded: false calculatedGrade: 0 passed: false createdAt: 1551899725760 updatedAt: 1551899725919 completedAt: null completionPercentage: 0 scormAssignments: - id: 019659d6-4c16-7707-bc7e-966a6cfa3a0b topLevelContentId: 019659d6-6758-7f30-af63-9446f9011d1e isCompleted: true completionPercentage: 100 score: 100 dueAt: 1551899725760 dueDate: 1551899725760 tags: - Ad Solutions - Trending Takeover - Reddit Takeover - Front Page Takeover - Category Takeover - Takeovers trainingSeriesUserAssignmentIds: - 01965e3b-1627-7bfc-a1d3-01d28d78e873 - 01965e3b-409f-7cad-b2fa-8889cffd799d schema: oneOf: - title: legacy_mode type: object properties: courseAssignments: type: array items: type: object properties: id: type: string example: d20a8ddc-02ad-11e9-af0d-0260b0cd3c00 userId: type: integer example: 27483 default: 0 title: type: string example: Guide 1 Title courseId: type: string example: c52ca028-02ad-11e9-8d2f-0260b0cd3c00 trainingSeriesUserAssignmentId: {} dueDate: type: integer example: 1545955200000 default: 0 numViewedTasks: type: integer example: 3 default: 0 numCompletedTasks: type: integer example: 3 default: 0 numCompletedTestQuestions: type: integer example: 5 default: 0 numGradedTestQuestions: type: integer example: 4 default: 0 numCorrectTestQuestions: type: integer example: 3 default: 0 score: type: integer example: 75 default: 0 isArchived: {} isCompleted: type: boolean example: false default: true createdAt: type: integer example: 1545128118800 default: 0 updatedAt: type: integer example: 1545328427200 default: 0 completedAt: type: integer example: 1545328427200 default: 0 completionPercentage: type: integer example: 100 default: 0 trainingSeriesAssignments: type: array items: type: object properties: id: type: string example: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 userId: type: integer example: 27483 default: 0 title: type: string example: Path 1 Title trainingSeriesId: type: string example: 7d30e004-bc99-11e8-86d3-0260b0cd3c00 assignerId: type: integer example: 27484 default: 0 overallGrade: {} isCompleted: type: boolean example: false default: true dueDate: type: integer example: 1538784000000 default: 0 createdAt: type: integer example: 1537422944784 default: 0 updatedAt: type: integer example: 1537422944784 default: 0 createdThrough: {} numModules: type: integer example: 4 default: 0 modulesCompleted: type: integer example: 2 default: 0 completionPercentage: type: integer example: 50 default: 0 timeSpent: type: integer example: 32 default: 0 challengeAssignments: type: array items: type: object properties: id: type: string example: d09f7598-bc99-11e8-bb1c-06cfa4e7b2f4 userId: type: integer example: 27483 default: 0 title: type: string example: Challenge 1 Title challengeId: type: string example: 8b439e84-bc99-11e8-a7f4-06cfa4e7b2f4 trainingSeriesUserAssignmentId: type: string example: d07067f8-bc99-11e8-bb1c-06cfa4e7b2f4 dueDate: type: integer example: 1538784000000 default: 0 reviewersDueDate: {} isSubmitted: type: boolean example: false default: true isPartiallyGraded: type: boolean example: false default: true isFullyGraded: type: boolean example: false default: true calculatedGrade: type: integer example: 0 default: 0 passed: type: boolean example: false default: true createdAt: type: integer example: 1537422945092 default: 0 updatedAt: type: integer example: 1541702793186 default: 0 completedAt: {} completionPercentage: type: integer example: 0 default: 0 scormAssignments: type: array items: type: object properties: id: type: string example: 019659d6-4c16-7707-bc7e-966a6cfa3a0b topLevelContentId: type: string example: 019659d6-6758-7f30-af63-9446f9011d1e isCompleted: type: boolean example: true default: true completionPercentage: type: integer example: 100 default: 0 score: type: integer example: 100 default: 0 dueAt: type: integer example: 1551899725760 default: 0 dueDate: type: integer example: 1551899725760 default: 0 tags: type: array items: type: string example: Ad Solutions trainingSeriesUserAssignmentIds: type: array items: type: string example: 01965e3b-1627-7bfc-a1d3-01d28d78e873 - title: webhook_payloads type: object properties: challengeAssignments: type: array guideAssignments: type: array pathAssignments: type: array scormAssignments: type: array - type: object properties: page: type: number default: '1' per_page: type: number default: '20' has_more: type: boolean default: 'false' item_count: type: number url: type: string data: type: object properties: challenge_assignments: type: array items: properties: {} type: object guide_assignments: type: array items: properties: {} type: object path_assignments: type: array items: properties: {} type: object scorm_assignments: type: array items: properties: {} type: object required: - page title: default '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/users/1/assignments \ -H "Authorization: Bearer ACCESS_TOKEN" -H "Content-type: application/json" \' samples-languages: - curl /api/v1/users/attributes: get: summary: Get All Users (Including Attributes) description: 'This returns a list of all users, including built-in and custom attributes. See also: Get All Users' operationId: get-all-users-attributes parameters: - name: includeDeleted in: query description: Default behavior is to return custom attributes for users where isDeleted is "false". You can set this parameter to "true" to return custom attributes for users where isDeleted is either "true" or "false". schema: type: boolean default: false - in: query name: legacy_mode schema: type: boolean default: 'true' description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. - in: query name: page schema: type: integer format: int32 default: '1' description: 'Page of results to return ' - in: query name: per_page schema: type: integer format: int32 default: '20' description: Number of results to return per page (1-200) responses: '200': description: OK content: application/json: schema: type: object properties: page: type: number default: '1' per_page: type: number default: '20' has_more: type: boolean default: 'false' item_count: type: number url: type: string data: type: object properties: users: type: array items: properties: id: type: number name: type: string email: type: string is_admin: type: boolean is_deleted: type: boolean is_permanently_deleted: type: boolean created_at: type: number updated_at: type: number custom_attributes: type: object properties: id: type: number api_name: type: string value: type: string type: object required: - page examples: OK: summary: OK value: "{\n \"page\": 1,\n \"per_page\": 20,\n \"has_more\": false,\n \"item_count\"\ : 3,\n \"url\": \"/api/v1/users/attributes\",\n \"data\": {\n \"users\": [\n\ \ {\n \"id\": 1925,\n \"name\": \"John Doe\",\n \"email\"\ : \"johndoe@workramp.com\",\n \"is_admin\": false,\n \"is_deleted\"\ : false,\n \"is_permanently_deleted\": false,\n \"created_at\": 1466832522352,\n\ \ \"updated_at\": 1469950882089,\n \"custom_attributes\": [\n \ \ {\n \"id\": 13,\n \"api_name\": \"custom_attribute\",\n\ \ \"value\": \"Custom Attribute Value\"\n },\n {\n \ \ \"id\": 15,\n \"api_name\": \"custom_attribute\",\n \ \ \"value\": \"Custom Attribute Value\"\n }\n ]\n },\n \ \ {\n \"id\": 1954,\n \"name\": \"Beth Samuels\",\n \"email\"\ : \"bethsamuels@workramp.com\",\n \"is_admin\": true,\n \"is_deleted\"\ : false,\n \"is_permanently_deleted\": false,\n \"created_at\": 1467515797325,\n\ \ \"updated_at\": 1467515860387,\n \"custom_attributes\": [\n \ \ {\n \"id\": 13,\n \"api_name\": \"custom_attribute\",\n\ \ \"value\": \"Custom Attribute Value\"\n }\n ]\n \ \ },\n {\n \"id\": 1955,\n \"name\": \"Julie Thomas\",\n \ \ \"email\": \"juliethomas@workramp.com\",\n \"is_admin\": false,\n \ \ \"is_deleted\": false,\n \"is_permanently_deleted\": false,\n \"\ created_at\": 1467515822265,\n \"updated_at\": 14" OK - legacy_mode: summary: OK - legacy_mode value: - id: 1925 name: John Doe email: johndoe@workramp.com isAdmin: false isDeleted: false isPermanentlyDeleted: false createdAt: 1466832522351.831 updatedAt: 1469950882088.9028 customAttributes: - id: 13 apiName: custom_attribute value: Custom Attribute Value - id: 15 apiName: custom_attribute value: Custom Attribute Value - id: 1954 name: Beth Samuels email: bethsamuels@workramp.com isAdmin: true isDeleted: false isPermanentlyDeleted: false createdAt: 1467515797325.3892 updatedAt: 1467515860387.0022 customAttributes: - id: 13 apiName: custom_attribute value: Custom Attribute Value - id: 1955 name: Julie Thomas email: juliethomas@workramp.com isAdmin: false isDeleted: false isPermanentlyDeleted: false createdAt: 1467515822265.4888 updatedAt: 1467515932613.6372 directReports: [] certifications: [] customAttributes: [] '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/attributes/user/:user_id: get: summary: List a User's Custom Attributes description: List a user's custom attributes operationId: list-custom-user-attributes responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \t\"Location\": \"Building 1\",\n \"Indirect manager\": \"Michael M.\"\ \n}" schema: type: object properties: Location: type: string example: Building 1 Indirect manager: type: string example: Michael M. deprecated: false /api/v1/guides: get: summary: Get All Guides description: '' operationId: get-all-guides responses: '200': description: '200' content: application/json: schema: type: object properties: page: type: number default: '1' per_page: type: number default: '20' has_more: type: boolean default: 'false' item_count: type: number url: type: string data: type: object properties: guides: type: array items: properties: id: type: string title: type: string num_total_tasks: type: number num_total_test_questions: type: number created_at: type: number updated_at: type: number tags: type: array items: type: string type: object required: - page examples: OK: summary: OK value: page: 1 per_page: 20 has_more: false item_count: 5 url: /api/v1/guides data: guides: - id: 5525a100-50a1-11e6-b0f4-06871305d8f3 title: Sales Onboarding num_total_tasks: 20 num_total_test_questions: 45 created_at: 1469256453510 updated_at: 1469422217610 tags: - Sales - Onboarding - id: 1311829e-3a33-11e6-b978-06d818d6b395 title: CSM Onboarding num_total_tasks: 15 num_total_test_questions: 20 created_at: 1466831403590 updated_at: 1469949861174 tags: - Onboarding - id: 1309d2f0-3a94-11e6-ba78-06d818a6b395 title: Challenger Training Prework num_total_tasks: 8 num_total_test_questions: 20 created_at: 1466831833036 updated_at: 1466832487093 tags: [] - id: 53fd4646-3c17-a1e6-9484-0ad818a6b395 title: API Overview num_total_tasks: 7 num_total_test_questions: 5 created_at: 1466998157240 updated_at: 1466998157240 tags: [] - id: 6b3a41da-56f5-a1e6-ae63-06d818a6b395 title: New Product Releases num_total_tasks: 8 num_total_test_questions: 15 created_at: 1469952274733 updated_at: 1469952509535 tags: - Releases OK - legacy_mode: summary: OK - legacy_mode value: - id: 5525a100-50a1-11e6-b0f4-06871305d8f3 title: Sales Onboarding numTotalTasks: 20 numTotalTestQuestions: 45 createdAt: 1469256453510.3901 updatedAt: 1469422217609.812 tags: - Sales - Onboarding - id: 1311829e-3a33-11e6-b978-06d818d6b395 title: CSM Onboarding numTotalTasks: 15 numTotalTestQuestions: 20 createdAt: 1466831403589.577 updatedAt: 1469949861173.6838 tags: - Onboarding - id: 1309d2f0-3a94-11e6-ba78-06d818a6b395 title: Challenger Training Prework numTotalTasks: 8 numTotalTestQuestions: 20 createdAt: 1466831833035.932 updatedAt: 1466832487092.9001 tags: [] - id: 53fd4646-3c17-a1e6-9484-0ad818a6b395 title: API Overview numTotalTasks: 7 numTotalTestQuestions: 5 createdAt: 1466998157239.662 updatedAt: 1466998157239.662 tags: [] - id: 6b3a41da-56f5-a1e6-ae63-06d818a6b395 title: New Product Releases numTotalTasks: 8 numTotalTestQuestions: 15 createdAt: 1469952274733.3948 updatedAt: 1469952509534.7478 tags: - Releases deprecated: false parameters: - in: query name: legacy_mode schema: type: boolean default: 'true' description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. - in: query name: page schema: type: integer default: '1' format: int32 description: 'Page of results to return ' - in: query name: per_page schema: type: integer default: '20' format: int32 description: Number of results to return per page (1-200) /api/v1/guides/{GuideID}/assignments: get: summary: Get All Assignments for a Guide description: Get all assignment for a specified guide operationId: get-all-assignments-for-a-guide parameters: - name: user_id in: query description: 'Optional parameter: only assignments for this user id will be returned in the response' schema: type: integer format: int32 - name: GuideID in: path description: ID of the guide to get assignments for schema: type: string required: true - in: query name: legacy_mode schema: type: boolean default: 'true' description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. - in: query name: page schema: type: integer format: int32 default: '1' description: Page of results to return - in: query name: per_page schema: type: integer format: int32 default: '20' description: Number of results to return per page (1-200) responses: '200': description: OK content: application/json: examples: OK: summary: OK value: "{\"page\" => 1,\n \"per_page\" => 20,\n \"has_more\" => false,\n \"item_count\"\ \ => 2,\n \"url\" => \"/api/v1/guides/019adb1d-ad5f-729e-8411-6c784bf94ddf/assignments\"\ ,\n \"data\" =>\n {\"assignments\" =>\n [{\"id\" => \"019adb1d-aede-7747-a5dc-ad0de8f8a734\"\ ,\n \"user_id\" => 73,\n \"title\" => \"Biomedical Science\",\n \"\ course_id\" => \"019adb1d-ad5f-729e-8411-6c784bf94ddf\",\n \"training_series_user_assignment_id\"\ \ => nil,\n \"training_series_user_assignment_ids\" =>\n [\"019adb1d-aeb5-7364-89a2-368611243b5d\"\ ,\n \"019adb1d-aec0-7add-ae2f-216ee4dfa677\"],\n \"assigner_id\" => 70,\n\ \ \"due_date\" => nil,\n \"num_viewed_tasks\" => 1,\n \"num_completed_tasks\"\ \ => 0,\n \"num_completed_test_questions\" => nil,\n \"num_graded_test_questions\"\ \ => 0,\n \"num_correct_test_questions\" => 0,\n \"score\" => nil,\n \ \ \"is_archived\" => false,\n \"is_completed\" => false,\n \"completion_percentage\"\ \ => 0,\n \"created_at\" => 1764612746974,\n \"updated_at\" => 1764612746974,\n\ \ \"completed_at\" => nil,\n \"tags\" => [nil, nil],\n \"status\" =>\ \ \"not_started\",\n \"is_completed_on_time\" => nil,\n \"passed\" => false,\n\ \ \"passing_grade_required\" => nil,\n \"is_overdue\" => false,\n \"\ num_days_overdue\" => nil,\n \"is_retaken\" => false,\n \"retake_count\"\ \ => 0,\n \"time_spent\" => nil,\n \"first_accessed_at\" => nil,\n \ \ \"last_accessed_at\" => nil,\n \"paths\" =>\n [{\"id\" => \"019adb1d-ae17-726c-95cb-4e121b08c643\"\ ,\n \"name\" => \"Dave O'Connell DDS\"},\n {\"id\" => \"019adb1d-ae52-7e1a-8c08-5eab7adbf473\"\ ,\n \"name\" => \"Alysa Ferry\"}]},\n {\"id\" => \"019adb1d-aee5-780c-8680-4b2d27c6c54c\"\ ,\n \"user_id\" => 70,\n \"title\" => \"Biomedical Science\",\n \"\ course_id\" => \"019adb1d-ad5f-729e-8411-6c784bf94ddf\",\n \"training_series_user_assignment_id\"\ \ => nil,\n \"training_series_user_assignment_ids\" =>\n [\"019adb1d-aeba-7b09-8394-565b1ce02751\"\ ,\n \"019adb1d-aec5-7e30-9ba2-58e669924f30\"],\n \"assigner_id\" => 70,\n\ \ \"due_date\" => nil,\n \"num_viewed_tasks\" => 1,\n \"num_completed_tasks\"\ \ => 0,\n \"num_completed_test_questions\" => nil,\n \"num_graded_test_questions\"\ \ => 0,\n \"num_correct_test_questions\" => 0,\n \"score\" => nil,\n \ \ \"is_archived\" => false,\n \"is_completed\" => false,\n \"completion_percentage\"\ \ => 0,\n \"created_at\" => 1764612746981,\n \"updated_at\" => 1764612746981,\n\ \ \"completed_at\" => nil,\n \"tags\" => [nil, nil],\n \"status\" =>\ \ \"not_started\",\n \"is_completed_on_time\" => nil,\n \"passed\" => false,\n\ \ \"passing_grade_required\" => nil,\n \"is_overdue\" => false,\n \"\ num_days_overdue\" => nil,\n \"is_retaken\" => false,\n \"retake_count\"\ \ => 0,\n \"time_spent\" => nil,\n \"first_accessed_at\" => nil,\n \ \ \"last_accessed_at\" => nil,\n \"paths\" =>\n [{\"id\" => \"019adb1d-ae17-726c-95cb-4e121b08c643\"\ ,\n \"name\" => \"Dave O'Connell DDS\"},\n {\"id\" => \"019adb1d-ae52-7e1a-8c08-5eab7adbf473\"\ ,\n \"name\" => \"Alysa Ferry\"}]}]}}" OK - legacy_mode: summary: OK - legacy_mode value: "[\n {\n \"id\": \"8f44e9fa-56ef-11e6-8622-06871305d8f3\",\n \ \ \"userId\": 1955,\n \"title\": \"Guide 1 Title\",\n \"courseId\"\ : \"e585fd3e-509d-11e6-9bd0-06d818a6b395\",\n \"dueDate\": 1469689200000,\n\ \ \"numViewedTasks\": 1,\n \"numCompletedTasks\": 0,\n \"numCompletedTestQuestions\"\ : 0,\n \"numGradedTestQuestions\": 0,\n \"numCorrectTestQuestions\"\ : 0,\n \"score\": null,\n \"isArchived\": null,\n \"isCompleted\"\ : false,\n \"createdAt\": 1469949758220,\n \"updatedAt\": 1471145372226,\n\ \ \"completedAt\": null,\n \t\"completionPercentage\": 0,\n \"\ timeSpent\": 0,\n \"tags\": [\n \t\"Guide 1\"\n ],\n \"\ paths\": [\n {\n \"id\": \"8f44e9fa-56ef-11e6-a622-06871305d8f3\"\ ,\n \"title\": \"Path 1 Title\"\n },\n {\n \ \ \"id\": \"8f4as9fa-56ef-d1e6-a122-068713addd8f3\",\n \"title\": \"Path\ \ 2 Title\"\n },\n ]\n },\n {\n \"id\": \"348bbdd8-509e-11e6-b0f4-06871305d8f3\"\ ,\n \"userId\": 1918,\n \"title\": \"Guide 1 Title\",\n \"courseId\"\ : \"e585fd3e-509d-11e6-9bd0-06d818a6b395\",\n \"dueDate\": 1469775600000,\n\ \ \"numViewedTasks\": 7,\n \"numCompletedTasks\": 2,\n \"numCompletedTestQuestions\"\ : 1,\n \"numGradedTestQuestions\": 1,\n \"numCorrectTestQuestions\"\ : 1,\n \"score\": 100.0,\n \"isArchived\": null,\n \"isCompleted\"\ : false,\n \"createdAt\": 1469255109800,\n \"updatedAt\": 1491615188754,\n\ \ \"completedAt\": null,\n \t\"completionPercentage\": 28,\n \"\ timeSpent\": 0,\n \t\"tags\": [\n \t\"Guide 1\"\n ],\n \"\ paths\": []\n },\n {\n \"id\": \"2b1b2c8e-509e-11e6-9bd0-06d818a6b395\"\ ,\n \"userId\": 1923,\n \"title\": \"Guide 1 Title\",\n \"courseId\"\ : \"e585fd3e-509d-11e6-9bd0-06d818a6b395\",\n \"dueDate\": 1469775600000,\n\ \ \"numViewedTasks\": 0,\n \"numCompletedTasks\": 0,\n \"numCompletedTestQuestions\"\ : 0,\n \"numGradedTestQuestions\": 0,\n \"numCorrectTestQuestions\"\ : 0,\n \"score\": null,\n \"isArchived\": null,\n \"isCompleted\"\ : true,\n \"createdAt\": 1469255093963,\n \"updatedAt\": 1471145372967,\n\ \ \"completedAt\": 1544579460840,\n \t\"completionPercentage\": 100,\n\ \ \"timeSpent\": 100,\n \t\"tags\": [\n \t\"Guide 1\"\n \ \ ],\n \"paths\": []\n }\n]" schema: type: object properties: page: type: string per_page: type: string has_more: type: string item_count: type: string url: type: string data: type: object properties: assignments: type: array items: properties: {} type: object required: - page deprecated: false /api/v1/guide_assignments/{GuideAssignmentID}: delete: summary: Delete Assignment description: Update an assignment for a user operationId: delete-assignment parameters: - name: GuideAssignmentID in: path description: ID of the assignment to delete schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: 'true ' schema: type: boolean example: true default: true deprecated: false /api/v1/{UserID}/guide_assignments: get: summary: Get Assignments for User description: Gets assignments for a specific user. operationId: get-assignments-for-user parameters: - name: UserID in: path description: ID of the user to fetch assignments for schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "[\n { \n \"userId\":\"assignment.user_id\",\n \"courseId\":\"assignment.course_id\"\ ,\n \"dueDate\":\"assignment.due_date\",\n \"numViewedTasks\":\"assignment.num_viewed_tasks\"\ ,\n \"numCompletedTasks\":\"assignment.num_completed_tasks\",\n \"numCompletedTestQuestions\"\ :\"assignment.num_completed_test_questions\",\n \"isCompleted\":\"assignment.is_completed\"\ ,\n \"isArchived\":\"assignment.is_archived\"\n\t}, \n\t{ \n \"userId\"\ :\"assignment.user_id\",\n \"courseId\":\"assignment.course_id\",\n \"dueDate\"\ :\"assignment.due_date\",\n \"numViewedTasks\":\"assignment.num_viewed_tasks\"\ ,\n \"numCompletedTasks\":\"assignment.num_completed_tasks\",\n \"numCompletedTestQuestions\"\ :\"assignment.num_completed_test_questions\",\n \"isCompleted\":\"assignment.is_completed\"\ ,\n \"isArchived\":\"assignment.is_archived\"\n\t},\n ...\n]" deprecated: false /api/v1/logs/guide_assignments?startTime={startTime}&endTime={endTime}: get: summary: Get All Guide Assignment Changes description: '' operationId: get-all-guide-assignment-changes parameters: - name: startTime in: query description: Any path events occurring after this time will be returned (in unixtime in milliseconds) required: true schema: type: integer format: int64 - name: endTime in: query description: Any path events occurring before this time will be returned (in unixtime in milliseconds) required: true schema: type: integer format: int64 - name: limit in: query description: Max value of 10,000 schema: type: integer format: int32 default: 1000 - name: offset in: query schema: type: integer format: int32 default: 0 - name: createdThrough in: query description: A tag that can be used to filter which changes are returned in the response. This tag should match what was passed in when creating the path/guide assignment originally. schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \t\"guideId\": \"6192892b-11e9-4ad8-bd04-8bdc7df9726b\",\n \ \ \t\"id\": \"b03a11c5-507a-4c95-8e56-24088d4c0023\",\n \"occurredAt\"\ : 1557462936300,\n \t\"status\": \"assigned\",\n \"trainingSeriesId\"\ : \"eeb14848-a13e-4ca2-b902-6c0a7d0bb570\",\n \"guideName\": \"test guide 1\"\ ,\n \"userId\": 100,\n \t\"userEmail\": \"user1@workramp.com\"\n },\n\ \ \t{\n \t\"guideId\": \"dcd63edd-9b02-44cf-8c93-c266bc172064\",\n \t\"\ id\": \"f6c981f9-65f4-48ba-bb0c-0a96138b85bd\",\n \"occurredAt\": 1557462936300,\n\ \ \t\"status\": \"completed\",\n \"trainingSeriesId\": \"eeb14848-a13e-4ca2-b902-6c0a7d0bb570\"\ ,\n \"guideName\": \"test guide 2\",\n \"userId\": 100,\n \t\"\ userEmail\": \"user1@workramp.com\"\n },\n \t{\n \t\"guideId\": \"6192892b-11e9-4ad8-bd04-8bdc7df9726b\"\ ,\n \t\"id\": \"d834db1f-a3d6-46cf-ab63-724d1055b350\",\n \"occurredAt\"\ : 1557462936300,\n \t\"status\": \"deleted\",\n \"trainingSeriesId\":\ \ \"eeb14848-a13e-4ca2-b902-6c0a7d0bb570\",\n \"guideName\": \"test guide 1\"\ ,\n \"userId\": 105,\n \t\"userEmail\": \"user2@workramp.com\"\n }\n\ ]" schema: type: array items: type: object properties: guideId: type: string example: 6192892b-11e9-4ad8-bd04-8bdc7df9726b id: type: string example: b03a11c5-507a-4c95-8e56-24088d4c0023 occurredAt: type: integer example: 1557462936300 default: 0 status: type: string example: assigned trainingSeriesId: type: string example: eeb14848-a13e-4ca2-b902-6c0a7d0bb570 guideName: type: string example: test guide 1 userId: type: integer example: 100 default: 0 userEmail: type: string example: user1@workramp.com deprecated: false /api/v1/logs/guides: get: summary: Get All Unique Guide Assignment Changes description: '' operationId: get-all-unique-guide-assignment-changes parameters: - name: startTime in: query description: Any path events occurring after this time will be returned (in unixtime in milliseconds) required: true schema: type: integer format: int64 - name: endTime in: query description: Any path events occurring before this time will be returned (in unixtime in milliseconds) required: true schema: type: integer format: int64 - name: limit in: query description: Max value of 10,000 schema: type: integer format: int32 default: 1000 - name: offset in: query schema: type: integer format: int32 default: 0 - name: createdThrough in: query description: A tag that can be used to filter which changes are returned in the response. This tag should match what was passed in when creating the path/guide assignment originally. schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \t\"guideId\": \"6192892b-11e9-4ad8-bd04-8bdc7df9726b\",\n \ \ \t\"id\": \"b03a11c5-507a-4c95-8e56-24088d4c0023\",\n \"occurredAt\"\ : 1557462936300,\n \t\"status\": \"assigned\",\n \"trainingSeriesId\"\ : \"eeb14848-a13e-4ca2-b902-6c0a7d0bb570\",\n \"guideName\": \"test guide 1\"\ ,\n \"userId\": 100,\n \t\"userEmail\": \"user1@workramp.com\"\n },\n\ \ \t{\n \t\"guideId\": \"dcd63edd-9b02-44cf-8c93-c266bc172064\",\n \t\"\ id\": \"f6c981f9-65f4-48ba-bb0c-0a96138b85bd\",\n \"occurredAt\": 1557462936300,\n\ \ \t\"status\": \"completed\",\n \"trainingSeriesId\": \"eeb14848-a13e-4ca2-b902-6c0a7d0bb570\"\ ,\n \"guideName\": \"test guide 2\",\n \"userId\": 100,\n \t\"\ userEmail\": \"user1@workramp.com\"\n },\n \t{\n \t\"guideId\": \"6192892b-11e9-4ad8-bd04-8bdc7df9726b\"\ ,\n \t\"id\": \"d834db1f-a3d6-46cf-ab63-724d1055b350\",\n \"occurredAt\"\ : 1557462936300,\n \t\"status\": \"deleted\",\n \"trainingSeriesId\":\ \ \"eeb14848-a13e-4ca2-b902-6c0a7d0bb570\",\n \"guideName\": \"test guide 1\"\ ,\n \"userId\": 105,\n \t\"userEmail\": \"user2@workramp.com\"\n }\n\ ]" schema: type: array items: type: object properties: guideId: type: string example: 6192892b-11e9-4ad8-bd04-8bdc7df9726b id: type: string example: b03a11c5-507a-4c95-8e56-24088d4c0023 occurredAt: type: integer example: 1557462936300 default: 0 status: type: string example: assigned trainingSeriesId: type: string example: eeb14848-a13e-4ca2-b902-6c0a7d0bb570 guideName: type: string example: test guide 1 userId: type: integer example: 100 default: 0 userEmail: type: string example: user1@workramp.com deprecated: false /api/v1/paths: get: summary: Get All Paths description: '' operationId: get-all-paths parameters: - name: Authorization in: header schema: type: string - in: query name: legacy_mode schema: type: boolean default: 'true' description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. - in: query name: page schema: type: integer format: int32 default: '1' description: Page of results to return - in: query name: per_page schema: type: integer format: int32 default: '20' description: Number of results to return per page (1-200) responses: '200': description: '200' content: application/json: schema: type: object properties: page: type: number default: '1' per_page: type: number default: '20' has_more: type: boolean default: 'false' item_count: type: number url: type: string data: type: object properties: paths: type: array items: properties: id: type: string name: type: string description: type: string sequential_unlock: type: boolean passing_score_required_for_unlock: type: number created_at: type: number updated_at: type: number card_banner: type: string time_estimate_seconds: type: number num_guides: type: number num_resources: type: number num_challenges: type: number tags: type: array items: type: string type: object examples: OK: summary: OK value: page: 1 per_page: 20 has_more: false item_count: 3 url: /api/v1/paths data: paths: - id: 23af7b44-e671-11e7-bcac-02ae264840ac name: My First Path description: This is a path for onboarding sequential_unlock: false passing_score_required_for_unlock: false created_at: 1513875926143 updated_at: 1513875940034 card_banner: https://bulletinboardfiles-dev.s3-us-west-1.amazonaws.com/uploads/bb/models/training_series/card_banner/678a1042-b4a3-11e9-a065-3af9d3af309e/test-image-1080p.jpg?X-Amz-Expires=86400&X-Amz-Date=20190813T184459Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID/20190813/us-west-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=cfa268e5e8a8ff1fe57ea57c921b497d7933041b7c02c247540a2e982ba6cc89 time_estimate_seconds: 18000 num_guides: 3 num_resources: 1 num_challenges: 1 tags: - Onboarding - id: 72713b46-f738-11e7-a950-06a818a6b395 name: My Second Path description: This is a path that I'm testing out sequential_unlock: false passing_score_required_for_unlock: false created_at: 1515720753544 updated_at: 1515720775278 card_banner: https://bulletinboardfiles-dev.s3-us-west-1.amazonaws.com/uploads/bb/models/training_series/card_banner/678a1042-b4a3-11e9-a065-3af9d3af309e/test-image-1080p.jpg?X-Amz-Expires=86400&X-Amz-Date=20190813T184459Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID/20190813/us-west-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=cfa268e5e8a8ff1fe57ea57c921b497d7933041b7c02c247540a2e982ba6cc89 time_estimate_seconds: 12000 num_guides: 3 num_resources: 3 num_challenges: 4 tags: - Testing - id: 2c343060-f739-11e7-9e82-02ae164840ac name: My Third Path description: This is a new path sequential_unlock: false passing_score_required_for_unlock: false created_at: 1515721056812 updated_at: 1515721056812 card_banner: https://bulletinboardfiles-dev.s3-us-west-1.amazonaws.com/uploads/bb/models/training_series/card_banner/678a1042-b4a3-11e9-a065-3af9d3af309e/test-image-1080p.jpg?X-Amz-Expires=86400&X-Amz-Date=20190813T184459Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID/20190813/us-west-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=cfa268e5e8a8ff1fe57ea57c921b497d7933041b7c02c247540a2e982ba6cc89 time_estimate_seconds: 6000 num_guides: 3 num_resources: 2 num_challenges: 6 tags: [] OK - legacy_mode: summary: OK - legacy_mode value: "[\n\n {\n\n \"id\": \"23af7b44-e671-11e7-bcac-02ae264840ac\",\n\n \"\ name\": \"My First Path\",\n\n \"description\": \"This is a path for onboarding\"\ ,\n\n \"sequentialUnlock\": false,\n\n \"passingScoreRequiredForUnlock\": false,\n\ \n \"createdAt\": 1513875926143,\n\n \"updatedAt\": 1513875940034,\n\n \"\ cardBanner\": \"https://bulletinboardfiles-dev.s3-us-west-1.amazonaws.com/uploads/bb/models/training_series/card_banner/678a1042-b4a3-11e9-a065-3af9d3af309e/test-image-1080p.jpg?X-Amz-Expires=86400&X-Amz-Date=20190813T184459Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID/20190813/us-west-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=cfa268e5e8a8ff1fe57ea57c921b497d7933041b7c02c247540a2e982ba6cc89\"\ ,\n\n \"timeEstimateSeconds\": 18000,\n\n \"numGuides\": 3,\n\n \"numResources\"\ : 1,\n\n \"numChallenges\": 1,\n\n \"tags\": [\n\n \"Onboarding\"\n\n \ \ ]\n\n },\n\n {\n\n \"id\": \"72713b46-f738-11e7-a950-06a818a6b395\",\n\n\ \ \"name\": \"My Second Path\",\n\n \"description\": \"This is a path that I'm\ \ testing out\",\n\n \"sequentialUnlock\": false,\n\n \"passingScoreRequiredForUnlock\"\ : false,\n\n \"createdAt\": 1515720753544,\n\n \"updatedAt\": 1515720775278,\n\ \n \"cardBanner\": \"https://bulletinboardfiles-dev.s3-us-west-1.amazonaws.com/uploads/bb/models/training_series/card_banner/678a1042-b4a3-11e9-a065-3af9d3af309e/test-image-1080p.jpg?X-Amz-Expires=86400&X-Amz-Date=20190813T184459Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID/20190813/us-west-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=cfa268e5e8a8ff1fe57ea57c921b497d7933041b7c02c247540a2e982ba6cc89\"\ ,\n\n \"timeEstimateSeconds\": 12000,\n\n \"numGuides\": 3,\n\n \"numResources\"\ : 3,\n\n \"numChallenges\": 4,\n\n \"tags\": [\n\n \"Testing\"\n\n ]\n\ \n },\n\n {\n\n \"id\": \"2c343060-f739-11e7-9e82-02ae164840ac\",\n\n \"name\"\ : \"My Third Path\",\n\n \"description\": \"This is a new path\",\n\n \"sequentialUnlock\"\ : false,\n\n \"passingScoreRequiredForUnlock\": false,\n\n \"createdAt\": 1515721056812,\n\ \n \"updatedAt\": 1515721056812,\n\n \"cardBanner\": \"https://bulletinboardfiles-dev.s3-us-west-1.amazonaws.com/uploads/bb/models/training_series/card_banner/678a1042-b4a3-11e9-a065-3af9d3af309e/test-image-1080p.jpg?X-Amz-Expires=86400&X-Amz-Date=20190813T184459Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=REDACTED_AWS_ACCESS_KEY_ID/20190813/us-west-1/s3/aws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=cfa268e5e8a8ff1fe57ea57c921b497d7933041b7c02c247540a2e982ba6cc89\"\ ,\n\n \"timeEstimateSeconds\": 6000,\n\n \"numGuides\": 3,\n\n \"numResources\"\ : 2,\n\n \"numChallenges\": 6,\n\n \"tags\": []\n\n }\n\n]\n\nto be in this\ \ format:\n\n{\"page\" => 1,\n\n \"per_page\" => 20,\n\n \"has_more\" => false,\n\n\ \ \"item_count\" => 1,\n\n \"url\" => \"/api/v1/paths\",\n\n \"data\" =>\n\n {\"\ paths\" =>\n\n [{\"id\" => \"019adb25-bbbe-75e5-99b8-6ecb84fa1821\",\n\n \"\ name\" => \"empty path\",\n\n \"description\" => nil,\n\n \"sequential_unlock\"\ \ => nil,\n\n \"passing_score_required_for_unlock\" => nil,\n\n \"created_at\"\ \ => 1764613274558,\n\n \"updated_at\" => 1764613274639,\n\n \"card_banner\"\ \ => nil,\n\n \"time_estimate_seconds\" => nil,\n\n \"num_guides\" => 0,\n\ \n \"num_resources\" => 0,\n\n \"num_challenges\" => 0,\n\n \"tags\"\ \ => []}]}}" deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/paths \ -H "Authorization: Bearer ACCESS_TOKEN"' samples-languages: - curl /api/v1/paths/{path_id}/assignments: get: summary: Get All Assignments for a Path description: Get all assignments for a path operationId: get-all-assignments-for-a-path parameters: - name: Authorization in: header schema: type: string - name: user_id in: query description: 'Optional parameter: only assignments for this user id will be returned in the response' schema: type: integer format: int32 - name: path_id in: path description: ID of the path schema: type: string required: true - in: query name: legacy_mode schema: type: boolean default: 'true' description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. - in: query name: page schema: type: integer format: int32 default: '1' description: Page of results to return - in: query name: per_page schema: type: integer format: int32 default: '20' description: Number of results to return per page (1-200) responses: '200': description: OK content: application/json: schema: type: object properties: page: type: number default: '1' per_page: type: number default: '20' has_more: type: boolean default: 'false' item_count: type: string url: type: string data: type: object properties: assignments: type: array items: properties: id: type: string user_id: type: string title: type: string training_series_id: type: string assigner_id: type: string overall_grade: type: number is_completed: type: boolean due_date: type: number created_at: type: number updated_at: type: number created_through: type: string num_modules: type: number modules_completed: type: number completion_percentage: type: number completed_at: type: number tags: type: array items: type: string time_spent: type: string status: type: string is_completed_on_time: type: boolean passed: type: boolean passing_grade_required: type: boolean is_overdue: type: boolean num_days_overdue: type: number first_accessed_at: type: number last_accessed_at: type: number type: object required: - page examples: OK: summary: OK value: page: 1 per_page: 2 has_more: true item_count: 2 url: /api/v1/paths/96d27096-5d63-435f-949e-5170cab307d1/assignments data: assignments: - id: 9b4cdf9b-90cb-4853-989d-42e76718f1e6 user_id: 12345 title: How to make cupcakes training_series_id: 96d27096-5d63-435f-949e-5170cab307d1 assigner_id: 1234 overall_grade: null is_completed: false due_date: 1767254400000 created_at: 1765316990000 updated_at: 1765316990000 created_through: Automatic Assignment num_modules: 1 modules_completed: 0 completion_percentage: 0 completed_at: null tags: - MyTag - AnotherTag time_spent: null status: not_started is_completed_on_time: null passed: false passing_grade_required: null is_overdue: false num_days_overdue: null first_accessed_at: null last_accessed_at: null - id: 4c429d58-6d4e-4901-8350-8314e858d1b5 user_id: 234324 title: How to make a great cup of coffee training_series_id: 96d27096-5d63-435f-949e-5170cab307d1 assigner_id: 1234 overall_grade: null is_completed: false due_date: 1767254400000 created_at: 1765316990000 updated_at: 1765316990000 created_through: Automatic Assignment num_modules: 1 modules_completed: 0 completion_percentage: 0 completed_at: null tags: - MyTag - AnotherTag time_spent: null status: not_started is_completed_on_time: null passed: false passing_grade_required: null is_overdue: false num_days_overdue: null first_accessed_at: null last_accessed_at: null OK - legacy_mode: summary: OK - legacy_mode value: - id: 782a8f52-b069-11e8-8d40-06cfa4e7b2f4 userId: 2614323 trainingSeriesId: 2be286b4-ad4f-11e8-c7e9-065821035730 assignerId: 1156812 dueDate: 1536278400000 isCompleted: false createdAt: 1536082766785 updatedAt: 1536082766785 createdThrough: null numModules: 4 modulesCompleted: 2 completionPercentage: 50 timeSpent: 43 tags: - Path Tag - id: 37eb5c4e-b081-11e8-8600-0260b0cd3c00 userId: 1156832 trainingSeriesId: 2be286b4-ad4f-11e8-c7e9-065821035730 assignerId: 1156812 dueDate: 1536278400000 isCompleted: true createdAt: 1536092966709 updatedAt: 1536092966709 createdThrough: null numModules: 4 modulesCompleted: 2 completionPercentage: 100 timeSpent: null tags: - Path Tag deprecated: false /api/v1/path_assignments/{assignment_id}: delete: summary: Delete Path Assignment description: Delete a specific assignment operationId: delete-assignment-1 parameters: - name: assignment_id in: path description: ID of the assignment to be unassigned schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: 'true ' schema: type: boolean example: true default: true deprecated: false /api/v1/certifications: get: summary: Get All Certifications description: Fetches all badges created in /admin/badges operationId: get-all-certifications-1 parameters: - name: Authorization in: header schema: type: string - in: query name: legacy_mode schema: type: boolean default: 'true' required: false description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. - in: query name: page schema: type: integer format: int32 default: '1' description: Page of results to return - in: query name: per_page schema: type: integer format: int32 default: '20' description: Number of results to return per page (1-200) responses: '200': description: Result content: application/json: examples: ? '' : summary: '' value: '{}' ' Result': summary: ' Result' value: page: 1 per_page: 20 has_more: false item_count: 4 url: /api/v1/certifications data: certifications: - id: ecfd0b48-62d2-11e6-8ef2-06871305d8f3 title: AE Onboarding is_deleted: false created_at: 1471146922841 updated_at: 1471146943642 - id: 662b500e-3a93-11e3-b978-06d818a6b395 title: SDR Level 2 is_deleted: false created_at: 1466831543009 updated_at: 1466831544553 - id: 28a78272-50a3-11e6-b0f4-06571305d8f3 title: Challenger Sales is_deleted: false created_at: 1469257237333 updated_at: 1470530302845 - id: 01a1452e-61d3-11e6-bff9-06d818a6b395 title: CSM Champion is_deleted: false created_at: 1471146957891 updated_at: 1471146959834 Result - legacy_mode enabled: summary: Result - legacy_mode enabled value: - id: ecfd0b48-62d2-11e6-8ef2-06871305d8f3 title: AE Onboarding isDeleted: false createdAt: 1471146922840.7722 updatedAt: 1471146943641.622 - id: 662b500e-3a93-11e3-b978-06d818a6b395 title: SDR Level 2 isDeleted: false createdAt: 1466831543009.3372 updatedAt: 1466831544553.353 - id: 28a78272-50a3-11e6-b0f4-06571305d8f3 title: Challenger Sales isDeleted: false createdAt: 1469257237333.28 updatedAt: 1470530302844.82 - id: 01a1452e-61d3-11e6-bff9-06d818a6b395 title: CSM Champion isDeleted: false createdAt: 1471146957890.85 updatedAt: 1471146959834.044 schema: type: object properties: page: type: number example: ecfd0b48-62d2-11e6-8ef2-06871305d8f3 default: '1' per_page: type: number example: AE Onboarding default: '20' has_more: type: boolean example: false default: 'false' item_count: type: number example: 1471146922840.7722 default: 0 url: type: string example: 1471146943641.622 default: /api/v1/certifications data: type: object properties: certifications: type: array items: properties: id: type: string title: type: string is_deleted: type: boolean created_at: type: number updated_at: type: number type: object deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/certifications \ -H "Authorization: Bearer ACCESS_TOKEN"' samples-languages: - curl /api/v1/certifications/{certification_id}/awards: get: summary: Get Awards by Certification description: '' operationId: get-all-certifications parameters: - name: Authorization in: header schema: type: string - name: certification_id in: path description: The id of the certification schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \"id\": \"32eba0bc-3a94-11e6-a66e-06871305d8f3\",\n \"userId\"\ : 1918,\n \"courseUserAssignmentId\": \"269f9aac-3a94-11e6-aa93-06d818a6b395\"\ ,\n \"certificationId\": \"662b500e-3a93-11e6-b978-06d818a6b395\",\n \"fileUrl\"\ : \"https://www.url/to/file\",\n \"createdAt\": 1466831886524.865,\n \"updatedAt\"\ : 1466831886524.865\n },\n {\n \"id\": \"00e7a0ea-40cd-11e6-b7d4-06871305d8f3\"\ ,\n \"userId\": 1954,\n \"courseUserAssignmentId\": \"8d8965d4-40cc-11e6-9cc0-06871305d8f3\"\ ,\n \"certificationId\": \"662b500e-3a93-11e6-b978-06d818a6b395\",\n \"fileUrl\"\ : \"https://www.url/to/file\",\n \"createdAt\": 1467515990902.8079,\n \"updatedAt\"\ : 1467515990902.8079\n },\n {\n \"id\": \"a94156f0-40cd-11e6-b7d4-06871305d8f3\"\ ,\n \"userId\": 1918,\n \"courseUserAssignmentId\": \"98dcc09c-40cd-11e6-b7d4-06871305d8f3\"\ ,\n \"certificationId\": \"662b500e-3a93-11e6-b978-06d818a6b395\",\n \"fileUrl\"\ : \"https://www.url/to/file\",\n \"createdAt\": 1467516273348.231,\n \"updatedAt\"\ : 1467516273348.231\n },\n {\n \"id\": \"e281f456-40cd-11e6-9dae-06d818a6b395\"\ ,\n \"userId\": 1954,\n \"courseUserAssignmentId\": \"65ad9fe8-40cd-11e6-bbbc-06d818a6b395\"\ ,\n \"certificationId\": \"662b500e-3a93-11e6-b978-06d818a6b395\",\n \"fileUrl\"\ : \"https://www.url/to/file\",\n \"createdAt\": 1467516369401.7869,\n \"updatedAt\"\ : 1467516369401.7869\n },\n {\n \"id\": \"fc9bf256-50a4-11e6-b0f4-06871305d8f3\"\ ,\n \"userId\": 2062,\n \"courseUserAssignmentId\": \"b0aa4ec0-50a3-11e6-a8ea-06871305d8f3\"\ ,\n \"certificationId\": \"662b500e-3a93-11e6-b978-06d818a6b395\",\n \"fileUrl\"\ : \"https://www.url/to/file\",\n \"createdAt\": 1469258022431.205,\n \"updatedAt\"\ : 1469258022431.205\n }\n]" schema: type: array items: type: object properties: id: type: string example: 32eba0bc-3a94-11e6-a66e-06871305d8f3 userId: type: integer example: 1918 default: 0 courseUserAssignmentId: type: string example: 269f9aac-3a94-11e6-aa93-06d818a6b395 certificationId: type: string example: 662b500e-3a93-11e6-b978-06d818a6b395 fileUrl: type: string example: https://www.url/to/file createdAt: type: number example: 1466831886524.865 default: 0 updatedAt: type: number example: 1466831886524.865 default: 0 deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/certifications/562b500e-3a93-11e6-b978-06d818a6b395/awards \ -H "Authorization: Bearer ACCESS_TOKEN"' samples-languages: - curl /api/v1/events/{event_id}/session/{session_id}: get: summary: Get Event Session description: Get a specific session in an event operationId: get-event-session parameters: - name: event_id in: path description: Event ID schema: type: string required: true - name: session_id in: path description: Event Session ID schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "\t\"id\": \"9fdbdf98-56b8-11ec-9b11-1e00533a9645\",\n\t\"trainingClassId\":\ \ \"dcb1ec60-56ad-11ec-9b11-1e00533a9645\",\n\t\"title\": \"Session #1\",\n\t\"trainingClassSessionInstructors\"\ : [\n\t\t{\n\t\t\t\"id\": \"7c446e8c-11de-11ee-b8a2-a22f70550673\",\n\t\t\t\"sessionId\"\ : \"9fdbdf98-56b8-11ec-9b11-1e00533a9645\",\n\t\t\t\"user\": {\n\t\t\t\t\"id\": 620,\n\ \t\t\t\t\"displayName\": \"Robbie Kertzmann\",\n\t\t\t\t\"email\": \"jacinto@stoltenberg.io\"\ \n\t\t\t}\n\t\t}\n\t],\n\t\"start\": 1640973600000,\n\t\"end\": 1640980800000,\n\t\ \"zoomMeetingId\": null,\n\t\"zoomMeetingStartUrl\": null,\n\t\"zoomMeetingJoinUrl\"\ : null" deprecated: false /api/v1//resources: get: summary: Get All Resources description: Get all resources in an enterprise operationId: get-all-resources responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"status_code\": 200,\n \"resources\": [\n {\n \"\ id\": \"a6dc981c-5c4f-11ed-aa0d-c229bc8ef7ec\",\n \"name\": \"Design\"\ ,\n \"description\": null,\n \"createdAt\": 1667573268999,\n\ \ \"updatedAt\": 1667573268999,\n },\n {\n \"\ id\": \"a6e0624e-5c4f-11ed-aa0d-c229bc8ef7ec\",\n \"name\": \"Communications\"\ ,\n \"description\": null,\n \"createdAt\": 1667573269024,\n\ \ \"updatedAt\": 1667573269024,\n }\n ]\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /scim/v2/Users: get: summary: 'SCIM: Get All Users' description: '' operationId: scim-get-all-users parameters: - name: count in: query description: Number of results to return schema: type: integer format: int32 default: 100 - name: startIndex in: query description: The page of results to return (starts with page 1) schema: type: integer format: int32 default: 1 - in: query name: attributes schema: type: string description: 'The list of attributes to return. Note that the `id` attribute is always returned. For custom attributes, include the fully qualified attribute name. Example: `userName,name,urn:ietf:params:scim:schemas:extension:workramp:2.0:User:age`' - in: query name: excludedAttributes schema: type: string description: 'The list of attributes to not return. Note that the `id` attribute is always returned. For custom attributes, include the fully qualified attribute name. Example: `userName,urn:ietf:params:scim:schemas:extension:workramp:2.0:User:age`' - in: query name: filter schema: type: string description: 'A string to filter the response. Only the `eq` operator and the `userName`, `id`, `emails`, `externalId` attributes are supported in the filter. Example: `userName eq "testuser1@workramp.com"`' responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:ListResponse\"\ \n ],\n \"startIndex\": 1,\n \"itemsPerPage\": 2,\n \"totalResults\": 2,\n \"\ Resources\": [\n {\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\ \n ],\n \"id\": 1,\n \"userName\": \"testuser1@workramp.com\",\n \ \ \"name\": {\n \"formatted\": \"Test User1\",\n \"familyName\":\ \ \"User1\",\n \"givenName\": \"Test\"\n },\n \"emails\": [\n \ \ {\n \"value\": \"testuser1@workramp.com\"\n }\n ],\n \ \ \"active\": true,\n \"meta\": {\n \"resourceType\": \"User\",\n \ \ \"location\": \"https://app.workramp.com/scim/v2/Users/1\"\n },\n \ \ \"externalId\": \"Ql7zCBW06soi60qbbz1A\"\n },\n {\n \"schemas\": [\n\ \ \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n \"id\": 2,\n\ \ \"userName\": \"testuser2@workramp.com\",\n \"name\": {\n \"formatted\"\ : \"Test User2\",\n \"familyName\": \"User2\",\n \"givenName\": \"Test\"\ \n },\n \"emails\": [\n {\n \"value\": \"testuser2@workramp.com\"\ \n }\n ],\n \"active\": true,\n \"meta\": {\n \"resourceType\"\ : \"User\",\n \"location\": \"https://app.workramp.com/scim/v2/Users/2\"\n\ \ }\n }\n ]\n}" Result with excludedAttributes param: summary: Result with excludedAttributes param value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:ListResponse\"\ ,\n ],\n \"startIndex\": 1,\n \"itemsPerPage\": 2,\n \"totalResults\": 2,\n \"\ Resources\": [\n {\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\ ,\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\"\n ],\n\ \ \"id\": 1,\n \"emails\": [\n {\n \"value\": \"testuser1@workramp.com\"\ \n }\n ],\n \"active\": true,\n \"meta\": {\n \"resourceType\"\ : \"User\",\n \"location\": \"https://app.workramp.com/scim/v2/Users/1\"\n\ \ },\n \"externalId\": \"Ql7zCBW06soi60qbbz1A\",\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\"\ : {\n \"location\": \"US\"\n }\n },\n {\n \"schemas\": [\n\ \ \"urn:ietf:params:scim:schemas:core:2.0:User\",\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\"\ \n ],\n \"id\": 2,\n \"emails\": [\n {\n \"value\"\ : \"testuser2@workramp.com\"\n }\n ],\n \"active\": true,\n \ \ \"meta\": {\n \"resourceType\": \"User\",\n \"location\": \"https://app.workramp.com/scim/v2/Users/2\"\ \n },\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\": {\n\ \ \"location\": \"UK\"\n }\n }\n}" Result with attributes param: summary: Result with attributes param value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:ListResponse\"\ ,\n ],\n \"startIndex\": 1,\n \"itemsPerPage\": 2,\n \"totalResults\": 2,\n \"\ Resources\": [\n {\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\ ,\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\"\n ],\n\ \ \"id\": 1,\n \"userName\": \"testuser1@workramp.com\",\n \"name\"\ : {\n \"formatted\": \"Test User1\",\n \"familyName\": \"User1\",\n\ \ \"givenName\": \"Test\"\n },\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\"\ : {\n \"age\": \"30\"\n }\n },\n {\n \"schemas\": [\n \ \ \"urn:ietf:params:scim:schemas:core:2.0:User\",\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\"\ \n ],\n \"id\": 2,\n \"userName\": \"testuser2@workramp.com\",\n \ \ \"name\": {\n \"formatted\": \"Test User2\",\n \"familyName\":\ \ \"User2\",\n \"givenName\": \"Test\"\n },\n \"urn:ietf:params:scim:schemas:extension:workramp:2.0:User\"\ : {}\n }\n ]\n}" Result with filter params: summary: Result with filter params value: schemas: - urn:ietf:params:scim:api:messages:2.0:ListResponse startIndex: 1 itemsPerPage: 1 totalResults: 1 Resources: - schemas: - urn:ietf:params:scim:schemas:core:2.0:User id: 1 userName: testuser1@workramp.com name: formatted: Test User1 familyName: User1 givenName: Test emails: - value: testuser1@workramp.com active: true meta: resourceType: User location: https://app.workramp.com/scim/v2/Users/1 externalId: Ql7zCBW06soi60qbbz1A schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:api:messages:2.0:ListResponse startIndex: type: integer example: 1 default: 0 itemsPerPage: type: integer example: 2 default: 0 totalResults: type: integer example: 2 default: 0 Resources: type: array items: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:User id: type: integer example: 1 default: 0 userName: type: string example: testuser1@workramp.com name: type: object properties: formatted: type: string example: Test User1 familyName: type: string example: User1 givenName: type: string example: Test emails: type: array items: type: object properties: value: type: string example: testuser1@workramp.com active: type: boolean example: true default: true meta: type: object properties: resourceType: type: string example: User location: type: string example: https://app.workramp.com/scim/v2/Users/1 externalId: type: string example: Ql7zCBW06soi60qbbz1A '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: shell code: 'curl https://app.workramp.com/scim/v2/Users \ -H "Authorization: Bearer ACCESS_TOKEN"' name: '' samples-languages: - shell post: summary: 'SCIM: Create User' description: '' operationId: scim-create-user requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: userName: type: string description: Email of the user name: type: object description: Name of the user required: - givenName properties: givenName: type: string description: Given name of the user familyName: type: string description: Family name of the user externalId: type: string description: Id of the user in your external system (the system where you are syncing users from) groups: type: array description: List of group ids that the user is a part of items: type: integer format: int32 manager: type: string description: Email of the user's manager managerName: type: string description: Name of the user's manager startDate: type: string description: Start date of the user format: date urn:ietf:params:scim:schemas:extension:workramp:2․0:User: type: object description: Custom attributes to create for the user. Note that the custom attribute should already exists on the enterprise. Replace "2․0" with "2.0" (normal full stop)! properties: key: type: string description: API name of the custom attribute value: type: string description: Value to set the custom attribute to displayName: type: string description: The name of the user. Note that this takes precedence over the `name` parameter customAttributes: type: object properties: key: type: string description: API name of the custom attribute value: type: string description: Value to set the custom attribute to description: Custom attributes to create for the user responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n\ \ \"id\": 10,\n \"userName\": \"newtestuser@workramp.com\",\n \"name\": {\n \ \ \"formatted\": \"NewTest User\",\n \"familyName\": \"User\",\n \"givenName\"\ : \"NewTest\"\n },\n \"emails\": [\n {\n \"value\": \"newtestuser@workramp.com\"\ \n }\n ],\n \"active\": true,\n \"meta\": {\n \"resourceType\": \"User\"\ ,\n \"location\": \"https://app.workramp.com/scim/v2/Users/10\"\n }\n}" schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:User id: type: integer example: 10 default: 0 userName: type: string example: newtestuser@workramp.com name: type: object properties: formatted: type: string example: NewTest User familyName: type: string example: User givenName: type: string example: NewTest emails: type: array items: type: object properties: value: type: string example: newtestuser@workramp.com active: type: boolean example: true default: true meta: type: object properties: resourceType: type: string example: User location: type: string example: https://app.workramp.com/scim/v2/Users/10 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: "curl https://app.workramp.com/scim/v2/Users \\\n-H \"Authorization: Bearer ACCESS_TOKEN\"\ \ \\ \n-H \"Content-type: application/json\" \\\n-d '{\"userName\": \"newtestuser@workramp.com\"\ ,\"name\": {\"givenName\": \"NewTest\", \"familyName\": \"User\"},\"groups\":[24,50]}' \\\n\ -X POST" samples-languages: - text /scim/v2/Users/{id}: get: summary: 'SCIM: Get User' description: '' operationId: scim-get-user parameters: - name: id in: path description: The user id to return information about schema: type: integer format: int32 required: true - in: query name: attributes schema: type: string description: 'The list of attributes to return. Note that the `id` attribute is always returned. For custom attributes, include the fully qualified attribute name. Example: `userName,name,urn:ietf:params:scim:schemas:extension:workramp:2.0:User:age`' - in: query name: excludedAttributes schema: type: string description: 'The list of attributes to not return. Note that the `id` attribute is always returned. For custom attributes, include the fully qualified attribute name. Example: `userName,urn:ietf:params:scim:schemas:extension:workramp:2.0:User:age`' responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n\ \ \"id\": 2,\n \"userName\": \"testuser1@workramp.com\",\n \"name\": {\n \"\ formatted\": \"Test User1\",\n \"familyName\": \"User1\",\n \"givenName\": \"\ Test\"\n },\n \"emails\": [\n {\n \"value\": \"testuser1@workramp.com\"\n\ \ }\n ],\n \"active\": true,\n \"meta\": {\n \"resourceType\": \"User\",\n\ \ \"location\": \"https://app.workramp.com/scim/v2/Users/1\"\n }\n}" Result with excludedAttributes param: summary: Result with excludedAttributes param value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:workramp:2.0:User id: 1 emails: - value: testuser1@workramp.com active: true meta: resourceType: User location: https://app.workramp.com/scim/v2/Users/1 externalId: Ql7zCBW06soi60qbbz1A urn:ietf:params:scim:schemas:extension:workramp:2.0:User: location: US Result with attributes param: summary: Result with attributes param value: schemas: - urn:ietf:params:scim:schemas:core:2.0:User - urn:ietf:params:scim:schemas:extension:workramp:2.0:User id: 1 userName: testuser1@workramp.com name: formatted: Test User1 familyName: User1 givenName: Test urn:ietf:params:scim:schemas:extension:workramp:2.0:User: age: '30' schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:User id: type: integer example: 2 default: 0 userName: type: string example: testuser1@workramp.com name: type: object properties: formatted: type: string example: Test User1 familyName: type: string example: User1 givenName: type: string example: Test emails: type: array items: type: object properties: value: type: string example: testuser1@workramp.com active: type: boolean example: true default: true meta: type: object properties: resourceType: type: string example: User location: type: string example: https://app.workramp.com/scim/v2/Users/1 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: 'curl https://app.workramp.com/scim/v2/Users/1 \ -H "Authorization: Bearer ACCESS_TOKEN"' samples-languages: - text put: summary: 'SCIM: Update User' description: '' operationId: scim-update-user parameters: - name: id in: path description: The user id to update schema: type: integer format: int32 required: true requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: userName: type: string description: The email of the user externalId: type: string description: Id of the user in your external system (the system where you are syncing users from) active: type: boolean description: Whether this user is deactivated or not urn:ietf:params:scim:schemas:extension:workramp:2.0:User: type: object description: Custom attributes to update for the user. Note that this only updates existing custom attributes. Replace "2․0" with "2.0" (normal full stop)! properties: key: type: string description: API name of the custom attribute value: type: string description: Value to set the custom attribute to name: type: object description: The name of the user (see the Response example in lower right for the exact format required here, sent in raw JSON) properties: givenName: type: string description: Given name of the user familyName: type: string description: Family name of the user required: - givenName displayName: type: string description: The name of the user. Note that this takes precedence over the `name` parameter responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:User\"\n ],\n\ \ \"id\": 2,\n \"userName\": \"testuser1@workramp.com\",\n \"name\": {\n \"\ formatted\": \"Updated Name\",\n \"familyName\": \"Name\",\n \"givenName\":\ \ \"Updated\"\n },\n \"emails\": [\n {\n \"value\": \"testuser1@workramp.com\"\ \n }\n ],\n \"active\": false,\n \"meta\": {\n \"resourceType\": \"User\"\ ,\n \"location\": \"https://app.workramp.com/scim/v2/Users/1\"\n }\n}" schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:User id: type: integer example: 2 default: 0 userName: type: string example: testuser1@workramp.com name: type: object properties: formatted: type: string example: Updated Name familyName: type: string example: Name givenName: type: string example: Updated emails: type: array items: type: object properties: value: type: string example: testuser1@workramp.com active: type: boolean example: false default: true meta: type: object properties: resourceType: type: string example: User location: type: string example: https://app.workramp.com/scim/v2/Users/1 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: "curl https://app.workramp.com/scim/v2/Users/1 \\\n-H \"Authorization: Bearer ACCESS_TOKEN\"\ \ \\ \n-H \"Content-type: application/json\" \\\n-d '{\"active\": false, \"name\": {\"givenName\"\ : \"Updated\", \"familyName\": \"Name\"}}' \\\n-X PUT" samples-languages: - text /scim/v2/Groups: get: summary: 'SCIM: Get All Groups' description: '' operationId: scim-get-all-groups parameters: - name: count in: query description: Number of results to return schema: type: integer format: int32 default: 100 - name: startIndex in: query description: The page of results to return (starts with page 1) schema: type: integer format: int32 default: 1 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:api:messages:2.0:ListResponse\"\ \n ],\n \"startIndex\": 1,\n \"itemsPerPage\": 1,\n \"totalResults\": 1,\n \"\ Resources\": [\n {\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\ \n ],\n \"id\": 35,\n \"displayName\": \"Test Group\",\n \"members\"\ : [\n {\n \"value\": \"testuser1@workramp.com\",\n \"$ref\"\ : \"https://app.workramp.com/scim/v2/Users/1\",\n \"display\": \"Test User1\"\ \n }\n ]\n }\n ]\n}" schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:api:messages:2.0:ListResponse startIndex: type: integer example: 1 default: 0 itemsPerPage: type: integer example: 1 default: 0 totalResults: type: integer example: 1 default: 0 Resources: type: array items: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:Group id: type: integer example: 35 default: 0 displayName: type: string example: Test Group members: type: array items: type: object properties: value: type: string example: testuser1@workramp.com $ref: type: string example: https://app.workramp.com/scim/v2/Users/1 display: type: string example: Test User1 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: "curl https://app.workramp.com/scim/v2/Groups \\\n-H \"Authorization: Bearer ACCESS_TOKEN\"\ \ \\ \n-H \"Content-type: application/json\"" samples-languages: - text post: summary: 'SCIM: Create Group' description: '' operationId: scim-create-group parameters: - name: displayName in: query description: Name of the group schema: type: string - name: members in: query description: The users belong to this group (see the example below for the exact format required here) schema: type: array responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n \ \ ],\n \"id\": 34,\n \"displayName\": \"New Group\",\n \"members\": [\n {\n\ \ \"value\": \"testuser1@workramp.com\",\n \"$ref\": \"https://app.workramp.com/scim/v2/Users/1\"\ ,\n \"display\": \"Test User1\"\n },\n {\n \"value\": \"testuser2@workramp.com\"\ ,\n \"$ref\": \"https://app.workramp.com/scim/v2/Users/25\",\n \"display\"\ : \"Test User2\"\n }\n ]\n}" schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:Group id: type: integer example: 34 default: 0 displayName: type: string example: New Group members: type: array items: type: object properties: value: type: string example: testuser1@workramp.com $ref: type: string example: https://app.workramp.com/scim/v2/Users/1 display: type: string example: Test User1 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: "curl https://app.workramp.com/scim/v2/Groups \\\n-H \"Authorization: Bearer ACCESS_TOKEN\"\ \ \\ \n-H \"Content-type: application/json\" \\\n-d '{\"displayName\": \"New Group\",\"members\"\ : [{\"value\": 1}, {\"value\": 25}]}' \\\n-X POST" samples-languages: - text /scim/v2/Groups/{id}: get: summary: 'SCIM: Get Group' description: '' operationId: scim-get-group parameters: - name: id in: path description: The group id to return information about schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n \ \ ],\n \"id\": 35,\n \"displayName\": \"Test Group\",\n \"members\": [\n {\n\ \ \"value\": \"testuser1@workramp.com\",\n \"$ref\": \"https://app.workramp.com/scim/v2/Users/1\"\ ,\n \"display\": \"Test User1\"\n }\n ]\n}" schema: type: object properties: schemas: type: array items: type: string example: urn:ietf:params:scim:schemas:core:2.0:Group id: type: integer example: 35 default: 0 displayName: type: string example: Test Group members: type: array items: type: object properties: value: type: string example: testuser1@workramp.com $ref: type: string example: https://app.workramp.com/scim/v2/Users/1 display: type: string example: Test User1 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: "curl https://app.workramp.com/scim/v2/Groups/35 \\\n-H \"Authorization: Bearer ACCESS_TOKEN\"\ \ \\ \n-H \"Content-type: application/json\"" samples-languages: - text patch: summary: 'SCIM: Patch Group' description: '' operationId: scim-patch-group parameters: - name: id in: path description: The group id to patch schema: type: integer format: int32 required: true requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: Operations: type: array description: The operations to perform to patch/update this group (see the example below for the exact format required here) responses: '200': description: '200' content: application/json: examples: Result: value: "All the above examples will have a response in the following format as an example:\n\ \n{\n \"schemas\": [\n \"urn:ietf:params:scim:schemas:core:2.0:Group\"\n ],\n\ \ \"id\": 34,\n \"displayName\": \"Group\",\n \"members\": [\n {\n \"value\"\ : \"testuser1@workramp.com\",\n \"$ref\": \"https://app.workramp.com/scim/v2/Users/1\"\ ,\n \"display\": \"Test User1\"\n },\n {\n \"value\": \"testuser2@workramp.com\"\ ,\n \"$ref\": \"https://app.workramp.com/scim/v2/Users/25\",\n \"display\"\ : \"Test User2\"\n }\n ]\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: "# Updating the name of a group\ncurl https://app.workramp.com/scim/v2/Groups/1 \\\n-H\ \ \"Authorization: Bearer ACCESS_TOKEN\" \\ \n-H \"Content-type: application/json\" \\\n-d\ \ '{\"Operations\": [{\"op\": \"replace\", \"value\": {\"displayName\": \"Updated Group\"\ }}]}' \\\n-X PATCH\n\n# Adding users (with ids 2 and 4) to the group\ncurl https://app.workramp.com/scim/v2/Groups/1\ \ \\\n-H \"Authorization: Bearer ACCESS_TOKEN\" \\ \n-H \"Content-type: application/json\"\ \ \\\n-d '{\"Operations\": [{\"op\": \"add\", \"path\": \"members\", \"value\": [{\"value\"\ : 2}, {\"value\": 4}]}]}' \\\n-X PATCH\n\n# Removing user (with id 2) from the group\ncurl\ \ https://app.workramp.com/scim/v2/Groups/1 \\\n-H \"Authorization: Bearer ACCESS_TOKEN\"\ \ \\ \n-H \"Content-type: application/json\" \\\n-d '{\"Operations\": [{\"op\": \"remove\"\ , \"path\": \"members\\[value eq \\\"2\\\"\\]\"}]}' \\\n-X PATCH\n\n# Replace all existing\ \ users in the group with the following users (user ids 2 and 4)\ncurl https://app.workramp.com/scim/v2/Groups/1\ \ \\\n-H \"Authorization: Bearer ACCESS_TOKEN\" \\ \n-H \"Content-type: application/json\"\ \ \\\n-d '{\"Operations\": [{\"op\": \"replace\", \"path\": \"members\", \"value\": [{\"value\"\ : 2}, {\"value\": 4}]}]}' \\\n-X PATCH\n" samples-languages: - text delete: summary: 'SCIM: Delete Group' description: '' operationId: scim-delete-group parameters: - name: id in: path description: The group id to delete schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: text code: "curl https://app.workramp.com/scim/v2/Groups/34 \\\n-H \"Authorization: Bearer ACCESS_TOKEN\"\ \ \\ \n-H \"Content-type: application/json\" \\\n-X DELETE" samples-languages: - text /api/v1/search/university/{search}: get: summary: Search Public Library description: Search across all guides and resources in libraries that are public for the enterprise operationId: search-across-all-public-universities parameters: - name: search in: path description: String to match against titles and descriptions for guides and resources. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\nsearch: {SEARCH},\nresults: [\n {\n university: {UNIVERSITY_NAME},\n\ \ name: {TITLE},\n type: (guide|resource),\n description: {DESCRIPTION},\n\ \ url: {URL}\n }, ...\n]\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/search/university/string%20to%20search \ -H "Authorization: Bearer ACCESS_TOKEN"' samples-languages: - curl /api/v1/search/university/{university_name}/{search}: get: summary: Search Within A Public Library description: Searches across all guides and resources in a specific library that is public for the enterprise operationId: search-within-a-public-university parameters: - name: university_name in: path description: The name of the public university to search within. schema: type: string required: true - name: search in: path description: String to match against titles and descriptions for guides and resources. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n search: {SEARCH},\n results: [\n {\n university: {UNIVERSITY},\n\ \ name: {TITLE},\n type: (guide|resource),\n description: {DESCRIPTION},\n\ \ url: {URL}\n }, ...\n ]\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/search/university/name%20of%20university/string%20to%20search \ -H "Authorization: Bearer ACCESS_TOKEN"' samples-languages: - curl /api/v1/scorms: get: summary: Get All SCORM Courses description: Gets all SCORM in an enterprise operationId: get-all-scorms parameters: - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 20,\n \"has_more\": false,\n \"url\": \"\ /api/v1/scorms\",\n \"data\": {\n \"scorms\": [\n {\n \"id\": \"481e68e0-056f-11ee-af61-06635f23b5b5\"\ ,\n \"title\": \"Title of the SCORM\",\n \"created_at\": 1686168600452,\n\ \ \"time_estimate\": 10\n },\n {\n \"id\": \"d1fa2138-06f2-11ee-b231-06635f23b5b5\"\ ,\n \"title\": \"Title of another SCORM\",\n \"created_at\": 1686335046974,\n\ \ \"time_estimate\": 236\n }\n ]\n }" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/scorm/{id}/assigned_users: get: summary: Get All Assignments for a SCORM Course description: 'Gets all user assignments for a specific SCORM. Note: Only Employee Learning Cloud assignments are returned - Academy assignments have a separate endpoint.' operationId: get-scorm-assignments parameters: - name: id in: path description: Scorm ID schema: type: string required: true - in: query name: legacy_mode schema: type: boolean default: 'true' description: '**Always set this to false unless you have a very compelling reason not to.** For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode=true, the API will return the entire result set in a single, non-paginated response, and the response format itself will be completely different (See response examples).' - in: query name: page schema: type: integer format: int32 default: '1' description: Page of results to return - in: query name: per_page schema: type: integer format: int32 default: '20' description: Number of results to return per page (1-200) responses: '200': description: '200' content: application/json: examples: OK: summary: OK value: page: 1 per_page: 20 has_more: false item_count: 2 url: /api/v1/scorm/SCORM_1_PACKAGE_ID/assigned_users data: scorm: created_at: null description: null display_title: SCORM 1 folder_id: null id: SCORM_1_PACKAGE_ID source_id: null updated_at: null assignments: - completed_at: null completion_percentage: null due_date: null date_assigned: 1696340396481 assigner: mChief@workramp.com time_spent_in_minutes: 2 user: name: Dr. Mohamed Heller email: mHeller60@workramp.com - completed_at: 1665030173000 completion_percentage: 100 due_date: null date_assigned: 1696340396482 assigner: eYager@workramp.com time_spent_in_minutes: 10 user: name: Theo Harber email: TheoH0@workramp.com OK - legacy_mode: summary: OK - legacy_mode value: name: SCORM 1 assignments: - completedAt: null completionPercentage: null dueDate: null dateAssigned: 1696340396481 assigner: mChief@workramp.com timeSpentInMinutes: 2 user: name: Dr. Mohamed Heller email: mHeller60@workramp.com - completedAt: 1665030173000 completionPercentage: 100 dueDate: null dateAssigned: 1696340396482 assigner: eYager@workramp.com timeSpentInMinutes: 10 user: name: Theo Harber email: TheoH0@workramp.com schema: type: object properties: page: type: number default: '1' per_page: type: number default: '20' has_more: type: boolean default: 'false' item_count: type: number url: type: string data: type: object properties: scorm: type: object properties: created_at: type: number description: type: string display_title: type: string folder_id: type: string id: type: string source_id: type: string updated_at: type: number assignments: type: array items: properties: completed_at: type: number completion_percentage: type: number due_date: type: number date_assigned: type: number assigner: type: string time_spent_in_minutes: type: number user: type: object properties: name: type: string email: type: string type: object '404': description: '404' content: application/json: examples: Result: value: "{\n \"type\": \"not_found\",\n \"message\": \"Error. The SCORM you are\ \ trying to search does not exist.\"\n}" schema: type: object properties: type: type: string example: not_found message: type: string example: Error. The SCORM you are trying to search does not exist. deprecated: false /api/v1/challenge/{challenge_id}: get: summary: Get all Users for a Challenge description: Get all the users assigned to a specific challenge operationId: get-challenge-assignments parameters: - name: challenge_id in: path description: The id of the challenge schema: type: string required: true - in: query name: legacy_mode schema: type: boolean default: 'true' description: For accounts provisioned prior to November 11, 2025, the optional query parameter legacy_mode can be set to bypass pagination. When legacy_mode is enabled, the API will return the entire result set in a single, non-paginated response. - in: query name: page schema: type: integer format: int32 default: '1' description: Page of results to return - in: query name: per_page schema: type: integer format: int32 default: '20' description: Number of results to return per page (1-200) responses: '200': description: OK content: application/json: schema: type: object properties: page: type: string per_page: type: string has_more: type: string item_count: type: string url: type: string data: type: object properties: challenge: type: object properties: created_at: type: number description: type: string display_title: type: string folder_id: type: string id: type: string updated_at: type: number challenge_user_assignments: type: array items: properties: completion_date: type: number grade: type: object properties: earned_points: type: number total_points: type: number incomplete: type: number is_fully_graded: type: boolean time_spent: type: number passed: type: boolean user: type: object properties: name: type: string email: type: string type: object required: - page examples: OK: summary: OK value: page: 1 per_page: 20 has_more: false item_count: 1 url: /api/v1/challenge/63e6348a-4045-11ed-b46f-ea39642a425f data: challenge: created_at: null description: null display_title: Distributed secondary matrix folder_id: null id: 63e6348a-4045-11ed-b46f-ea39642a425f updated_at: null challenge_user_assignments: - completion_date: 1664826769207 grade: earned_points: 10 total_points: 20 incomplete: 0 is_fully_graded: true time_spent: 10 passed: false user: name: Shubham email: sgoyal@workramp.com - completion_date: null grade: earned_points: 0 total_points: 0 incomplete: 0 is_fully_graded: false time_spent: 10 passed: false user: name: Shubham email: sgoyal@workramp.com OK - legacy_mode: summary: OK - legacy_mode value: name: Distributed secondary matrix id: 63e6348a-4045-11ed-b46f-ea39642a425f challengeUserAssignments: - completionDate: 1664826769207 grade: earnedPoints: 10 totalPoints: 20 incomplete: 0 isFullyGraded: true timeSpent: 10 passed: false user: name: Shubham email: sgoyal@workramp.com - completionDate: null grade: earnedPoints: 0 totalPoints: 0 incomplete: 0 isFullyGraded: false timeSpent: 10 passed: false user: name: Shubham email: sgoyal@workramp.com deprecated: false /api/v1/content_catalog: get: summary: Get Content Catalog description: Get your content catalog (a collection of all content in your WorkRamp instance) operationId: get-content-catalog parameters: - name: Authorization in: header schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \"folderName\": \"/Guide\",\n \"universityName\": \"\ \",\n \"universityDescription\": \"\",\n \"universityFolder\": \"\"\ ,\n \"pathName\": \"\",\n \"pathDescription\": \"\",\n \"itemType\"\ : \"guide\",\n \"itemName\": \"Sales Onboarding\",\n \"itemDescription\"\ : \"Sales is the best job.\",\n \"itemLink\": \"http://app.workramp.test/admin/guides/34f4g45-f648-123s-92d0-2313\"\ ,\n \"lastEditedDate\": \"2022-06-30T17:36:29.718Z\",\n \"lastEditor\"\ : \"John Doe\",\n \"lastAssignedDate\": \"2022-06-27T18:38:21.811Z\",\n \ \ \"numAssignments\": 1,\n \"originalAuthor\": \"bethsamuels@example.com\"\ ,\n \"createdDate\": \"2022-06-27T18:38:19.303Z\"\n },\n {\n \"\ folderName\": \"/Path\",\n \"universityName\": \"\",\n \"universityDescription\"\ : \"\",\n \"universityFolder\": \"\",\n \"pathName\": \"Learning More\"\ ,\n \"pathDescription\": \"\",\n \"itemType\": \"resource\",\n \ \ \"itemName\": \"Arts\",\n \"itemDescription\": \"\",\n \"itemLink\"\ : \"http://app.workramp.test/admin/resources/1s2dss-fdsf6-11ec-dsa-5e3d23\",\n \ \ \"lastEditedDate\": \"2022-06-27T18:38:20.218Z\",\n \"lastEditor\": \"\ Bruce Wayne\",\n \"lastAssignedDate\": \"\",\n \"numAssignments\": \"\ 20\",\n \"originalAuthor\": \"clarkkent@example.com\",\n \"createdDate\"\ : \"2022-04-13T14:18:30.403Z\"\n },\n {\n \"folderName\": \"/Challenge\"\ ,\n \"universityName\": \"\",\n \"universityDescription\": \"\",\n \ \ \"universityFolder\": \"\",\n \"pathName\": \"\",\n \"pathDescription\"\ : \"\",\n \"itemType\": \"challenge\",\n \"itemName\": \"Challenge 101\"\ ,\n \"itemDescription\": \"The hardest challenge ever\",\n \"itemLink\"\ : \"http://app.workramp.test/admin/challenges/12s42-d2df3-1fdec-6g4-d3f3f34f5\",\n\ \ \"lastEditedDate\": \"2022-02-14T22:28:09.048Z\",\n \"lastEditor\"\ : \"John Wick\",\n \"lastAssignedDate\": \"2022-04-27T18:38:26.888Z\",\n \ \ \"numAssignments\": 2,\n \"originalAuthor\": \"brucewayne@example.com\"\ ,\n \"createdDate\": \"2021-01-27T15:17:20.775Z\"\n }\n]" schema: type: array items: type: object properties: folderName: type: string example: /Guide universityName: type: string example: '' universityDescription: type: string example: '' universityFolder: type: string example: '' pathName: type: string example: '' pathDescription: type: string example: '' itemType: type: string example: guide itemName: type: string example: Sales Onboarding itemDescription: type: string example: Sales is the best job. itemLink: type: string example: http://app.workramp.test/admin/guides/34f4g45-f648-123s-92d0-2313 lastEditedDate: type: string example: '2022-06-30T17:36:29.718Z' lastEditor: type: string example: John Doe lastAssignedDate: type: string example: '2022-06-27T18:38:21.811Z' numAssignments: type: integer example: 1 default: 0 originalAuthor: type: string example: bethsamuels@example.com createdDate: type: string example: '2022-06-27T18:38:19.303Z' deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/content_catalog \ -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-type: application/json"' samples-languages: - curl /api/v1/academies/{academy_id}/users: get: summary: Get All Contacts description: Get all Contacts in an Academy. Results can be filtered by name, email, email domain, status, and custom registration fields. All filters combine with AND. By default, both Active and Deactivated Contacts are returned, including Contacts with a pending invitation. Results are always sorted by email, ascending. operationId: get-academy-customer-users parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 - name: name in: query description: Optional. Returns Contacts whose name contains this value (case-insensitive, partial match). schema: type: string - name: email in: query description: Optional. Returns Contacts whose email address contains this value (case-insensitive partial match). For example, `email=bob@example.com` also matches `alice.bob@example.com`. To match one address exactly, use `exact_email`. schema: type: string - in: query name: email_domain schema: type: string description: 'Optional. Returns Contacts whose email address ends in exactly `@` (case-insensitive). Subdomains are not included: `example.com` does not match `bob@mail.example.com`.' - in: query name: exact_email schema: type: string description: Optional. Returns only the Contact whose email address exactly matches this value. Matching is case-insensitive, and surrounding whitespace is ignored. No partial matching is performed. When `exact_email` is provided, the `email` and `email_domain` parameters are ignored. - name: status in: query description: Optional. `Active` returns only active Contacts; `Deactivated` returns only deactivated Contacts. If omitted, both are returned. schema: type: string enum: - Active - Deactivated - name: custom_registration_fields in: query description: Optional object with a single key-value pair where the key represents the custom registration field name and the value represents the custom attribute field value. (e.g. `custom_registration_fields%5Bnickname%5D=Bobby` ) -- **NOTE:** This tool can't generate this parameter for you because the parameter name itself (such as `custom_registration_fields[example]`) is dynamic. schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/users\",\n \"data\"\ : {\n \"users\": [\n {\n \"id\": \"d3d6edf4-e25d-11ea-be19-0242ac140003\"\ ,\n \"email\": \"ted+apitester1234@workramp.com\",\n \ \ \"segments\": [],\n \"display_name\": \"Jane Doe\",\n \ \ \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \ \ \"created_at\": \"2022-06-08 14:59:04 UTC\",\n \"custom_registration_field_values\"\ : [\n {\n \"value\": \"Gold\",\n \ \ \"name\": \"customer_tier\"\n }\n \ \ ]\n },\n {...},\n {...}\n ]\n }\n\ }" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} /api/v1/academies/{academy_id}/users/{contact_id}: get: summary: Get Contact description: Get a specific Contact in an Academy operationId: get-user parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: contact_id in: path description: The id of the Contact schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/users/:user_id\",\n\ \ \"data\": {\n \"user\": {\n \"id\": \"d3d6edf4-e25d-11ea-be19-0242ac140003\"\ ,\n \"email\": \"ted+apitester1234@workramp.com\",\n \"display_name\"\ : \"Jane Doe\",\n \"first_name\": \"Jane\",\n \"last_name\"\ : \"Doe\"\n }\n }\n}" schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 100 default: 0 has_more: type: boolean example: false default: true url: type: string example: https://app.workramp.com/api/v1/academies/:academy_id/users/:user_id data: type: object properties: user: type: object properties: id: type: string example: d3d6edf4-e25d-11ea-be19-0242ac140003 email: type: string example: ted+apitester1234@workramp.com display_name: type: string example: Jane Doe first_name: type: string example: Jane last_name: type: string example: Doe '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false delete: summary: Delete Contact description: Soft-delete/deactivate an Academy Contact operationId: delete-academy-user parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: contact_id in: path description: The id of the Contact schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/invite: post: summary: Invite Contacts description: Invite Contacts to an Academy operationId: invite-users parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: Content-type in: header description: Always application/json schema: type: string default: application/json requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: userEmailsToInvite: type: array description: Array of Contact emails you'd like to invite to the academy. items: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"errors\": [],\n \"newAcademyInvitations\": [\n {\n \ \ \"email\": \"test2@workramp.com\",\n \"id\": \"6b6efe96-117c-11ed-90c8-3ea79e467329\"\ ,\n \"inviteHash\": \"LibFxu3D9lms3F8VMadf-A\",\n \"lastInvitedAt\"\ : 1659346159439,\n \"originallyInvitedAt\": 1659346159439\n }\n\ \ ]\n}" schema: type: object properties: errors: type: array newAcademyInvitations: type: array items: type: object properties: email: type: string example: test2@workramp.com id: type: string example: 6b6efe96-117c-11ed-90c8-3ea79e467329 inviteHash: type: string example: LibFxu3D9lms3F8VMadf-A lastInvitedAt: type: integer example: 1659346159439 default: 0 originallyInvitedAt: type: integer example: 1659346159439 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/segments/{segment_id}/remove_users: delete: summary: Remove Contacts from Segment description: Remove Contacts from Academy Segment operationId: remove-users-from-segment parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: segment_id in: path description: The id of the segment schema: type: string required: true - name: Content-Type in: header description: Always application/json schema: type: string default: application/json requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: userEmails: type: array description: Array of Contact emails you'd like to remove from the segment. items: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"status\": true\n}" schema: type: object properties: status: type: boolean example: true default: true '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/users-duplicate: get: summary: Get All Contacts (support duplicated) description: Get all Contacts in an Academy operationId: get-all-users-support-duplicated parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: custom_registration_fields: type: string format: json responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/users\",\n \"data\"\ : {\n \"users\": [\n {\n \"id\": \"d3d6edf4-e25d-11ea-be19-0242ac140003\"\ ,\n \"email\": \"ted+apitester1234@workramp.com\",\n \ \ \"segments\": [],\n \"display_name\": \"Jane Doe\",\n \ \ \"first_name\": \"Jane\",\n \"last_name\": \"Doe\",\n \ \ \"created_at\": \"2022-06-08 14:59:04 UTC\",\n \"custom_registration_field_values\"\ : [\n {\n \"value\": \"Gold\",\n \ \ \"name\": \"customer_tier\"\n }\n \ \ ]\n },\n {...},\n {...}\n ]\n }\n\ }" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/segments/{segment_id}/invite: post: summary: Assign Segments description: Add Contacts to an Academy Segment operationId: assign-segments parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: segment_id in: path description: The id of the segment schema: type: string required: true - name: userEmails in: query description: 'Array of Contact emails you''d like to invite to the segment. **NOTE: Contact must be registered in order to be placed in a segment**' schema: type: array items: type: string - name: Content-type in: header schema: type: string default: application/json responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"numAddedToGroup\": 1,\n \"numConvertedToManual\": 0,\n \"numAlreadyInGroup\"\ : 0,\n \"numDeletedUser\": 0,\n \"numUnregisteredUser\": 0\n}" schema: type: object properties: numAddedToGroup: type: integer example: 1 default: 0 numConvertedToManual: type: integer example: 0 default: 0 numAlreadyInGroup: type: integer example: 0 default: 0 numDeletedUser: type: integer example: 0 default: 0 numUnregisteredUser: type: integer example: 0 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: curl code: 'curl "https://app.workramp.com/api/v1/academies/233710e8-a938-11ec-ae72-3ea79e46732a/segments/cd0ce734-0e85-11ed-bc8c-3ea79e467329/invite -H "Authorization: Bearer ACCESS_TOKEN" \ -H "Content-type: application/json" \ -d ''{ "userEmails": ["testemail@workramp.com"] }'' \ -X POST' samples-languages: - curl /api/v1/academies/{academy_id}/users/{contact_id}/awarded_certifications: get: summary: Get All Awarded Certifications For a Contact description: '' operationId: get-all-awarded-certifications-for-a-user parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: contact_id in: path description: The id of the Contact schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/users/:user_id/awarded_certifications\"\ \ ,\n \"data\": {\n \"user_id\": \"d3d6edf4-e25d-11ea-be19-0242ac140003\"\ ,\n \"awarded_certifications\": [\n {\n \"id\": 242424,\n\ \ \"badge_image\": \"some_img_1.jpg\",\n \"display_title\"\ : \"Certified Cert\"\n }\n ]\n }\n}" schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 100 default: 0 has_more: type: boolean example: false default: true url: type: string example: https://app.workramp.com/api/v1/academies/:academy_id/users/:user_id/awarded_certifications data: type: object properties: user_id: type: string example: d3d6edf4-e25d-11ea-be19-0242ac140003 awarded_certifications: type: array items: type: object properties: id: type: integer example: 242424 default: 0 badge_image: type: string example: some_img_1.jpg display_title: type: string example: Certified Cert '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/certifications/{certification_id}/invite: post: summary: Assign Certificates description: Assign certificates to Academy Contacts operationId: assign-certificates parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: certification_id in: path description: The id of the certificate schema: type: string required: true - name: Content-type in: header description: Always use application/json schema: type: string default: application/json requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: userEmails: type: array description: Array of Contact emails you'd like to invite to the training. items: type: string dueAt: type: integer description: Number of milliseconds since 1970-01-01 00:00:00 UTC. format: int32 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"errors\": [],\n \"assignments\": [\n {\n \"id\"\ : \"86971320-19d3-11ed-8678-3ea79e467329\",\n \"awardedAt\": null,\n \ \ \"completed\": false,\n \"externalUser\": {\n \ \ \"academySegments\": [\n {\n \"name\"\ : \"Segment 1\"\n }\n ],\n \"id\"\ : \"40cfc380-0ed1-11ed-9885-3ea79e467329\",\n \"createdAt\": 1659052741665,\n\ \ \"displayName\": \"Test Account\",\n \"email\": \"\ test@workramp.com\",\n \"updatedAt\": 1659052741742,\n \ \ \"academyRegistrationFieldValues\": [],\n \"assignments\": [\n\ \ {\n \"id\": \"1d7b3ae0-0efe-11ed-9885-3ea79e467329\"\ ,\n \"completedAt\": null\n }\n \ \ ]\n }\n }\n ],\n \"trainingInvitations\": []\n}" schema: type: object properties: errors: type: array assignments: type: array items: type: object properties: id: type: string example: 86971320-19d3-11ed-8678-3ea79e467329 awardedAt: {} completed: type: boolean example: false default: true externalUser: type: object properties: academySegments: type: array items: type: object properties: name: type: string example: Segment 1 id: type: string example: 40cfc380-0ed1-11ed-9885-3ea79e467329 createdAt: type: integer example: 1659052741665 default: 0 displayName: type: string example: Test Account email: type: string example: test@workramp.com updatedAt: type: integer example: 1659052741742 default: 0 academyRegistrationFieldValues: type: array assignments: type: array items: type: object properties: id: type: string example: 1d7b3ae0-0efe-11ed-9885-3ea79e467329 completedAt: {} trainingInvitations: type: array '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/paths/{path_id}/invite: post: summary: Assign Paths description: Assign paths to Academy Contacts operationId: assign-paths parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: path_id in: path description: The id of the path schema: type: string required: true - name: Content-type in: header description: Always use application/json schema: type: string default: application/json requestBody: content: application/x-www-form-urlencoded: schema: type: object properties: userEmails: type: array description: Array of Contact emails you'd like to invite to the training. items: type: string dueAt: type: integer description: Number of milliseconds since 1970-01-01 00:00:00 UTC. format: int32 responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/users/{contact_id}/registrations/{registration_id}: get: summary: Get Registration by Contact ID & Registration ID description: 'Fetch a specific Academy registration by ID for a given Contact ID. NOTE: If you have the Registration ID, you don''t need this. You could just use the **Get Registration by ID** endpoint.' operationId: get-all-registrations-for-a-user-1 parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: contact_id in: path description: The id of the Contact schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 - name: registration_id in: path description: The id of the registration schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/users/:user_id/registrations\"\ ,\n \"data\": {\n \"user_id\": \"d3d6edf4-e25d-11ea-be19-0242ac140003\"\ ,\n \"registration\": {\n \"id\": \"d3d6edf4-e25d-11ea-be19-0242ac140004\"\ ,\n \"completed_at\": 1488144236206.5808,\n \"is_completed\"\ : true,\n \"completion_percentage\": 100,\n \"score\": 95,\n\ \ \"due_at\": 1488144236206.5808,\n \"due_date\": 1488144236206.5808,\n\ \ \"pass_status\": \"passed\",\n \"content\": {\n \ \ \"id\": \"d3d6edf4-e25d-11ea-be19-0242ac140005\",\n \"academy_overview_description\"\ : \"Foo Bar\",\n \"card_banner\": \"foo_bar.jpg\",\n \ \ \"description\": \"Bar\",\n \"title\": \"Foo\",\n }\n\ \ }\n }\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/trainings/{training_id}/registrations: get: summary: Get All Registrations for a Training description: '' operationId: get-all-registrations-for-a-training parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: training_id in: path description: The id of the training schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com//api/v1/academies/:academy_id/trainings/:training_id/registrations\"\ \ ,\n \"data\": {\n \"academy_id\": \"123\",\n \"registrations\"\ : [\n {\n \"id\": \"12345\",\n \"completed_at\"\ : 1488144236206.5808,\n \"is_completed\": true,\n \"\ completion_percentage\": 100,\n \"score\": 95,\n \"\ due_at\": 1488144236206.5808,\n \"due_date\": 1488144236206.5808,\n\ \ \t\"grading_status\": \"completed\",\n \t\"pass_status\"\ : \"passed\", \n\t\t\t\t\t\t\t\t\"enrollment_method\": \"invited\",\n \t\t\t\t\ \t\"internal_assigner_id\": 1,\n \"content\": {\n \ \ \"id\": \"4567\",\n \"academy_overview_description\": \"Foo\ \ Bar\",\n \"card_banner\": \"foo_bar.jpg\",\n \ \ \"description\": \"Bar\",\n \"title\": \"Foo\",\n \ \ }\n },\n\t\t\t\t\t\t{\n \"id\": \"23456\",\n \ \ \"completed_at\": 1488144236206.5808,\n \"is_completed\"\ : true,\n \"completion_percentage\": 100,\n \"score\"\ : 95,\n \"due_at\": 1488144236206.5808,\n \"due_date\"\ : 1488144236206.5808,\n \t\"grading_status\": \"completed\",\n \ \ \t\"pass_status\": \"passed\", \n\t\t\t\t\t\t\t\t\"enrollment_method\": \"\ self-started\",\n \t\t\t\t\t\"internal_assigner_id\": null,\n \ \ \"content\": {\n \"id\": \"4567\",\n \"academy_overview_description\"\ : \"Foo Bar\",\n \"card_banner\": \"foo_bar.jpg\",\n \ \ \"description\": \"Bar\",\n \"title\": \"Foo\",\n \ \ }\n },\n\t\t\t\t\t\t{\n \"id\": \"43212\"\ ,\n \"completed_at\": 1488144236206.5808,\n \"is_completed\"\ : true,\n \"completion_percentage\": 100,\n \"score\"\ : 95,\n \"due_at\": 1488144236206.5808,\n \"due_date\"\ : 1488144236206.5808,\n \t\"grading_status\": \"completed\",\n \ \ \t\"pass_status\": \"passed\", \n\t\t\t\t\t\t\t\t\"enrollment_method\": \"\ self-started\",\n \t\t\t\t\t\"internal_assigner_id\": null,\n \ \ \"content\": {\n \"id\": \"4567\",\n \"academy_overview_description\"\ : \"Foo Bar\",\n \"card_banner\": \"foo_bar.jpg\",\n \ \ \"description\": \"Bar\",\n \"title\": \"Foo\",\n \ \ }\n },\n\t\t\t\t\t\t{\n \"id\": \"34567\"\ ,\n \"completed_at\": 1488144236206.5808,\n \"is_completed\"\ : true,\n \"completion_percentage\": 100,\n \"score\"\ : 95,\n \"due_at\": 1488144236206.5808,\n \"due_date\"\ : 1488144236206.5808,\n \t\"grading_status\": \"completed\",\n \ \ \t\"pass_status\": \"passed\", \n\t\t\t\t\t\t\t\t\"enrollment_method\": \"\ invited\",\n \t\t\t\t\t\"internal_assigner_id\": 3,\n \"content\"\ : {\n \"id\": \"4567\",\n \"academy_overview_description\"\ : \"Foo Bar\",\n \"card_banner\": \"foo_bar.jpg\",\n \ \ \"description\": \"Bar\",\n \"title\": \"Foo\",\n \ \ }\n }\n ]\n }\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/certifications/{cert_id}: get: summary: Get All Enrollments for a Certification description: '' operationId: get-certification parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: cert_id in: path description: The Certification ID schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: page: 1 per_page: 100 has_more: false url: https://app.workramp.com/api/v1/academies/:academy_id/certifications/:cert_id data: certification: awarded_by_name: Mr Certifications awarded_by_title: Chief Certifier created_at: 1754512880983 description: A really cool certification id: 0198811d-f557-79c9-93d9-cf7f67add436 name: Cool Certification awarded_certifictions: - id: 0198811d-f5c3-70c5-8226-c7405dea3014 name: Jane Doe email: JaneDoe@example.com awarded_at: 1488144236206.5808 assigner_user_id: 1 enrollment_method: invited progress_percentage: 100 - id: 0198811d-f593-7420-87e1-afc443ec315e name: John Doe email: JohnDoe@example.com awarded_at: null assigner_user_id: null enrollment_method: self-started progress_percentage: 0 schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 100 default: 0 has_more: type: boolean example: false default: true url: type: string example: https://app.workramp.com/api/v1/academies/:academy_id/certifications/:cert_id data: type: array items: type: object properties: id: type: string example: '14144' name: type: string example: Jane Doe email: type: string example: JaneDoe@workramp.com awarded_at: type: number example: 1488144236206.5808 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/paths/{path_id}: get: summary: Get All Enrollments for a Path description: '' operationId: get-all-enrollments-for-a-path parameters: - name: academy_id in: path description: The ID of the Academy schema: type: string required: true - name: path_id in: path description: The Path ID schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: page: 1 per_page: 20 has_more: false item_count: 1 url: /api/v1/academies/baseba11-c0de-ce11-ca11-b1adea110c8d/paths/baseba11-dead-de11-dead-b01dfacedead data: path: created_at: 1665158128175 description: Here is a really excellent description id: deedcafe-c0de-babe-1ace-ca1110c8c0de name: Mars Pathfinder Path completed_paths: - id: 0198811d-f5c3-70c5-8226-c7405dea3014 name: Jane Doe email: JaneDoe@example.com completed_at: 1488144236206.5808 assigner_user_id: 1 enrollment_method: invited progress_percentage: 100 - id: 0198811d-f593-7420-87e1-afc443ec315e name: John Doe email: JohnDoe@example.com completed_at: null assigner_user_id: null enrollment_method: self-started progress_percentage: 0 schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 20 default: 0 has_more: type: boolean example: false default: true item_count: type: integer example: 1 default: 0 url: type: string example: /api/v1/academies/baseba11-c0de-ce11-ca11-b1adea110c8d/paths/baseba11-dead-de11-dead-b01dfacedead data: type: object properties: path: type: object properties: created_at: type: integer example: 1665158128175 default: 0 description: type: string example: Here is a really excellent description id: type: string example: deedcafe-c0de-babe-1ace-ca1110c8c0de name: type: string example: Mars Pathfinder Path completed_paths: type: array items: type: object properties: id: type: string example: baseba11-deb8-1ead-ba1d-1eafb01dface name: type: string example: Donald Duck email: type: string example: demoacademyuser2@example.com completed_at: type: number example: 1726697288.7276318 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/registrations: get: summary: Get All Registrations description: '' operationId: get-all-registrations parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/registrations\",\n\ \ \"data\": {\n \"registrations\": [\n {\n \"\ id\": \"8933b28e-dac0-11ec-b88d-0663a65fe87f\",\n \"completed_at\"\ : 1488144236206.5808,\n \"completion_percentage\": 100,\n \ \ \"created_at\": 148814423206.1234,\n \"due_at\": 1488144236206.5808,\n\ \ \"due_date\": 1488144236206.5808,\n \t\"grading_status\"\ : \"completed\",\n \"is_completed\": true,\n \"pass_status\"\ : \"passed\",\n \"score\": 95,\n \"content\": {\n \ \ \"content\": {\n \"id\": \"4567\",\n \ \ \"academy_overview_description\": \"Foo Bar\",\n \ \ \"card_banner\": \"foo_bar.jpg\",\n \"description\"\ : \"Bar\",\n \"title\": \"Foo\"\n }\n \ \ },\n \"user\": {\n \"user\": {\n\ \ \"id\": \"83d0e5a0-dac0-11ec-ab66-0626dc1a526d\",\n \ \ \"display_name\": \"Demo Learner\",\n \"\ email\": \"demolearner@workramp.com\",\n \"first_name\": \"\ Demo\",\n \"last_name\": \"Learner\"\n }\n\ \ }\n }\n ]\n }\n}\n" schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 100 default: 0 has_more: type: boolean example: false default: true url: type: string example: https://app.workramp.com/api/v1/academies/:academy_id/registrations data: type: object properties: registrations: type: array items: type: object properties: id: type: string example: 8933b28e-dac0-11ec-b88d-0663a65fe87f completed_at: type: number example: 1488144236206.5808 default: 0 completion_percentage: type: integer example: 100 default: 0 created_at: type: number example: 148814423206.1234 default: 0 due_at: type: number example: 1488144236206.5808 default: 0 due_date: type: number example: 1488144236206.5808 default: 0 grading_status: type: string example: completed is_completed: type: boolean example: true default: true pass_status: type: string example: passed score: type: integer example: 95 default: 0 content: type: object properties: content: type: object properties: id: type: string example: '4567' academy_overview_description: type: string example: Foo Bar card_banner: type: string example: foo_bar.jpg description: type: string example: Bar title: type: string example: Foo user: type: object properties: user: type: object properties: id: type: string example: 83d0e5a0-dac0-11ec-ab66-0626dc1a526d display_name: type: string example: Demo Learner email: type: string example: demolearner@workramp.com first_name: type: string example: Demo last_name: type: string example: Learner '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/awarded_certifications: get: summary: Get All Awarded Certifications description: '' operationId: get-all-awarded-certifications parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 - name: start in: query description: Return certificates awarded at or after this datetime (10-digit seconds from epoch) schema: type: string format: date-time - name: end in: query description: Return certificates awarded at or before this datetime (10-digit seconds from epoch) schema: type: string format: date-time responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/awarded_certifications\"\ ,\n \"data\": {\n \"awarded_certifications\": [\n {\n \ \ \"id\": \"2242432\",\n \"name\": \"Basic Training\",\n \ \ \"description\": \"Basic Training Certification\",\n \"user_id\"\ : \"1313313\",\n \"user_name\": \"Johnny\",\n \"user_email\"\ : \"Johns\",\n \"awarded_at\": 1488144236206.5808\n }\n \ \ ]\n }\n}" schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 100 default: 0 has_more: type: boolean example: false default: true url: type: string example: https://app.workramp.com/api/v1/academies/:academy_id/awarded_certifications data: type: object properties: awarded_certifications: type: array items: type: object properties: id: type: string example: '2242432' name: type: string example: Basic Training description: type: string example: Basic Training Certification user_id: type: string example: '1313313' user_name: type: string example: Johnny user_email: type: string example: Johns awarded_at: type: number example: 1488144236206.5808 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/registrations/{registration_id}: get: summary: Get Registration by ID description: '' operationId: get-registration parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: registration_id in: path description: The id of the registration schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/registrations/:registration_id\"\ \ ,\n \"data\": {\n \"registration\": {\n \"id\": \"12345\",\n\ \ \"completed_at\": 1488144236206.5808,\n \"is_completed\":\ \ true,\n \"completion_percentage\": 100,\n \"score\": 95,\n\ \ \"due_at\": 1488144236206.5808,\n \"due_date\": 1488144236206.5808,\n\ \ \"pass_status\": \"passed\",\n \"content\": {\n \ \ \"id\": \"4567\",\n \"academy_overview_description\": \"Foo\ \ Bar\",\n \"card_banner\": \"foo_bar.jpg\",\n \"description\"\ : \"Bar\",\n \"title\": \"Foo\",\n }\n }\n }\n\ }" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false delete: description: '' operationId: delete_apiv1academies{academy_id}registrations{registration_id} responses: '200': description: '' content: application/json: examples: Result: summary: Result value: true parameters: - name: academy_id in: path required: true description: The id of the Academy schema: type: string default: '' - name: registration_id in: path required: true description: The id of the Registration schema: type: string default: '' /api/v1/academies/{academy_id}/users/{contact_id}/registrations: get: summary: Deprecated Get All Registrations for a Contact description: 'Fetch all Academy registrations for a given Contact id. Please consider moving to the non-deprecated endpoint: **Get All Registrations for a Contact**' operationId: get-all-registrations-for-a-user parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: contact_id in: path description: The id of the Contact schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/users/:user_id/registrations\"\ ,\n \"data\": {\n \"user_id\": \"d3d6edf4-e25d-11ea-be19-0242ac140003\"\ ,\n \"registrations\": [\n {\n \"id\": 12345,\n \ \ \"completed_at\": 1488144236206.5808,\n \"is_completed\"\ : true,\n \"completion_percentage\": 100,\n \"score\"\ : 95,\n \"due_at\": 1488144236206.5808,\n \"due_date\"\ : 1488144236206.5808,\n \"pass_status\": \"passed\",\n \ \ \"content\": {\n \"id\": \"4567\",\n \"\ academy_overview_description\": \"Foo Bar\",\n \"card_banner\"\ : \"foo_bar.jpg\",\n \"description\": \"Bar\",\n \ \ \"title\": \"Foo\",\n }\n }\n ]\n }\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/trainings: get: summary: Get All Trainings description: '' operationId: get-all-trainings parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/trainings\",\n \"\ data\": {\n \"trainings\": [\n {\n \"id\": \"d3d6edf4-e25d-11ea-be19-0242ac140013\"\ ,\n \"type\": \"course\",\n \"name\": \"Some Course\",\n\ \ \"created_at\": 1488144236206.5808,\n \"card_banner\"\ : nil,\n \"description\": \"Description\",\n \"time_estimate_seconds\"\ : 1300\n }\n ]\n }\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/trainings/{training_id}: get: summary: Get Training description: This endpoint is for getting the details of a particular Guide, Resource, or SCORM course when you know its ID. operationId: get-training parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: training_id in: path description: The id of the training schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Guide: value: "{\n \"url\": \"/api/v1/academies/fffa38ac-ba81-11ec-bdee-027c588d9553/trainings/050aa80e-dabc-11ec-8ca6-067360dfb065\"\ ,\n \"data\": {\n \"training\": {\n \"id\": \"050aa80e-dabc-11ec-8ca6-067360dfb065\"\ ,\n \"type\": \"guide\",\n \"name\": \"Forklift Operations\"\ ,\n \"created_at\": 1653326161493,\n \"card_banner\": nil,\n\ \ \"description\": \"Description\",\n \"time_estimate_seconds\"\ : 1300\n }\n }\n}\n" SCORM: value: "{\n \"url\": \"/api/v1/academies/fffa38ac-ba81-11ec-bdee-027c588d9553/trainings/d7ea5350-e8db-11ec-ae4e-067360dfb065\"\ ,\n \"data\": {\n \"training\": {\n \"id\": \"d7ea5350-e8db-11ec-ae4e-067360dfb065\"\ ,\n \"type\": \"scorm\",\n \"name\": \"How to play Golf\",\n\ \ \"created_at\": 1654879145958\n }\n }\n}\n" Resource: value: "{\n \"url\": \"/api/v1/academies/fffa38ac-ba81-11ec-bdee-027c588d9553/trainings/c5953390-0849-11ed-9fb5-027c588d9553\"\ ,\n \"data\": {\n \"training\": {\n \"id\": \"c5953390-0849-11ed-9fb5-027c588d9553\"\ ,\n \"type\": \"resource\",\n \"name\": \"Restaurant Locations\ \ near Kansas City Office\",\n \"created_at\": 1658334845887\n }\n\ \ }\n}\n" schema: oneOf: - title: SCORM type: object properties: url: type: string example: /api/v1/academies/fffa38ac-ba81-11ec-bdee-027c588d9553/trainings/d7ea5350-e8db-11ec-ae4e-067360dfb065 data: type: object properties: training: type: object properties: id: type: string example: d7ea5350-e8db-11ec-ae4e-067360dfb065 type: type: string example: scorm name: type: string example: How to play Golf created_at: type: integer example: 1654879145958 default: 0 - title: Resource type: object properties: url: type: string example: /api/v1/academies/fffa38ac-ba81-11ec-bdee-027c588d9553/trainings/c5953390-0849-11ed-9fb5-027c588d9553 data: type: object properties: training: type: object properties: id: type: string example: c5953390-0849-11ed-9fb5-027c588d9553 type: type: string example: resource name: type: string example: Restaurant Locations near Kansas City Office created_at: type: integer example: 1658334845887 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '404': description: '404' content: application/json: examples: Result: value: '{"type":"not_found","message":"Error. Not found."}' schema: type: object properties: type: type: string example: not_found message: type: string example: Error. Not found. deprecated: false /api/v1/academies/{academy_id}/search/{search_term}: get: summary: Search for Trainings description: '' operationId: search-for-trainings parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: search_term in: path description: The search term that will be used to search for academies with that term schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy_id/search/:search_term\"\ ,\n \"data\": {\n \"trainings\": [\n {\n \"id\"\ : \"1424\",\n \"type\": \"course\",\n \"title\": \"\ Some Course\",\n \"name\": \"Some Course\",\n \"created_at\"\ : 1488144236206.5808\n }\n ]\n }\n}" schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 100 default: 0 has_more: type: boolean example: false default: true url: type: string example: https://app.workramp.com/api/v1/academies/:academy_id/search/:search_term data: type: object properties: trainings: type: array items: type: object properties: id: type: string example: '1424' type: type: string example: course title: type: string example: Some Course name: type: string example: Some Course created_at: type: number example: 1488144236206.5808 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/paths: get: summary: Get All Offered Paths description: This endpoint is for getting all the paths available to learners in your academy. operationId: get-all-paths-academy parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: page: 1 per_page: 20 has_more: false url: https://app.workramp.com/api/v1/academies/:academy_id/paths data: paths: - created_at: 1651860613984 description: This is a description id: c6a7baae-cd67-11ec-a110-027c588d9553 name: Path To Greatness - created_at: 1665158128175 description: Here is a really excellent description id: 76c09776-4658-11ed-9127-020df940d6b7 name: Mars Pathfinder Path '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} /api/v1/academies/{academy_id}/certifications: get: summary: Get All Offered Certifications description: This endpoint is for getting all the certifications offered in your academy. If you are looking to get information about learners -- their awarded certifications, see **Get All Awarded Certifications For a Contact** or **Get All Awarded Certifications**. operationId: get-all-certifications-2 parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: page: 1 per_page: 100 has_more: false url: https://app.workramp.com/api/v1/academies/:academy_id/certifications data: certifications: - id: '22422424' name: Some Cert description: Some Description of the Cert created_at: 1488144236206.5808 awarded_by_name: Jane awarded_by_title: Doe schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 100 default: 0 has_more: type: boolean example: false default: true url: type: string example: https://app.workramp.com/api/v1/academies/:academy_id/certifications data: type: array items: type: object properties: id: type: string example: '22422424' name: type: string example: Some Cert description: type: string example: Some Description of the Cert created_at: type: number example: 1488144236206.5808 default: 0 awarded_by_name: type: string example: Jane awarded_by_title: type: string example: Doe '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} /api/v1/academies/{academy_id}/collections: get: summary: Get All Offered Collections description: This endpoint is for getting all the Collections offered in your academy. operationId: get-all-offered-collections parameters: - name: academy_id in: path description: The ID of the Academy schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n 'has_more' => false,\n 'item_count' => 1,\n 'page' => 1,\n 'per_page'\ \ => 20,\n 'url' => https://app.workramp.com/api/v1/academies/001001001/collections,\n\ \ 'data' => {\n \t'collections' => {\n 'created_at' => 1722020032546\n\ \ 'description' => \"Description,\n 'id' => \"112112112\",\n \ \ 'name' => \"Name\"\n }\n \t}\n \n " '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/collections/{collection_id}: get: summary: Get Collection description: This endpoint is for getting detailed information for a specific Collection in your Academy. The response will include information about each piece of content within the Collection. operationId: get-collection parameters: - name: academy_id in: path description: The ID of the Academy schema: type: string required: true - name: collection_id in: path description: The ID of the Collection schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n 'url' => https://app.workramp.com/api/v1/academies/001001001/collections/334334334,\n\ \ 'data' => {\n 'collection' => {\n \"academy_collection_contents\" => [\n\ \ {\n \"id\" => \"112112112\",\n \"content_id\" => \"22422424\"\ ,\n \"content_type\" => \"guide\",\n \"content\" => {\n \ \ \"card_banner\" => nil,\n \"description\" => \"Description,\n \ \ \"id\" => \"22422424\",\n \"time_estimate_seconds\" => 1200,\n\ \ \"title\" => \"Title\"\n }\n }\n ]\n }\n }\n\ }" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/paths/{path_id}/details: get: summary: Get Path description: This endpoint is for getting detailed information for a specific Path in your Academy. The response will include information about each piece of content within the Path. operationId: get-path parameters: - name: academy_id in: path description: The ID of the Academy schema: type: string required: true - name: path_id in: path description: The ID of the Path schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n 'url' => https://app.workramp.com/api/v1/academies/001001001/paths/112112112/details,\n\ \ 'data' => {\n 'path' => {\n \"academy_certification_contents\" => [\n \ \ {\n \"id\" => 223223223,\n \"academy_certification_id\"\ \ => 112112112,\n \"content_id\" => 334334334,\n \"content_type\"\ \ => \"guide\",\n \"ui_order\" => 1,\n \"created_at\" => 1722020033428,\n\ \ \t\"updated_at\" => 1722020033715,\n \"content\" => {\n \ \ \"card_banner\" => nil,\n \"description\" => \"Description\",\n\ \ \"id\" => 334334334,\n \"time_estimate_seconds\" => 1200,\n\ \ \"title\" => \"Guide Title\"\n }\n ]\n \t}\n \ \ }\n },\n \"banner_image\" => nil,\n \"id\" => 112112112,\n \"title\" => \"\ Path Title\"\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/certifications/{certification_id}/details: get: summary: Get Certification description: This endpoint is for getting detailed information for a specific Certification in your Academy. The response will include information about each piece of content within the Certification. operationId: get-certification-1 parameters: - name: academy_id in: path description: The ID of the Academy schema: type: string required: true - name: certification_id in: path description: The ID of the Certification schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n 'url' => https://app.workramp.com/api/v1/academies/001001001/certifications/112112112/details,\n\ \ 'data' => {\n 'certification' => {\n \"academy_certification_contents\"\ \ => [\n {\n \"id\" => 223223223,\n \"academy_certification_id\"\ \ => 112112112,\n \"content_id\" => 334334334,\n \"content_type\"\ \ => \"guide\",\n \"ui_order\" => 1,\n \"created_at\" => 1722020033428,\n\ \ \t\"updated_at\" => 1722020033715,\n \"content\" => {\n \ \ \"card_banner\" => nil,\n \"description\" => \"Description\",\n\ \ \"id\" => 334334334,\n \"time_estimate_seconds\" => 1200,\n\ \ \"title\" => \"Guide Title\"\n }\n ]\n \t}\n \ \ }\n },\n \"banner_image\" => nil,\n \"id\" => 112112112,\n \"title\" => \"\ Certification Title\"\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/events: get: summary: Get All Events description: '' operationId: get-all-academy-events parameters: - name: academy_id in: path schema: type: string required: true - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 responses: '200': description: '200' content: application/json: examples: Result: value: "{\n\t\t\"page\": 1,\n \t\t\"per_page\": 20,\n \t\t\"has_more\": false,\n \t\t\ \"item_count\": 3,\n \t\t\"url\": \"/api/v1/academies/:academy_id/events\",\n \t\t\ \"data\": {\n \t\t\t\"events\": [\n {\n \"created_at\": \"\ 2024-12-31T16:00:00Z\",\n \"description\": \"some description\",\n \ \ \"id\": \"019321c0-86d5-73bc-8999-1edda9b69d32\",\n \"num_live_sessions\"\ : 2,\n \"num_on_demand_content\": 2,\n \"published\": true,\n\ \ \"title\": \"Torphy, Champlin and Dare\",\n \"updated_at\"\ : \"2024-12-31T16:00:00Z\"\n },\n {\n \"created_at\"\ : \"2024-12-31T16:00:00Z\",\n \"description\": \"some description\",\n\ \ \"id\": \"019321c0-86db-7b87-a952-939b49748376\",\n \"\ num_live_sessions\": 3,\n \"num_on_demand_content\": 1,\n \ \ \"published\": true,\n \"title\": \"Beatty Group\",\n \ \ \"updated_at\": \"2024-12-31T16:00:00Z\"\n },\n {\n \ \ \"created_at\": \"2024-12-31T16:00:00Z\",\n \"description\"\ : \"some description\",\n \"id\": \"019321c0-86e0-7c69-9a1f-e89a11f4d2ff\"\ ,\n \"num_live_sessions\": 4,\n \"num_on_demand_content\"\ : 2,\n \"published\": false,\n \"title\": \"Goyette, Beahan\ \ and Rohan\",\n \"updated_at\": \"2024-12-31T16:00:00Z\"\n \ \ }\n \t]\n \t}\n}" schema: type: object properties: page: type: integer example: 1 default: 0 per_page: type: integer example: 20 default: 0 has_more: type: boolean example: false default: true item_count: type: integer example: 3 default: 0 url: type: string example: /api/v1/academies/:academy_id/events data: type: object properties: events: type: array items: type: object properties: created_at: type: string example: '2024-12-31T16:00:00Z' description: type: string example: some description id: type: string example: 019321c0-86d5-73bc-8999-1edda9b69d32 num_live_sessions: type: integer example: 2 default: 0 num_on_demand_content: type: integer example: 2 default: 0 published: type: boolean example: true default: true title: type: string example: Torphy, Champlin and Dare updated_at: type: string example: '2024-12-31T16:00:00Z' '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/events/{event_id}: get: summary: Get Sessions For Event description: '' operationId: get-all-event-sessions parameters: - name: academy_id in: path schema: type: string required: true - name: event_id in: path schema: type: string required: true - name: after in: query description: 'ex: 2024-12-31T16:00:00Z. Use to filter sessions so that none are returned with a start time prior to the specified value.' schema: type: string - name: before in: query description: 'ex: 2024-12-31T16:00:00Z. Use to filter sessions so that none are returned with a start time after the specified value.' schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \t\"url\": \"/api/v1/academies/:academy_id/events/:event_id\",\n \t\t\"\ data\": {\n \t\"event\": {\n \t\"created_at\": \"2024-12-31T16:00:00Z\"\ ,\n \"description\": nil,\n \"id\": \"01932258-3f67-72f2-b2a8-cf6bd1560c5a\"\ ,\n \"num_live_sessions\": 2,\n \"num_on_demand_content\"\ : 1,\n \"published\": false,\n \"title\": \"Swaniawski and\ \ Sons\",\n \"updated_at\": \"2024-12-31T16:00:00Z\",\n \"\ academy_event_sessions\": [\n \t\t{\n \"created_at\"\ : \"2024-12-31T16:00:00Z\",\n \"description\": \"some description\"\ ,\n \"end_time\": \"2024-12-31T16:00:00Z,\n \ \ \"id\": \"01932258-3f71-7286-be59-5da0408db832\",\n \"start_time\"\ : \"2025-01-11T14:00:00Z,\n \"title\": \"The Wizard of Oz\",\n\ \ \"updated_at\": \"2025-01-11T16:00:00Z\",\n \ \ \"url\": \"\",\n \"zoom_api_account_id\": nil,\n \ \ \"zoom_meeting_id\": nil,\n \"zoom_meeting_join_url\"\ : nil,\n \"zoom_meeting_start_url\": nil\n }\n\ \ ]\n }\n }\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/events/{event_id}/attendees: get: summary: Get Attendees For Event description: '' operationId: get-attendees-for-event parameters: - name: academy_id in: path schema: type: string required: true - name: event_id in: path schema: type: string required: true - name: after in: query description: 'ex: 2024-12-31T16:00:00Z. Use to filter sessions so that none are returned with a start time prior to the specified value.' schema: type: string - name: before in: query description: 'ex: 2024-12-31T16:00:00Z. Use to filter sessions so that none are returned with a start time after the specified value.' schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/event_sessions/{event_session_id}/attendees: get: summary: Get Attendees for Event Session description: '' operationId: get-attendees-for-event-session parameters: - name: academy_id in: path schema: type: string required: true - name: event_session_id in: path schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/webhook_subscriptions: get: summary: Get All Webhook Subscriptions description: '' operationId: get-all-webhook-subscriptions parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: Authorization in: header schema: type: string - name: Content-Type in: header schema: type: string default: application/json responses: '200': description: '200' content: application/json: examples: Result: value: "[\n {\n \"webhookID\": \"id-string-here\",\n \"webhookName\": \"Fancy\ \ Webhook\",\n \"url\": \"https://example.com/workramp-webhook-endpoint\",\n \ \ \"eventTypes\": [\n \"userRegistration\"\n ]\n },\n {\n \"webhookID\"\ : \"id-string-here\",\n \"webhookName\": \"Fancy Webhook #2\",\n \"url\": \"\ https://example.com/workramp-webhook-endpoint-2\",\n \"eventTypes\": [\n \"\ contentCompletion.path\"\n ]\n }\n]\n" schema: type: array items: type: object properties: webhookID: type: string example: id-string-here webhookName: type: string example: Fancy Webhook url: type: string example: https://example.com/workramp-webhook-endpoint eventTypes: type: array items: type: string example: userRegistration '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/webhook_subscriptions/{subscription_id}: get: summary: Get Webhook Subscription description: '' operationId: get-webhook-subscription parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: subscription_id in: path description: The id of the webhook subscription schema: type: string required: true - name: Authorization in: header schema: type: string - name: Content-Type in: header schema: type: string default: application/json responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"webhookID\": \"id-string-here\",\n \"webhookName\": \"Fancy Webhook\"\ ,\n \"url\": \"https://example.com/workramp-webhook-endpoint\",\n \"eventTypes\"\ : [\n \"userRegistration\"\n ]\n}" schema: type: object properties: webhookID: type: string example: id-string-here webhookName: type: string example: Fancy Webhook url: type: string example: https://example.com/workramp-webhook-endpoint eventTypes: type: array items: type: string example: userRegistration '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false delete: summary: Delete Webhook Subscription description: '' operationId: delete-webhook-subscription parameters: - name: academy_id in: path description: The id of the Academy schema: type: string required: true - name: subscription_id in: path description: The id of the webhook subscription schema: type: string required: true - name: Authorization in: header schema: type: string responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"success\": true\n}" schema: type: object properties: success: type: boolean example: true default: true '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /: get: description: '' operationId: get_academy_object_attribute_values responses: '200': description: '' content: application/json: examples: New Example: summary: New Example value: '' New Example 1: summary: New Example 1 value: page: 1 per_page: 20 has_more: false item_count: 2 url: /api/v1/academies/:academy_id/academy_object_attributes data: academy_object_attributes: - id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty academy_object_attribute_values: - id: 0197a76a-4834-712c-874e-e503a14a5775 name: Beginner - id: 0197a76a-5ffc-71d4-9b95-630287b28941 name: Intermediate - id: 0197a76a-6dd9-7c9e-b8ea-4b148bc5a330 name: Advanced - id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type academy_object_attribute_values: - id: 0197a76a-25c8-7ee1-894d-b01ee1dffefa name: Certification - id: 0197a76a-79de-77cd-bbf6-ba87341ae6bb name: Course parameters: [] /api/v1/academies/{academy_id}/academy_object_attributes: get: description: '' operationId: get_academy_object_attribute_values responses: '200': description: '' content: application/json: examples: New Example: summary: New Example value: '' New Example 1: summary: New Example 1 value: '' Result: summary: Result value: page: 1 per_page: 20 has_more: false item_count: 2 url: /api/v1/academies/:academy_id/academy_object_attributes data: academy_object_attributes: - id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty academy_object_attribute_values: - id: 0197a76a-4834-712c-874e-e503a14a5775 name: Beginner - id: 0197a76a-5ffc-71d4-9b95-630287b28941 name: Intermediate - id: 0197a76a-6dd9-7c9e-b8ea-4b148bc5a330 name: Advanced - id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type academy_object_attribute_values: - id: 0197a76a-25c8-7ee1-894d-b01ee1dffefa name: Certification - id: 0197a76a-79de-77cd-bbf6-ba87341ae6bb name: Course parameters: - in: path name: academy_id schema: type: string default: '' required: true description: The id of the Academy - name: page in: query required: false description: The page number of the results schema: type: integer format: int32 default: '1' - name: per_page in: query required: false description: The number of results returned per page schema: type: integer format: int32 default: '20' /api/v1/academies/{academy_id}/academy_object_attribute: get: description: '' operationId: get_academy_object_attribute_values responses: '200': description: '' content: application/json: examples: New Example: summary: New Example value: '' New Example 1: summary: New Example 1 value: '' Result: summary: Result value: page: 1 per_page: 20 has_more: false item_count: 5 url: /api/v1/academies/:academy_id/academy_object_attribute_values data: academy_object_attribute_values: - id: 0197a76a-25c8-7ee1-894d-b01ee1dffefa name: Certification academy_object_attribute: id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type - id: 0197a76a-4834-712c-874e-e503a14a5775 name: Beginner academy_object_attribute: id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty - id: 0197a76a-5ffc-71d4-9b95-630287b28941 name: Intermediate academy_object_attribute: id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty - id: 0197a76a-6dd9-7c9e-b8ea-4b148bc5a330 name: Advanced academy_object_attribute: id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty - id: 0197a76a-79de-77cd-bbf6-ba87341ae6bb name: Course academy_object_attribute: id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type parameters: - in: path name: academy_id schema: type: string required: true - name: page in: query required: false description: '' schema: type: integer format: int32 default: '1' - name: per_page in: query required: false description: '' schema: type: integer format: int32 default: '20' /api/v1/academies/{academy_id/academy_object_attributes: get: description: '' operationId: get_academy_object_attribute_values responses: '200': description: '' content: application/json: examples: New Example: summary: New Example value: '' New Example 1: summary: New Example 1 value: page: 1 per_page: 20 has_more: false item_count: 2 url: /api/v1/academies/:academy_id/academy_object_attributes data: academy_object_attributes: - id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty academy_object_attribute_values: - id: 0197a76a-4834-712c-874e-e503a14a5775 name: Beginner - id: 0197a76a-5ffc-71d4-9b95-630287b28941 name: Intermediate - id: 0197a76a-6dd9-7c9e-b8ea-4b148bc5a330 name: Advanced - id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type academy_object_attribute_values: - id: 0197a76a-25c8-7ee1-894d-b01ee1dffefa name: Certification - id: 0197a76a-79de-77cd-bbf6-ba87341ae6bb name: Course parameters: [] /api/v1/academies/{academy_id}/academy_object_attributess: get: description: '' operationId: get_academy_object_attribute_values responses: '200': description: '' content: application/json: examples: New Example: summary: New Example value: '' New Example 1: summary: New Example 1 value: '' Result: summary: Result value: page: 1 per_page: 20 has_more: false item_count: 5 url: /api/v1/academies/:academy_id/academy_object_attribute_values data: academy_object_attribute_values: - id: 0197a76a-25c8-7ee1-894d-b01ee1dffefa name: Certification academy_object_attribute: id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type - id: 0197a76a-4834-712c-874e-e503a14a5775 name: Beginner academy_object_attribute: id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty - id: 0197a76a-5ffc-71d4-9b95-630287b28941 name: Intermediate academy_object_attribute: id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty - id: 0197a76a-6dd9-7c9e-b8ea-4b148bc5a330 name: Advanced academy_object_attribute: id: 0197a76a-3a98-799e-a828-5d5acf131c4e name: Difficulty - id: 0197a76a-79de-77cd-bbf6-ba87341ae6bb name: Course academy_object_attribute: id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type parameters: - in: path name: academy_id schema: type: string required: true - name: page in: query required: false description: '' schema: type: integer format: int32 default: '1' - name: per_page in: query required: false description: '' schema: type: integer format: int32 default: '20' /api/v1/academies/:academy_id/academy_object_attributes: get: description: '' operationId: get_new-endpoint responses: '200': description: '' parameters: [] /api/v1/academies/{academy_id}/academy_object_attributes_2: get: description: '' operationId: get_apiv1academies{academy_id}academy_object_attribute_values responses: '200': description: '' content: application/json: examples: New Example: summary: New Example value: page: 1 per_page: 20 has_more: false item_count: 2 url: /api/v1/academies/:academy_id/academy_object_attributes data: academy_object_attributes: - id: 0197a76a-154a-7f5c-9da7-b3322894a1b7 name: Content Type academy_object_attribute_values: - id: 0197a76a-25c8-7ee1-894d-b01ee1dffefa name: Certification - id: 0197a76a-79de-77cd-bbf6-ba87341ae6bb name: Course parameters: - in: path name: academy_id schema: type: string default: '' required: true description: The id of the Academy - name: page in: query required: false description: The page number of the results schema: type: integer format: int32 default: '1' - name: per_page in: query required: false description: The number of results returned per page schema: type: integer format: int32 default: '20' x-readme: samples-languages: - shell /api/v1/academies/${academy_id}/academy_object_attributes: get: description: '' operationId: get_apiv1academies{academy_id}academy_object_attribute_values responses: '200': description: '' parameters: - name: academy_id in: path required: true description: The id of the Academy schema: type: string default: '' - name: page in: query required: false description: '' schema: type: integer format: int32 default: '1' - name: per_page in: query required: false description: '' schema: type: integer format: int32 default: '20' /api/v1/academies/:academy id/paths_users: get: summary: Get All Completed Path Enrollments description: '' operationId: get-all-paths-1 parameters: - name: page in: query description: The page number of the results schema: type: integer format: int32 default: 1 - name: per_page in: query description: The number of results returned per page schema: type: integer format: int32 default: 20 - name: completed_only in: query description: To get all path users, set to false schema: type: string default: 'true' responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"page\": 1,\n \"per_page\": 100,\n \"has_more\": false,\n \"\ url\": \"https://app.workramp.com/api/v1/academies/:academy id/paths_users/\",\n \ \ \"data\": {\n \"paths_users\": [\n {\n \"id\":\ \ \"1424242\",\n \"user_id\": \"2242432\",\n \"user_name\"\ : \"Johnny\",\n \"user_email\": \"johnny@jimmy.com\",\n \ \ \"path_id\": \"2242432\",\n \"path_name\": \"Basic Training\",\n \ \ \"path_description\": \"Basic Training Path\",\n \"progress_percentage\"\ : 100,\n \"completed_at\": 1488144236206.5808\n }\n \ \ }\n ]\n }\n}" '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false /api/v1/academies/{academy_id}/registrations/by_date_range: get: description: '' operationId: get_apiv1academies:academy_idregistrationsby_date_range responses: '400': description: '' content: application/json: schema: type: object properties: error: type: string description: '' enum: - 'Missing required parameter: start_time' - Invalid date format. Use Unix timestamp or ISO8601. required: - error '404': description: Not Found content: application/json: schema: type: object properties: error: type: string required: - error parameters: - in: path name: academy_id schema: type: string required: true - in: query name: start_time schema: type: string format: date description: ' Start of date range (Unix timestamp or ISO8601)' required: true - in: query name: end_time schema: type: string default: Now description: End of date range (Unix timestamp or ISO8601) - in: query name: training_id schema: type: string description: Filter results to a specific training (Guide, Resource, or SCORM) - in: query name: page schema: type: string default: '1' description: Page number for pagination - in: query name: per_page schema: type: string default: '20' description: Items per page /api/v1/users/{user_id}/certifications: get: summary: Get Awards by User description: '' operationId: get-all-awards parameters: - name: Authorization in: header schema: type: string - name: user_id in: path description: The id of the user schema: type: string required: true responses: '200': description: '200' content: application/json: schema: type: array items: type: object properties: id: type: string description: ID of the award userId: type: integer description: ID of the user certificationId: type: string description: ID of the badge/certification createdAt: type: integer description: Timestamp with milliseconds for when the award was created updatedAt: type: integer description: Timestamp with milliseconds for when the award was updated assignmentId: type: string description: ID of the user's SCORM assignment (if awarded via SCORM) challengeUserAssignmentId: type: string description: ID of the user's challenge assignment (if awarded via challenge) courseUserAssignmentId: type: string description: ID of the user's course assignment (if awarded via course) trainingClassSessionAttendeeId: type: string description: ID of the user's event/training class session attendance (if awarded via event session) trainingSeriesUserAssignmentId: type: string description: ID of the user's path/training series assignment (if awarded via path) required: - id - certificationId - userId - createdAt - updatedAt examples: OK: summary: OK value: - id: 019cde5d-f782-7ca8-82b2-d0db9619ef23 userId: 1 certificationId: 019cde5d-f782-7ef1-95b5-77deff867844 courseUserAssignmentId: 019cde5d-f782-75d3-8cca-a0e60c0b43da createdAt: 1773252000000 updatedAt: 1773252000000 - id: 019cde5d-f782-7fce-a84e-206aed0c2470 userId: 1 certificationId: 019cde5d-f782-75b9-821e-a6344b95bb0f challengeUserAssignmentId: 019cde5d-f782-7e5e-965d-daaddbad3817 createdAt: 1773252000000 updatedAt: 1773252000000 - id: 019cde5d-f782-7ec8-92f0-9e1c197994fa userId: 1 certificationId: 019cde5d-f782-77a4-9ea8-c225469135c9 trainingClassSessionAttendeeId: 019cde5d-f782-7d00-b320-86bfbb2b94f6 createdAt: 1773252000000 updatedAt: 1773252000000 - id: 019cde5d-f782-79d7-8db0-a53fb53d3ce3 userId: 1 certificationId: 019cde5d-f782-7283-9bb9-92fdd368b65a trainingSeriesUserAssignmentId: 019cde5d-f782-7a61-a4a0-72d85bb8557b createdAt: 1773252000000 updatedAt: 1773252000000 - id: 019cde5d-f782-7553-bf66-641291d98163 userId: 1 certificationId: 019cde5d-f782-78c7-9c13-1b68019c94d8 assignmentId: 019cde5d-f782-796b-88f1-8959e502fc03 createdAt: 1773252000000 updatedAt: 1773252000000 deprecated: false x-readme: code-samples: - language: curl code: 'curl https://app.workramp.com/api/v1/users/1918/certifications \ -H "Authorization: Bearer ACCESS_TOKEN"' samples-languages: - curl x-readme: headers: [] explorer-enabled: false proxy-enabled: true x-readme-fauxas: true