swagger: '2.0' info: description: With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more. version: v2 title: PureCloud Platform Agent Assistants Learning API termsOfService: https://help.genesys.cloud/articles/terms-and-conditions/ contact: name: PureCloud Developer Evangelists url: https://developer.genesys.cloud/ email: DeveloperEvangelists@genesys.com license: name: UNLICENSED url: https://help.genesys.cloud/articles/terms-and-conditions/ host: api.mypurecloud.com schemes: - https consumes: - application/json produces: - application/json tags: - name: Learning description: Manage learning modules paths: /api/v2/learning/assessments/scoring: post: tags: - Learning summary: Score learning assessment for preview description: '' operationId: postLearningAssessmentsScoring produces: - application/json parameters: - in: body name: body description: Assessment form and answers to score required: true schema: $ref: '#/definitions/LearningAssessmentScoringRequest' responses: '200': description: successful operation schema: $ref: '#/definitions/AssessmentScoringSet' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: quality.scoring.answer.not.in.assessment.form: Submitted answers contained reference to an answer which is not in the assessment form quality.scoring.unanswered.required.questions: Submitted answers did not contain a response to a required question bad.request: The request could not be understood by the server due to malformed syntax. quality.scoring.text.answer.too.long: Submitted answers contained a free text answer that was too long. invalid.property: Value [%s] is not a valid property for object [%s] quality.scoring.answer.not.provided: A submitted answer was empty quality.scoring.na.disabled.marked.na: A question or question group was marked as NA when it is not NA enabled. quality.scoring.unanswered.required.comments: Submitted answers did not contain a comment where it was required quality.scoring.question.not.in.assessment.form: Submitted answers contained reference to a question which is not in the assessment form constraint.validation: '%s' response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. general.bad.request: Request is badly formed. quality.scoring.question.group.not.in.assessment.form: Submitted answers contained reference to a question group which is not in the assessment form invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:module:view - learning:module:add - learning:module:edit x-purecloud-method-name: postLearningAssessmentsScoring /api/v2/learning/assignments/aggregates/query: post: tags: - Learning summary: Retrieve aggregated assignment data description: '' operationId: postLearningAssignmentsAggregatesQuery produces: - application/json parameters: - in: body name: body description: Aggregate Request required: true schema: $ref: '#/definitions/LearningAssignmentAggregateParam' responses: '200': description: Query completed successfully schema: $ref: '#/definitions/LearningAssignmentAggregateResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was a problem with the request, see the message for details bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] date.interval.param.too.big: The range of the interval parameter cannot be more than 1 year constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). lm.no.permission.view.assignment: The operation failed because the user does not have the right permissions app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. '501': description: Not Implemented schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.type.not.implemented.exception: Predicate is not implemented security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:assignment:view x-purecloud-method-name: postLearningAssignmentsAggregatesQuery /api/v2/learning/assignments/{assignmentId}: get: tags: - Learning summary: Get Learning Assignment description: Permission not required if you are the assigned user of the learning assignment operationId: getLearningAssignment produces: - application/json parameters: - name: assignmentId in: path description: The ID of Learning Assignment required: true type: string - name: expand in: query description: Fields to expand in response required: false type: array items: type: string enum: - module - assessment - assessmentForm - module.coverArt - step - step.moduleStep collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignment' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). lm.no.permission.view.assignment: The operation failed because the user does not have the right permissions app.not.authorized.for.scope: App not authorized to use scope %s wem.learning.assignment.division.forbidden.action: The operation failed as the action is forbidden missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. wem.learning.assignment.forbidden: The operation failed as the action is forbidden missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:assignment:view x-purecloud-method-name: getLearningAssignment delete: tags: - Learning summary: Delete a learning assignment description: '' operationId: deleteLearningAssignment produces: - application/json parameters: - name: assignmentId in: path description: The Learning Assignment ID required: true type: string responses: '204': description: The learning assignment was deleted successfully '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' lm.no.permission.delete.assignment: The operation failed because the user does not have the right permissions authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.assignment.conflict.exception: The assignment was assigned by a rule and cannot be deleted. wem.learning.assignment.state.conflict.exception: The assignment is in a state where it cannot be deleted. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:delete x-purecloud-method-name: deleteLearningAssignment patch: tags: - Learning summary: Update Learning Assignment description: '' operationId: patchLearningAssignment produces: - application/json parameters: - name: assignmentId in: path description: The ID of Learning Assignment required: true type: string - in: body name: body description: The Learning Assignment to be updated required: false schema: $ref: '#/definitions/LearningAssignmentUpdate' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignment' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: quality.scoring.answer.not.in.assessment.form: Submitted answers contained reference to an answer which is not in the assessment form quality.scoring.unanswered.required.questions: Submitted answers did not contain a response to a required question bad.request: The request could not be understood by the server due to malformed syntax. quality.scoring.text.answer.too.long: Submitted answers contained a free text answer that was too long. invalid.property: Value [%s] is not a valid property for object [%s] quality.scoring.answer.not.provided: A submitted answer was empty quality.scoring.na.disabled.marked.na: A question or question group was marked as NA when it is not NA enabled. quality.scoring.unanswered.required.comments: Submitted answers did not contain a comment where it was required quality.scoring.question.not.in.assessment.form: Submitted answers contained reference to a question which is not in the assessment form constraint.validation: '%s' wem.learning.input.validation.error: There was an error parsing argument response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. quality.scoring.question.group.not.in.assessment.form: Submitted answers contained reference to a question group which is not in the assessment form invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' lm.update.state.error: Cannot update an assignment belonging to another user. missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.assignment.state.conflict.exception: The operation failed as the state to be updated conflicts wem.learning.module.type.exception: The operation failed as it conflicts with the module type '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-purecloud-method-name: patchLearningAssignment /api/v2/learning/assignments: get: tags: - Learning summary: List of Learning module Assignments description: Either moduleId or user value is required operationId: getLearningAssignments produces: - application/json parameters: - name: moduleId in: query description: Specifies the ID of the learning module. Fetch assignments for learning module ID required: false type: string - name: interval in: query description: 'Specifies the range of dueDates to be queried. Milliseconds will be truncated. A maximum of 1 year can be specified in the range. End date is not inclusive. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' required: false type: string format: interval - name: completionInterval in: query description: 'Specifies the range of completion dates to be used for filtering. A maximum of 1 year can be specified in the range. End date is not inclusive. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' required: false type: string format: interval - name: overdue in: query description: Specifies if only the non-overdue (overdue is "False") or overdue (overdue is "True") assignments are returned. If overdue is "Any" or if the overdue parameter is not supplied, all assignments are returned required: false type: string default: Any enum: - 'True' - 'False' - Any - name: pageSize in: query description: Page size required: false type: integer default: 25 format: int32 - name: pageNumber in: query description: Page number required: false type: integer default: 1 format: int32 - name: pass in: query description: Specifies if only the failed (pass is "False") or passed (pass is "True") assignments (completed with assessment)are returned. If pass is "Any" or if the pass parameter is not supplied, all assignments are returned required: false type: string default: Any enum: - 'True' - 'False' - Any - name: minPercentageScore in: query description: The minimum assessment score for an assignment (completed with assessment) to be included in the results (inclusive) required: false type: number format: float - name: maxPercentageScore in: query description: The maximum assessment score for an assignment (completed with assessment) to be included in the results (inclusive) required: false type: number format: float - name: sortOrder in: query description: Specifies result set sort order; if not specified, default sort order is descending (Desc) required: false type: string default: Desc enum: - Asc - Desc - name: sortBy in: query description: Specifies which field to sort the results by, default sort is by recommendedCompletionDate required: false type: string enum: - RecommendedCompletionDate - DateModified - name: userId in: query description: Specifies the list of user IDs to be queried, up to 100 user IDs. required: false type: array items: type: string collectionFormat: multi - name: types in: query description: Specifies the module types to filter by. Informational, AssessedContent and Assessment are deprecated required: false type: array items: type: string enum: - Informational - AssessedContent - Assessment - External - Native collectionFormat: multi - name: states in: query description: Specifies the assignment states to filter by required: false type: array items: type: string enum: - Assigned - InProgress - Completed - NotCompleted - InvalidSchedule collectionFormat: multi - name: expand in: query description: Specifies the expand option for returning additional information required: false type: array items: type: string enum: - ModuleSummary collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignmentsDomainEntity' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] date.interval.param.too.big: The range of the interval and completionInterval parameters cannot be more than 1 year constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). lm.no.permission.view.assignment: The operation failed because the user does not have the right permissions app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:assignment:view x-purecloud-method-name: getLearningAssignments post: tags: - Learning summary: Create Learning Assignment description: '' operationId: postLearningAssignments produces: - application/json parameters: - in: body name: body description: The Learning Assignment to be created required: false schema: $ref: '#/definitions/LearningAssignmentCreate' responses: '200': description: Assignment created schema: $ref: '#/definitions/LearningAssignment' '202': description: Assignment creation request accepted schema: $ref: '#/definitions/LearningAssignment' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' lm.no.permission.create.assignment: The operation failed because the user does not have the right permissions '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.assignment.conflict.exception: The operation failed as the assignment conflicts with the existing assignment wem.learning.assignment.state.conflict.exception: A rule-based assignment already exists in a state that prevents this action. wem.learning.assignment.schedule.conflict.exception: There is a schedule conflict when performing this action. wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:add x-purecloud-method-name: postLearningAssignments /api/v2/learning/assignments/{assignmentId}/reschedule: patch: tags: - Learning summary: Reschedule Learning Assignment description: '' operationId: patchLearningAssignmentReschedule produces: - application/json parameters: - name: assignmentId in: path description: The ID of Learning Assignment required: true type: string - in: body name: body description: The Learning assignment reschedule model required: false schema: $ref: '#/definitions/LearningAssignmentReschedule' responses: '200': description: Assignment rescheduled schema: $ref: '#/definitions/LearningAssignment' '202': description: Assignment reschedule request accepted schema: $ref: '#/definitions/LearningAssignment' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' lm.reschedule.state.error: Cannot reschedule an assignment belonging to another user. authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.assignment.state.conflict.exception: The assignment is in a state where it cannot be rescheduled. wem.learning.assignment.schedule.conflict.exception: There is a schedule conflict when performing this action. wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:reschedule x-purecloud-method-name: patchLearningAssignmentReschedule /api/v2/learning/assignments/me: get: tags: - Learning summary: List of Learning Assignments assigned to current user description: '' operationId: getLearningAssignmentsMe produces: - application/json parameters: - name: moduleId in: query description: Specifies the ID of the learning module. Fetch assignments for learning module ID required: false type: string - name: interval in: query description: 'Specifies the range of dueDates to be queried. Milliseconds will be truncated. A maximum of 1 year can be specified in the range. End date is not inclusive. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' required: false type: string format: interval - name: completionInterval in: query description: 'Specifies the range of completion dates to be used for filtering. A maximum of 1 year can be specified in the range. End date is not inclusive. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' required: false type: string format: interval - name: overdue in: query description: Specifies if only the non-overdue (overdue is "False") or overdue (overdue is "True") assignments are returned. If overdue is "Any" or if the overdue parameter is not supplied, all assignments are returned required: false type: string default: Any enum: - 'True' - 'False' - Any - name: pageSize in: query description: Page size required: false type: integer default: 25 format: int32 - name: pageNumber in: query description: Page number required: false type: integer default: 1 format: int32 - name: pass in: query description: Specifies if only the failed (pass is "False") or passed (pass is "True") assignments (completed with assessment)are returned. If pass is "Any" or if the pass parameter is not supplied, all assignments are returned required: false type: string default: Any enum: - 'True' - 'False' - Any - name: minPercentageScore in: query description: The minimum assessment score for an assignment (completed with assessment) to be included in the results (inclusive) required: false type: number format: float - name: maxPercentageScore in: query description: The maximum assessment score for an assignment (completed with assessment) to be included in the results (inclusive) required: false type: number format: float - name: sortOrder in: query description: Specifies result set sort order; if not specified, default sort order is descending (Desc) required: false type: string default: Desc enum: - Asc - Desc - name: sortBy in: query description: Specifies which field to sort the results by, default sort is by recommendedCompletionDate required: false type: string enum: - RecommendedCompletionDate - DateModified - name: types in: query description: Specifies the module types to filter by. Informational, AssessedContent and Assessment are deprecated required: false type: array items: type: string enum: - Informational - AssessedContent - Assessment - External - Native collectionFormat: multi - name: states in: query description: Specifies the assignment states to filter by required: false type: array items: type: string enum: - Assigned - InProgress - Completed - NotCompleted - InvalidSchedule collectionFormat: multi - name: expand in: query description: Specifies the expand option for returning additional information required: false type: array items: type: string enum: - ModuleSummary collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignmentsDomainEntity' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] date.interval.param.too.big: The range of the interval and completionInterval parameters cannot be more than 1 year constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-purecloud-method-name: getLearningAssignmentsMe /api/v2/learning/assignments/{assignmentId}/reset: post: tags: - Learning summary: Reset Learning Assignment description: This will reset the state of the assignment to 'Assigned' and remove the version of Learning module associated with the assignment operationId: postLearningAssignmentReset produces: - application/json parameters: - name: assignmentId in: path description: The Learning Assignment ID required: true type: string responses: '200': description: Reset version of assignment which can be taken again schema: $ref: '#/definitions/LearningAssignment' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: lm.no.permission.reset.assignment: The operation failed because the user does not have the right permissions missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.module.type.exception: The operation failed as it conflicts with the module type wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:reset x-purecloud-method-name: postLearningAssignmentReset /api/v2/learning/assignments/{assignmentId}/reassign: post: tags: - Learning summary: Reassign Learning Assignment description: This will reassign the state of the assignment to 'Assigned' and update the assignment to the latest version of the module operationId: postLearningAssignmentReassign produces: - application/json parameters: - name: assignmentId in: path description: The Learning Assignment ID required: true type: string responses: '200': description: Reassigned version of assignment which can be taken again schema: $ref: '#/definitions/LearningAssignment' '202': description: Assignment reassign request accepted schema: $ref: '#/definitions/LearningAssignment' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.module.type.exception: The operation failed as it conflicts with the module type wem.learning.assignment.schedule.conflict.exception: There is a schedule conflict when performing this action. wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:add x-purecloud-method-name: postLearningAssignmentReassign /api/v2/learning/assignments/bulkadd: post: tags: - Learning summary: Add multiple learning assignments description: '' operationId: postLearningAssignmentsBulkadd produces: - application/json parameters: - in: body name: body description: The learning assignments to be created required: false schema: type: array items: $ref: '#/definitions/LearningAssignmentItem' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignmentBulkAddResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: None of the provided learning modules were found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:add x-purecloud-method-name: postLearningAssignmentsBulkadd /api/v2/learning/assignments/bulkremove: post: tags: - Learning summary: Remove multiple Learning Assignments description: '' operationId: postLearningAssignmentsBulkremove produces: - application/json parameters: - in: body name: body description: The IDs of the learning assignments to be removed required: false schema: type: array items: type: string responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignmentBulkRemoveResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:delete x-purecloud-method-name: postLearningAssignmentsBulkremove /api/v2/learning/assignments/{assignmentId}/steps/{stepId}: get: tags: - Learning summary: Get Learning Assignment Step description: Permission not required if you are the assigned user of the learning assignment operationId: getLearningAssignmentStep produces: - application/json parameters: - name: assignmentId in: path description: The ID of Learning Assignment required: true type: string - name: stepId in: path description: The ID of Learning Assignment Step required: true type: string - name: shareableContentObjectId in: query description: The ID of SCO to load required: false type: string - name: defaultShareableContentObject in: query description: The default SCO to retrieve required: false type: string enum: - First - Last - Next - name: expand in: query description: Fields to expand in response required: false type: array items: type: string enum: - moduleStep collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignmentStep' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. wem.learning.assignment.forbidden: The operation failed as the action is forbidden missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:assignment:viewOwn x-purecloud-method-name: getLearningAssignmentStep patch: tags: - Learning summary: Update Learning Assignment Step description: Permission not required if you are the assigned user of the learning assignment operationId: patchLearningAssignmentStep produces: - application/json parameters: - name: assignmentId in: path description: The ID of Learning Assignment required: true type: string - name: stepId in: path description: The ID of Learning Assignment Step required: true type: string - in: body name: body description: The Learning Assignment Step to be updated required: false schema: $ref: '#/definitions/LearningAssignmentStep' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignmentStep' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:assignment:editOwn x-purecloud-method-name: patchLearningAssignmentStep /api/v2/learning/rules/query: post: tags: - Learning summary: Get users for learning module rule description: This will get the users who matches the given rule. operationId: postLearningRulesQuery produces: - application/json parameters: - name: pageSize in: query description: Page size required: true type: integer default: 50 format: int32 - name: pageNumber in: query description: Page number required: true type: integer default: 1 format: int32 - in: body name: body description: The learning module rule to fetch users required: true schema: $ref: '#/definitions/LearningAssignmentUserQuery' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignmentUserListing' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.rule.limit.exceeded: There are too many rule parts bad.request: The request could not be understood by the server due to malformed syntax. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' wem.learning.argument.exception: There was an error parsing argument wem.learning.input.validation.error: There was an error parsing argument response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. wem.learning.private.api.http.exception: There was an error when retrieving users wem.learning.rule.part.exceeded: There are too many values in rule parts invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:rule:view x-purecloud-method-name: postLearningRulesQuery /api/v2/learning/modules/{moduleId}: get: tags: - Learning summary: Get a learning module description: '' operationId: getLearningModule produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - name: expand in: query description: Fields to expand in response(case insensitive) required: false type: array items: type: string enum: - assessmentForm - coverArt collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModule' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:module:view x-purecloud-method-name: getLearningModule put: tags: - Learning summary: Update a learning module description: This will update the name, description, completion time in days and inform steps for a learning module operationId: putLearningModule produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - in: body name: body description: The learning module to be updated required: true schema: $ref: '#/definitions/LearningModuleRequest' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModule' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error in the input argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. wem.learning.private.api.http.exception: There was an error when updating learning module invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' wem.learning.argument.exception: There was an error parsing argument invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' wem.informsteps.access.denied: Cannot update Learning Module as the user has no access to inform steps authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' wem.learning.builtin.forbidden.action: The operation failed for built in courses since the action is forbidden missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:module:edit x-purecloud-method-name: putLearningModule delete: tags: - Learning summary: Delete a learning module description: This will delete a learning module if it is unpublished or it will delete a published and archived learning module operationId: deleteLearningModule produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string responses: '204': description: The learning module was deleted successfully '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument wem.learning.server.too.busy: The operation failed because the service is too busy bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable wem.learning.forbidden.action: The operation failed since the action is forbidden '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' wem.learning.builtin.forbidden.action: TThe operation failed for built in courses since the action is forbidden missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed since learning module not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:module:delete x-purecloud-method-name: deleteLearningModule /api/v2/learning/modules/{moduleId}/preview: get: tags: - Learning summary: Get a learning module preview description: '' operationId: getLearningModulePreview produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModulePreviewGetResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:module:preview x-purecloud-method-name: getLearningModulePreview put: tags: - Learning summary: Update a learning module preview description: This will update a learning module preview operationId: putLearningModulePreview produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - in: body name: body description: The learning module to be updated required: true schema: $ref: '#/definitions/LearningModulePreviewUpdateRequest' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModulePreviewUpdateResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error in the input argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. wem.learning.private.api.http.exception: There was an error when updating learning module invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' wem.learning.argument.exception: There was an error parsing argument invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' wem.informsteps.access.denied: Cannot update Learning Module as the user has no access to inform steps authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' wem.learning.builtin.forbidden.action: The operation failed for built in courses since the action is forbidden missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:module:preview x-purecloud-method-name: putLearningModulePreview /api/v2/learning/modules/{moduleId}/jobs/{jobId}: get: tags: - Learning summary: Get a specific Learning Module job status description: '' operationId: getLearningModuleJob produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - name: jobId in: path description: The ID of the learning module job required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModuleJobResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] wem.learning.bad.request: There was an error parsing argument constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.job.not.found: The operation failed because the specified learning job is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:module:view x-purecloud-method-name: getLearningModuleJob /api/v2/learning/modules/{moduleId}/versions/{versionId}: get: tags: - Learning summary: Get specific version of a published module description: '' operationId: getLearningModuleVersion produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - name: versionId in: path description: The version of learning module required: true type: string - name: expand in: query description: Fields to expand in response(case insensitive) required: false type: array items: type: string enum: - assessmentForm - coverArt collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModule' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:module:view x-purecloud-method-name: getLearningModuleVersion /api/v2/learning/modules/coverart/{coverArtId}: get: tags: - Learning summary: Get a specific Learning Module cover art using ID description: '' operationId: getLearningModulesCoverartCoverArtId produces: - application/json parameters: - name: coverArtId in: path description: Key identifier for the cover art required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModuleCoverArtResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.cover.art.not.found: The operation failed because the specified learning module cover art is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:coverart:view x-purecloud-method-name: getLearningModulesCoverartCoverArtId /api/v2/learning/modules: get: tags: - Learning summary: Get all learning modules of an organization description: '' operationId: getLearningModules produces: - application/json parameters: - name: types in: query description: Specifies the module types. Informational, AssessedContent and Assessment are deprecated required: false type: array items: type: string enum: - Informational - AssessedContent - Assessment - External - Native collectionFormat: multi - name: pageSize in: query description: Page size required: false type: integer default: 25 format: int32 - name: pageNumber in: query description: Page number required: false type: integer default: 1 format: int32 - name: sortOrder in: query description: Sort order required: false type: string default: ascending enum: - ascending - descending - name: sortBy in: query description: Sort by required: false type: string default: name enum: - name - createddate - percentpassed - averagescore - name: searchTerm in: query description: Search Term (searchable by name) required: false type: string - name: expand in: query description: Fields to expand in response(case insensitive) required: false type: array items: type: string enum: - rule - summaryData collectionFormat: multi - name: statuses in: query description: Specifies the module statuses to filter by required: false type: array items: type: string enum: - Unpublished - Published - Archived collectionFormat: multi - name: externalIds in: query description: Specifies the module external IDs to filter by. Only one ID is allowed required: false type: array items: type: string collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModuleList' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:module:view x-purecloud-method-name: getLearningModules post: tags: - Learning summary: Create a new learning module description: This will create a new unpublished learning module with the specified fields. operationId: postLearningModules produces: - application/json parameters: - in: body name: body description: The learning module to be created required: true schema: $ref: '#/definitions/LearningModuleRequest' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModule' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. wem.too.many.modules: The max number of modules per organization has been reached wem.learning.private.api.http.exception: There was an error when creating learning module invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' wem.learning.argument.exception: There was an error parsing argument invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' wem.informsteps.access.denied: Cannot create Learning Module as the user has no access to inform steps authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' wem.learning.builtin.forbidden.action: The operation failed for built in courses since the action is forbidden missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:module:add x-purecloud-method-name: postLearningModules /api/v2/learning/modules/{moduleId}/publish: post: tags: - Learning summary: Publish a Learning module description: '' operationId: postLearningModulePublish produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - in: body name: body description: The request body required: false schema: $ref: '#/definitions/LearningModulePublishRequest' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModulePublishResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: bad.request: The request could not be understood by the server due to malformed syntax. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' wem.learning.argument.exception: There was an error parsing argument wem.learning.input.validation.error: There was an error parsing argument response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. wem.learning.private.api.http.exception: There was an error when publishing learning module wem.learning.informsteps.empty.error: Cannot publish Learning Module as no inform steps provided wem.learning.bad.request: There was an error parsing argument invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' wem.informsteps.access.denied: Cannot publish Learning Module as the user has no access to inform steps authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' wem.learning.builtin.forbidden.action: The operation failed for built in courses since the action is forbidden missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed since learning module not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:module:publish x-purecloud-method-name: postLearningModulePublish /api/v2/learning/modules/{moduleId}/jobs: post: tags: - Learning summary: Starts a specified operation on learning module description: This will initiate operation specified in the request body for a learning module operationId: postLearningModuleJobs produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - in: body name: body description: The learning module job request required: true schema: $ref: '#/definitions/LearningModuleJobRequest' responses: '202': description: Start a specific Learning Module job schema: $ref: '#/definitions/LearningModuleJobResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] wem.learning.bad.request: There was an error parsing argument constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed since learning module not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.module.job.already.exists: The operation failed since a job already exists for the module wem.learning.module.type.exception: The operation failed as it conflicts with the module type wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:module:add x-purecloud-method-name: postLearningModuleJobs /api/v2/learning/modules/assignments: get: tags: - Learning summary: Get all learning modules of an organization including assignments for a specific user description: '' operationId: getLearningModulesAssignments produces: - application/json parameters: - name: userIds in: query description: The IDs of the users to include required: true type: array items: type: string collectionFormat: multi - name: pageSize in: query description: Page size required: false type: integer default: 25 format: int32 - name: pageNumber in: query description: Page number required: false type: integer default: 1 format: int32 - name: searchTerm in: query description: Search Term (searches by name and description) required: false type: string - name: overdue in: query description: Specifies if only modules with overdue/not overdue (overdue is "True" or "False") assignments are returned. If overdue is "Any" or omitted, both are returned and can including modules that are unassigned. required: false type: string default: Any enum: - 'True' - 'False' - Any - name: assignmentStates in: query description: Specifies the assignment states to return. required: false type: array items: type: string enum: - NotAssigned - Assigned - InProgress - Completed - InvalidSchedule collectionFormat: multi - name: expand in: query description: Fields to expand in response(case insensitive) required: false type: array items: type: string enum: - coverArt collectionFormat: multi responses: '200': description: successful operation schema: $ref: '#/definitions/AssignedLearningModuleDomainEntityListing' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] no.user.ids.specified: You must specify at least one userId constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ALL permissions: - learning:module:view - learning:assignment:view x-purecloud-method-name: getLearningModulesAssignments /api/v2/learning/modules/{moduleId}/users/{userId}/assignments: patch: tags: - Learning summary: Update an external assignment for a specific user description: '' operationId: patchLearningModuleUserAssignments produces: - application/json parameters: - name: moduleId in: path description: Key identifier for the module required: true type: string - name: userId in: path description: Key identifier for the user required: true type: string - in: body name: body description: The learning request for updating the assignment required: true schema: $ref: '#/definitions/LearningAssignmentExternalUpdate' responses: '200': description: successful operation schema: $ref: '#/definitions/LearningAssignment' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.assignment.not.found: The operation failed as the learning assignment is not found not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed as the learning module is not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.assignment.state.conflict.exception: A rule-based assignment already exists in a state that prevents this action. wem.learning.module.type.exception: Cannot perform update on assignment with module of type External '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ALL permissions: - learning:externalAssignment:edit x-purecloud-method-name: patchLearningModuleUserAssignments /api/v2/learning/modules/{moduleId}/rule: get: tags: - Learning summary: Get a learning module rule description: '' operationId: getLearningModuleRule produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModuleRule' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed since corresponding learning module was not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:rule:view x-purecloud-method-name: getLearningModuleRule put: tags: - Learning summary: Update a learning module rule description: This will update a learning module rule with the specified fields. operationId: putLearningModuleRule produces: - application/json parameters: - name: moduleId in: path description: The ID of the learning module required: true type: string - in: body name: body description: The learning module rule to be updated required: true schema: $ref: '#/definitions/LearningModuleRule' - name: assign in: query description: Whether to assign the module to users or not required: false type: boolean default: true responses: '200': description: successful operation schema: $ref: '#/definitions/LearningModuleRule' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' wem.learning.argument.exception: There was an error parsing argument invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.module.not.found: The operation failed since corresponding learning module was not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.module.archived.error: The operation failed because the module is already archived '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:rule:edit x-purecloud-method-name: putLearningModuleRule /api/v2/learning/scheduleslots/jobs: post: tags: - Learning summary: Start job to retrieve slots where a learning activity can be scheduled. description: '' operationId: postLearningScheduleslotsJobs produces: - application/json parameters: - in: body name: body description: The slots search request required: true schema: $ref: '#/definitions/LearningScheduleSlotsJobRequest' responses: '202': description: Learning schedule slots job accepted. schema: $ref: '#/definitions/LearningScheduleSlotsJobResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable wem.learning.forbidden.action: There was an error as the action was forbidden invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. no.permission.for.requested.users: The requested users are in a division you do not have permission to. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:scheduleSlotJob:add x-purecloud-method-name: postLearningScheduleslotsJobs /api/v2/learning/scheduleslots/jobs/{jobId}: get: tags: - Learning summary: Retrieve the status of the job for the slots where a learning activity can be scheduled. description: '' operationId: getLearningScheduleslotsJob produces: - application/json parameters: - name: jobId in: path description: The ID of the job required: true type: string responses: '200': description: Learning schedule slots job retrieved. schema: $ref: '#/definitions/LearningScheduleSlotsJobResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable wem.learning.forbidden.action: There was an error as the action was forbidden invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. no.permission.for.requested.users: The requested users are in a division you do not have permission to. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:scheduleSlotJob:view x-purecloud-method-name: getLearningScheduleslotsJob /api/v2/learning/scheduleslots/query: post: tags: - Learning summary: Get list of possible slots where a learning activity can be scheduled. description: '' operationId: postLearningScheduleslotsQuery produces: - application/json parameters: - in: body name: body description: The slot search request required: true schema: $ref: '#/definitions/LearningScheduleSlotsQueryRequest' responses: '200': description: Learning slots retrieved schema: $ref: '#/definitions/LearningScheduleSlotsQueryResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable wem.learning.forbidden.action: There was an error as the action was forbidden invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. no.permission.for.requested.users: The requested users are in a division you do not have permission to. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. wem.learning.assignment.schedule.conflict.exception: The operation failed because of a conflict '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.internal.server.error: The operation failed in an unexpected way internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.server.too.busy: The operation failed because the service is too busy service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:scheduleSlot:view x-purecloud-method-name: postLearningScheduleslotsQuery /api/v2/learning/scorm/{scormId}: get: tags: - Learning summary: Get Learning SCORM Result description: '' operationId: getLearningScormScormId produces: - application/json parameters: - name: scormId in: path description: The ID of the SCORM package required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/LearningScormResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. wem.learning.scorm.not.found: The learning SCORM package was not found '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning - learning:readonly x-inin-requires-permissions: type: ANY permissions: - learning:scorm:view x-purecloud-method-name: getLearningScormScormId /api/v2/learning/scorm: post: tags: - Learning summary: Create a SCORM package upload request description: '' operationId: postLearningScorm produces: - application/json parameters: - in: body name: body description: The SCORM package to be uploaded required: false schema: $ref: '#/definitions/LearningScormUploadRequest' responses: '201': description: SCORM package upload request created schema: $ref: '#/definitions/LearningScormUploadResponse' '400': description: The request could not be understood by the server due to malformed syntax. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: wem.learning.input.validation.error: There was an error parsing argument bad.request: The request could not be understood by the server due to malformed syntax. response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ' invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s' client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior. invalid.property: Value [%s] is not a valid property for object [%s] constraint.validation: '%s' invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s' '401': description: No authentication bearer token specified in authorization header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.required: No authentication bearer token specified in authorization header. ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]' bad.credentials: Invalid login credentials. '403': description: You are not authorized to perform the requested action. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s). app.not.authorized.for.scope: App not authorized to use scope %s missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s' not.authorized: You are not authorized to perform the requested action. missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s' authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]' missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s' '404': description: The requested resource was not found. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: not.found: The requested resource was not found. '408': description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads. '409': description: The request conflicts with the current state of the target resource. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.conflict: The request conflicts with the current state of the target resource. '413': description: 'The request is over the size limit. Maximum bytes: %s' schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s' '415': description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header. '429': description: Rate limit exceeded the maximum. Retry the request in [%s] seconds schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds '500': description: The server encountered an unexpected condition which prevented it from fulfilling the request. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request. '503': description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance). '504': description: The request timed out. schema: $ref: '#/definitions/ErrorBody' x-inin-error-codes: authentication.request.timeout: Authentication request timeout. request.timeout: The request timed out. security: - PureCloud OAuth: - learning x-inin-requires-permissions: type: ANY permissions: - learning:scorm:add x-purecloud-method-name: postLearningScorm definitions: ReviewAssessmentResults: type: object properties: byAssignees: type: boolean description: If true, learning assignment results can be seen in detail by assignees byViewers: type: boolean description: If true, learning assignment results can be seen in detail by people who are eligible to view LearningSlotFullDayTimeOffMarker: type: object properties: businessUnitDate: type: string format: date description: 'The date of the time off marker, interpreted in the business unit''s time zone. Dates are represented as an ISO-8601 string. For example: yyyy-MM-dd' lengthMinutes: type: integer format: int32 description: The length of the time off marker in minutes description: type: string description: The description of the time off marker activityCodeId: type: string description: The ID of the activity code associated with the time off marker paid: type: boolean description: Whether the time off marker is paid timeOffRequestId: type: string description: The ID of the time off request LearningScormUploadRequest: type: object required: - contentMd5 properties: contentMd5: type: string description: The MD5 content of the SCORM package description: Learning SCORM upload request LearningModuleRule: type: object required: - isActive - parts properties: id: type: string description: The globally unique identifier for the object. readOnly: true isActive: type: boolean description: If true, rule is active parts: type: array description: The parts of a learning module rule items: $ref: '#/definitions/LearningModuleRuleParts' selfUri: type: string format: uri description: The URI for this object readOnly: true LearningCoverArtThumbnail: type: object properties: resolution: type: string position: 1 description: Resolution of thumbnail url: type: string position: 2 description: The URL for the thumbnail DisallowedEntityLearningAssignmentReference: type: object properties: errorCode: type: string description: The error code associated with this disallowed entity entity: description: The entity that was disallowed $ref: '#/definitions/LearningAssignmentReference' LearningModuleAutoAssignRequest: type: object required: - enabled - ruleId properties: ruleId: type: string description: The id of the rule enabled: type: boolean description: Whether the rule is enabled for the module description: Auto assign request LearningAssignmentAggregateQueryResponseData: type: object properties: interval: type: string format: interval description: 'Specifies the range of due dates to be used for filtering. A maximum of 1 year can be specified in the range. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' metrics: type: array description: The list of aggregated metrics items: $ref: '#/definitions/LearningAssignmentAggregateQueryResponseMetric' LearningAssignmentStepScoStructure: type: object properties: id: type: string description: The id of this SCO in the course manifest readOnly: true name: type: string description: The name of this SCO in the course manifest readOnly: true successStatus: type: string description: The success status of this SCO readOnly: true enum: - Passed - Failed - Unknown completionStatus: type: string description: The completion status of this SCO readOnly: true enum: - Completed - Incomplete - NotAttempted - Unknown children: type: array description: Child items belonging to this SCO in the course manifest readOnly: true items: $ref: '#/definitions/LearningAssignmentStepScoStructure' LearningModulePreviewGetResponse: type: object required: - name properties: id: type: string description: The globally unique identifier for the object. readOnly: true name: type: string description: The name of learning module description: type: string description: The description of learning module coverArt: description: The cover art for the learning module $ref: '#/definitions/LearningModuleCoverArtResponse' enforceContentOrder: type: boolean description: If true, learning module content should be viewed one by one in order reviewAssessmentResults: description: Allows to view Assessment results in detail $ref: '#/definitions/ReviewAssessmentResults' assessmentForm: description: The assessment form for learning module $ref: '#/definitions/AssessmentForm' assignment: description: the assignment preview $ref: '#/definitions/LearningModulePreviewGetResponseAssignment' selfUri: type: string format: uri description: The URI for this object readOnly: true description: Learning module preview get response LearningModuleAutoAssignResponse: type: object required: - enabled - rule properties: rule: description: The rule reference $ref: '#/definitions/UsersRulesRuleReference' enabled: type: boolean description: Whether the rule is enabled for the module description: Auto assign response LearningModulePreviewUpdateStep: type: object properties: id: type: string description: The id of the step successStatus: type: string description: The success status of the step enum: - Passed - Failed - Unknown completionStatus: type: string description: The completion status of the step enum: - Completed - Incomplete - NotAttempted - Unknown completionPercentage: type: number format: float description: The completion percentage of the step percentageScore: type: number format: float description: Percentage Score structure: type: array description: The structure for any SCO associated with this step items: $ref: '#/definitions/LearningModulePreviewUpdateScoStructure' description: Learning module preview update assignment step LearningAssignmentBulkRemoveResponse: type: object properties: entities: type: array description: The learning assignments that were removed successfully items: $ref: '#/definitions/LearningAssignmentEntity' disallowedEntities: type: array description: The learning assignments that were not removed due to missing permissions items: $ref: '#/definitions/DisallowedEntityLearningAssignmentReference' LearningAssignmentUser: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true name: type: string selfUri: type: string format: uri description: The URI for this object readOnly: true LearningAssessment: type: object properties: assessmentId: type: string description: The Id of the assessment readOnly: true contextId: type: string description: The context Id of the related assessment form readOnly: true assessmentFormId: type: string description: The Id of the related assessment form readOnly: true status: type: string description: Status of the assessment readOnly: true enum: - Pending - InProgress - Finished answers: description: Answers for the assessment $ref: '#/definitions/AssessmentScoringSet' dateCreated: type: string format: date-time description: 'Date the assessment was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true dateModified: type: string format: date-time description: 'Date the assessment was last updated. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true dateSubmitted: type: string format: date-time description: 'Date the assessment was submitted. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true LearningModulePreviewUpdateResponseAssignment: type: object properties: state: type: string description: The Learning Assignment state enum: - Assigned - InProgress - Completed - Deleted - NotCompleted - InvalidSchedule percentageScore: type: number format: float description: The user's percentage score for this assignment readOnly: true completionPercentage: type: number format: float description: The overall completion percentage of assignment readOnly: true assessmentPercentageScore: type: number format: float description: The user's percentage score for this assignment's assessment readOnly: true assessmentCompletionPercentage: type: number format: float description: The assessment completion percentage of assignment readOnly: true isPassed: type: boolean description: True if the assessment was passed readOnly: true currentStep: description: The next assignment step readOnly: true $ref: '#/definitions/LearningModulePreviewUpdateResponseCurrentStep' steps: type: array description: List of assignment steps readOnly: true items: $ref: '#/definitions/LearningModulePreviewUpdateStep' description: Learning module preview update response assignment LearningModulePreviewUpdateRequest: type: object properties: state: type: string description: The assignment State enum: - Assigned - InProgress - Completed - Deleted - NotCompleted - InvalidSchedule currentStep: description: The assignment current step $ref: '#/definitions/LearningModulePreviewUpdateRequestCurrentStep' steps: type: array description: The assignment Steps items: $ref: '#/definitions/LearningModulePreviewUpdateStep' assessment: description: The assessment for learning module $ref: '#/definitions/LearningAssessment' assessmentForm: description: The assessment form for learning module $ref: '#/definitions/AssessmentForm' description: Learning module preview update request LearningScheduleSlotsQueryResponse: type: object properties: suggestedSlots: type: array description: List of slots where Learning activity can be scheduled items: $ref: '#/definitions/LearningSlot' wfmScheduleActivities: type: array description: Detailed data for WFM scheduled activities items: $ref: '#/definitions/LearningSlotWfmScheduleActivity' LearningAssessmentScoringRequest: type: object required: - answers - assessmentForm properties: assessmentForm: position: 1 description: The assessment form to score against $ref: '#/definitions/AssessmentForm' answers: position: 2 description: The answers to score $ref: '#/definitions/AssessmentScoringSet' LearningAssignmentCreate: type: object required: - moduleId - userId properties: addToSchedule: type: boolean description: If True, adds the assignment to their schedule moduleId: type: string position: 1 description: The Learning module Id associated with this assignment userId: type: string position: 2 description: The User for whom the assignment is assigned recommendedCompletionDate: type: string format: date-time position: 3 description: 'The recommended completion date of assignment. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' lengthInMinutes: type: integer format: int32 position: 4 description: The length in minutes of assignment LearningModuleCoverArtRequest: type: object required: - id properties: id: type: string description: The key identifier for the cover art LearningScormResponse: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true status: type: string description: The status of the SCORM package enum: - UploadPending - Unpacking - Error - Ready errorCode: type: string description: The error code of the SCORM package (on failure) errorMessage: type: string description: The error message associated with the error code percentageUnpacked: type: number format: float description: The percentage of the SCORM package that has been unpacked selfUri: type: string format: uri description: The URI for this object readOnly: true description: Learning SCORM package LearningScheduleSlotsQueryRequest: type: object required: - interval - lengthInMinutes - userIds properties: interval: type: string format: interval description: 'Range of time to get slots for scheduling learning activities. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' lengthInMinutes: type: integer format: int32 description: The duration of Learning Assignment to schedule in 15 minutes granularity userIds: type: array description: The user IDs for which to fetch schedules. Must be only 1. items: type: string interruptibleAssignmentId: type: string description: Assignment ID to exclude from consideration when determining blocked slots LearningModulePreviewGetResponseAssignment: type: object properties: state: type: string description: The Learning Assignment state enum: - Assigned - InProgress - Completed - Deleted - NotCompleted - InvalidSchedule percentageScore: type: number format: float description: The user's percentage score for this assignment readOnly: true assessmentPercentageScore: type: number format: float description: The user's percentage score for this assignment's assessment readOnly: true isPassed: type: boolean description: True if the assessment was passed readOnly: true assessmentCompletionPercentage: type: number format: float description: The assessment completion percentage of assignment readOnly: true completionPercentage: type: number format: float description: The overall completion percentage of assignment readOnly: true steps: type: array description: List of assignment steps readOnly: true items: $ref: '#/definitions/LearningModulePreviewGetResponseStep' description: Learning module preview get response assignment LearningAssignmentAggregateResponse: type: object properties: results: type: array description: The results of the query items: $ref: '#/definitions/LearningAssignmentAggregateQueryResponseGroupedData' LearningAssignmentReschedule: type: object required: - dateRecommendedForCompletion properties: dateRecommendedForCompletion: type: string format: date-time description: 'The recommended completion date of the assignment. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' lengthInMinutes: type: integer format: int32 description: The length in minutes of the assignment addToSchedule: type: boolean description: If True, adds the assignment to their schedule LearningAssignmentUserListing: type: object properties: entities: type: array items: $ref: '#/definitions/LearningAssignmentUser' pageSize: type: integer format: int32 pageNumber: type: integer format: int32 total: type: integer format: int64 description: The number of users matching search term unfilteredTotal: type: integer format: int32 description: The total number of users firstUri: type: string format: uri nextUri: type: string format: uri previousUri: type: string format: uri lastUri: type: string format: uri selfUri: type: string format: uri pageCount: type: integer format: int32 description: List of users matching the learning module rule LearningAssignmentExternalUpdate: type: object properties: state: type: string description: The Learning Assignment state enum: - Assigned - InProgress - Completed - Deleted - NotCompleted - InvalidSchedule percentageScore: type: number format: float description: The score isPassed: type: boolean description: Was the assignment marked as passed LearningModuleRequest: type: object required: - completionTimeInDays - name properties: name: type: string description: The name of learning module description: type: string description: The description of learning module completionTimeInDays: type: integer format: int32 description: The completion time of learning module in days informSteps: type: array description: The list of inform steps in a learning module items: $ref: '#/definitions/LearningModuleInformStepRequest' type: type: string description: The type for the learning module. Informational, AssessedContent and Assessment are deprecated enum: - Informational - AssessedContent - Assessment - External - Native assessmentForm: description: The assessment form for learning module $ref: '#/definitions/AssessmentForm' coverArt: description: The cover art for the learning module $ref: '#/definitions/LearningModuleCoverArtRequest' lengthInMinutes: type: integer format: int32 description: The recommended time in minutes to complete the module excludedFromCatalog: type: boolean description: If true, learning module is excluded when retrieving modules for manual assignment externalId: type: string description: 'The external ID of the learning module. Maximum length: 50 characters.' minLength: 0 maxLength: 50 enforceContentOrder: type: boolean description: If true, learning module content should be viewed one by one in order reviewAssessmentResults: description: Allows to view Assessment results in detail $ref: '#/definitions/ReviewAssessmentResults' autoAssign: description: The configuration for linking a module to a rule $ref: '#/definitions/LearningModuleAutoAssignRequest' description: Learning module request LearningModuleJobResponse: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true status: type: string description: The status of learning module job enum: - Accepted - Running - Completed - Failed selfUri: type: string format: uri description: The URI for this object readOnly: true description: Learning module job response LearningModulePreviewGetResponseStep: type: object properties: id: type: string description: The id of the step readOnly: true moduleStep: description: The module step data for this step readOnly: true $ref: '#/definitions/LearningModuleInformStep' structure: type: array description: The structure for any SCO associated with this step readOnly: true items: $ref: '#/definitions/LearningModulePreviewGetScoStructure' successStatus: type: string description: The success status of this step readOnly: true enum: - Passed - Failed - Unknown completionStatus: type: string description: The completion status of the assignment step readOnly: true enum: - Completed - Incomplete - NotAttempted - Unknown completionPercentage: type: number format: float description: The completion percentage for this step percentageScore: type: number format: float description: The percentage score for this step readOnly: true signedCookie: description: The signed cookie information needed to access the content of this step (if required) readOnly: true $ref: '#/definitions/LearningAssignmentStepSignedCookie' description: Learning module preview get response assignment step AssessmentForm: type: object required: - passPercent - questionGroups properties: id: type: string description: The globally unique identifier for the object. readOnly: true dateModified: type: string format: date-time description: 'Last modified date of the assessment form. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true contextId: type: string description: The unique Id for all versions of this assessment form readOnly: true selfUri: type: string format: uri description: The URI for this object readOnly: true published: type: boolean position: 2 description: If true, assessment form is published readOnly: true passPercent: type: integer format: int32 position: 3 description: The pass percent for the assessment form questionGroups: type: array position: 4 description: A list of question groups items: $ref: '#/definitions/AssessmentFormQuestionGroup' LearningAssignmentStep: type: object properties: id: type: string description: The ID of the learning assignment step readOnly: true moduleStep: description: The module step data for this step readOnly: true $ref: '#/definitions/LearningModuleInformStep' structure: type: array description: The structure for any SCO associated with this step readOnly: true items: $ref: '#/definitions/LearningAssignmentStepScoStructure' successStatus: type: string description: The success status of this step readOnly: true enum: - Passed - Failed - Unknown completionStatus: type: string description: The completion status of the assignment step readOnly: true enum: - Completed - Incomplete - NotAttempted - Unknown completionPercentage: type: number format: float description: The completion percentage for this step percentageScore: type: number format: float description: The percentage score for this step readOnly: true shareableContentObject: description: The SCO (Shareable Content Object) data $ref: '#/definitions/LearningShareableContentObject' signedCookie: description: The signed cookie information needed to access the content of this step (if required) readOnly: true $ref: '#/definitions/LearningAssignmentStepSignedCookie' selfUri: type: string format: uri description: The URI for this object readOnly: true description: Learning assignment step AnswerOption: type: object properties: id: type: string contextId: type: string description: An identifier for this answer that stays the same across versions of the form. readOnly: true builtInType: type: string description: 'The built-in type of this answer option. Only used for built-in answer options such as selection states for Multiple Select answer options. Possible values include: Selected, Unselected' enum: - Selected - Unselected text: type: string value: type: integer format: int32 assistanceConditions: type: array description: List of assistance conditions which are combined together with a logical AND operator. Eg ( assistanceCondtion1 && assistanceCondition2 ) wherein assistanceCondition could be ( EXISTS topic1 || topic2 || ... ) or (NOTEXISTS topic3 || topic4 || ...). items: $ref: '#/definitions/AssistanceCondition' LearningSlot: type: object properties: dateStart: type: string format: date-time description: 'Start date and time of scheduled Learning activity slot. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' lengthInMinutes: type: integer format: int32 description: Length of Learning activity slot in minutes staffingDifference: type: number format: double description: Difference between scheduled and forecast headcount for this slot after scheduling the Learning activity differenceRating: type: string description: Rating based on the staffing difference for scheduled slot enum: - Poor - Neutral - Good LearningModulePreviewUpdateScoStructure: type: object properties: id: type: string description: The id of this SCO in the course manifest name: type: string description: The name of this SCO in the course manifest successStatus: type: string description: The success status of this SCO enum: - Passed - Failed - Unknown completionStatus: type: string description: The completion status of this SCO enum: - Completed - Incomplete - NotAttempted - Unknown percentageScore: type: number format: float description: Percentage Score children: type: array description: Child items belonging to this SCO in the course manifest items: $ref: '#/definitions/LearningModulePreviewUpdateScoStructure' description: Learning module preview update SCO structure DisallowedEntityLearningAssignmentItem: type: object properties: errorCode: type: string description: The error code associated with this disallowed entity entity: description: The entity that was disallowed $ref: '#/definitions/LearningAssignmentItem' LearningModuleSummary: type: object properties: assignedCount: type: integer format: int32 description: The total number of assignments assigned for a learning module completedCount: type: integer format: int32 description: The number of assignments completed for a learning module passedCount: type: integer format: int32 description: The number of assignments passed for a learning module completedSum: type: number format: float description: The sum of assignment scores for a learning module description: Learning module summary data LearningModuleInformStep: type: object required: - order - type - value properties: type: type: string position: 1 description: The learning module inform step type enum: - Url - Content - GenesysBuiltInCourse - RichText - Scorm name: type: string position: 2 description: The name of the inform step or content value: type: string position: 3 description: The value for inform step sharingUri: type: string position: 4 description: The sharing uri for Content type inform step contentType: type: string position: 5 description: The document type for Content type Inform step order: type: integer format: int32 position: 6 description: The order of inform step in a learning module displayName: type: string position: 7 description: The display name for the inform step description: type: string position: 8 description: The description for the inform step UsersRulesRuleReference: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true selfUri: type: string format: uri description: The URI for this object readOnly: true LearningShareableContentObject: type: object required: - id properties: id: type: string description: The ID of the SCO from the course manifest. lessonStatus: type: string description: The status of the SCO. Maps to the SCORM 1.2 cmi.core.lesson_status property. enum: - Passed - Completed - Failed - Incomplete - Browsed - NotAttempted exit: type: string description: Indicates how or why the learner left the SCO. Maps to the SCORM 1.2 cmi.core.exit property. enum: - Timeout - Suspend - Logout - Empty location: type: string description: The learner’s current location in the SCO. Maps to the SCORM 1.2 cmi.core.lesson_location property. scoreRaw: type: number format: float description: The score of the most recent attempt on the SCO. Maps to the SCORM 1.2 cmi.core.score.raw property. scoreMax: type: number format: float description: The maximum score that could be achieved on the SCO. Maps to the SCORM 1.2 cmi.core.score.max property. scoreMin: type: number format: float description: The minimum score that could be achieved on the SCO. Maps to the SCORM 1.2 cmi.core.score.min property. suspendData: type: string description: The unique information generated by the SCO from previous uses. Maps to the SCORM 1.2 cmi.suspend_data property. credit: type: string description: Whether completing this course counts towards the overall assignment. Maps to the SCORM 1.2 cmi.core.credit property. readOnly: true enum: - Credit - NoCredit entry: type: string description: Whether the learner has previously accessed this SCO. Maps to the SCORM 1.2 cmi.core.entry property. readOnly: true enum: - AbInitio - Resume - Empty mode: type: string description: Identifies the mode in which the SCO should be presented to the learner. Maps to the SCORM 1.2 cmi.core.lesson_mode property. readOnly: true enum: - Browse - Normal - Review totalTime: type: string description: The total amount of time the learner has spent in the SCO expressed as an ISO 8601 Duration, for example PT2H10M3.5S. Maps to the SCORM 1.2 cmi.core.total_time property. readOnly: true sessionTime: type: string description: The amount of time spent in the SCO in this session expressed as an ISO-8601 Duration, for example PT2H10M3.5S. Maps to the SCORM 1.2 cmi.core.session_time property. href: type: string description: The href from the course manifest for this SCO. readOnly: true parameters: type: string description: The parameters from the course manifest for this SCO. readOnly: true launchData: type: string description: The launch data from the course manifest for this SCO. readOnly: true description: Learning assignment SCO (Shareable Content Object) AssignedLearningModule: type: object required: - completionTimeInDays - name properties: id: type: string description: The globally unique identifier for the object. readOnly: true name: type: string description: The name of learning module excludedFromCatalog: type: boolean description: If true, learning module is excluded when retrieving modules for manual assignment createdBy: description: The user who created learning module readOnly: true $ref: '#/definitions/UserReference' dateCreated: type: string format: date-time description: 'The date/time learning module was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true modifiedBy: description: The user who modified learning module readOnly: true $ref: '#/definitions/UserReference' dateModified: type: string format: date-time description: 'The date/time learning module was modified. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true version: type: integer format: int32 description: The version of published learning module readOnly: true externalId: type: string description: The external ID of the learning module readOnly: true source: type: string description: The source of the learning module readOnly: true enum: - UserCreated - GenesysBeyond rule: description: The rule for learning module; read-only, and only populated when requested via expand param. readOnly: true $ref: '#/definitions/LearningModuleRule' enforceContentOrder: type: boolean description: If true, learning module content should be viewed one by one in order reviewAssessmentResults: description: Allows to view Assessment results in detail $ref: '#/definitions/ReviewAssessmentResults' autoAssign: description: The auto assignment settings for this module $ref: '#/definitions/LearningModuleAutoAssignResponse' currentAssignments: type: array description: The current assignments for the requested users items: $ref: '#/definitions/LearningAssignment' selfUri: type: string format: uri description: The URI for this object readOnly: true isArchived: type: boolean description: If true, learning module is archived readOnly: true isPublished: type: boolean description: If true, learning module is published readOnly: true description: type: string position: 1 description: The description of learning module completionTimeInDays: type: integer format: int32 position: 2 description: The completion time of learning module in days type: type: string position: 3 description: The type for the learning module enum: - Informational - AssessedContent - Assessment - External - Native informSteps: type: array position: 5 description: The list of inform steps in a learning module items: $ref: '#/definitions/LearningModuleInformStep' assessmentForm: position: 6 description: The assessment form for learning module $ref: '#/definitions/AssessmentForm' summaryData: position: 7 description: The learning module summary data $ref: '#/definitions/LearningModuleSummary' reassignSummaryData: position: 8 description: The learning module reassign summary data $ref: '#/definitions/LearningModuleReassignSummary' coverArt: position: 9 description: The cover art for the learning module $ref: '#/definitions/LearningModuleCoverArtResponse' lengthInMinutes: type: integer format: int32 position: 10 description: The recommended time in minutes to complete the module archivalMode: type: string position: 11 description: The mode of archival for learning module enum: - Graceful - Immediate description: Learning module response LearningModulePublishRequest: type: object properties: termsAndConditionsAccepted: type: boolean description: Whether the terms and conditions were accepted description: Learning module publish request LearningModuleInformStepRequest: type: object required: - order - type - value properties: type: type: string position: 1 description: The learning module inform step type enum: - Url - Content - GenesysBuiltInCourse - RichText - Scorm name: type: string position: 2 description: The name of the inform step or content value: type: string position: 3 description: The value for inform step sharingUri: type: string position: 4 description: The sharing uri for Content type inform step contentType: type: string position: 5 description: The document type for Content type Inform step order: type: integer format: int32 position: 6 description: The order of inform step in a learning module displayName: type: string position: 7 description: The display name for the inform step description: type: string position: 8 description: The description for the inform step description: Learning module inform steps request LearningSlotScheduleActivity: type: object properties: dateStart: type: string format: date-time description: 'The start date/time of this activity. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' lengthMinutes: type: integer format: int32 description: The length of this activity in minutes description: type: string description: The description of this activity activityCodeId: type: string description: The ID of the activity code associated with this activity paid: type: boolean description: Whether this activity is paid timeOffRequestId: type: string description: The ID of the time off request associated with this activity, if applicable externalActivityId: type: string description: The ID of the external activity associated with this activity, if applicable externalActivityType: type: string description: The type of the external activity associated with this activity, if applicable enum: - ActivityPlan - Coaching - Learning - Opportunity LearningAssignmentAggregateQueryResponseGroupedData: type: object properties: group: type: object description: The group values for this data additionalProperties: type: string data: type: array description: The metrics in this group items: $ref: '#/definitions/LearningAssignmentAggregateQueryResponseData' LearningAssignmentsDomainEntity: type: object properties: entities: type: array items: $ref: '#/definitions/LearningAssignment' pageSize: type: integer format: int32 pageNumber: type: integer format: int32 total: type: integer format: int64 firstUri: type: string format: uri nextUri: type: string format: uri previousUri: type: string format: uri lastUri: type: string format: uri selfUri: type: string format: uri pageCount: type: integer format: int32 AssessmentFormQuestion: type: object required: - text properties: id: type: string contextId: type: string description: An identifier for this question that stays the same across versions of the form. readOnly: true type: type: string enum: - multipleChoiceQuestion - freeTextQuestion - npsQuestion - readOnlyTextBlockQuestion text: type: string description: The question text helpText: type: string naEnabled: type: boolean commentsRequired: type: boolean visibilityCondition: $ref: '#/definitions/VisibilityCondition' answerOptions: type: array description: Options from which to choose an answer for this question. Only used by Multiple Choice type questions. items: $ref: '#/definitions/AnswerOption' maxResponseCharacters: type: integer format: int32 description: How many characters are allowed in the text response to this question. Used by Free Text question types. isKill: type: boolean description: Does an incorrect answer to this question mark the form as having a failed kill question. Only used by Multiple Choice type questions. isCritical: type: boolean description: Does this question contribute to the critical score. Only used by Multiple Choice type questions. Detail: type: object properties: errorCode: type: string fieldName: type: string entityId: type: string entityName: type: string LearningScheduleSlotsJobRequest: type: object required: - activityCodeId - intervals - lengthInMinutes - slotsType - userIds properties: userIds: type: array description: The user IDs to fetch the slots for. items: type: string lengthInMinutes: type: integer format: int32 description: The length in minutes of the slots, in 15 minutes granularity. activityCodeId: type: string description: The Activity Code Id of the slots. intervals: type: array description: 'The intervals to fetch the slots for. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' items: type: string format: interval description: 'Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' slotsType: type: string description: The type of slots to fetch in the job. enum: - BestTime LearningSlotWfmScheduleActivity: type: object properties: user: description: User that the schedule is for $ref: '#/definitions/UserReference' activities: type: array description: List of user's scheduled activities items: $ref: '#/definitions/LearningSlotScheduleActivity' fullDayTimeOffMarkers: type: array description: List of user's days off items: $ref: '#/definitions/LearningSlotFullDayTimeOffMarker' LearningAssignmentReference: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true selfUri: type: string format: uri description: The URI for this object readOnly: true LearningAssignmentAggregateQueryResponseMetric: type: object properties: metric: type: string description: The metric this applies to enum: - nActivities - nPlannedActivities - nInProgressActivities - nCompleteActivities - nOverdueActivities - nInvalidScheduleActivities - nPassedActivities - nFailedActivities - oActivityScore - nNotCompletedActivities stats: description: The aggregated values for this metric $ref: '#/definitions/LearningAssignmentAggregateQueryResponseStats' LearningAssignmentUpdate: type: object properties: state: type: string description: The Learning Assignment state enum: - Assigned - InProgress - Completed - Deleted - NotCompleted - InvalidSchedule assessment: description: An updated Assessment $ref: '#/definitions/LearningAssessment' LearningModulePreviewUpdateResponseCurrentStep: type: object properties: shareableContentObject: description: The SCO (Shareable Content Object) data $ref: '#/definitions/LearningShareableContentObject' description: Learning module preview update response current step AssessmentQuestionGroupScore: type: object required: - questionGroupId properties: questionGroupId: type: string description: The ID of the question group totalScore: type: number format: float description: The total score for the questions readOnly: true maxTotalScore: type: number format: float description: The maximum total score for the questions readOnly: true markedNA: type: boolean description: True if this question group is marked NA systemMarkedNA: type: boolean description: If markedNA is true, systemMarkedNA indicates whether it was marked by a user or by the system due to visibility conditions. Always false if markedNA is false. totalCriticalScore: type: number format: float description: The total score for the critical questions readOnly: true maxTotalCriticalScore: type: number format: float description: The maximum total score for the critical questions readOnly: true totalNonCriticalScore: type: number format: float description: The total score for the non-critical questions readOnly: true maxTotalNonCriticalScore: type: number format: float description: The maximum total score for the non-critical questions readOnly: true totalScoreUnweighted: type: number format: float description: The unweighted total score for this question group readOnly: true maxTotalScoreUnweighted: type: number format: float description: The maximum unweighted total score for this question group readOnly: true totalCriticalScoreUnweighted: type: number format: float description: The unweighted total score for the critical questions readOnly: true maxTotalCriticalScoreUnweighted: type: number format: float description: The maximum unweighted total score for the critical questions readOnly: true totalNonCriticalScoreUnweighted: type: number format: float description: The total unweighted score for the non-critical questions readOnly: true maxTotalNonCriticalScoreUnweighted: type: number format: float description: The maximum unweighted total score for the non-critical questions readOnly: true questionScores: type: array description: The individual question scores items: $ref: '#/definitions/AssessmentQuestionScore' LearningModuleRuleParts: type: object required: - operation - order - selector - value properties: operation: type: string description: The learning module rule operation enum: - Include - Exclude selector: type: string description: The learning module rule selector enum: - AcdSkills - AgentName - Division - Group - Location - Queue - Role - Team - User value: type: array description: The value of rules items: type: string order: type: integer format: int32 description: The order of rules in learning module rule LearningModulePreviewUpdateRequestCurrentStep: type: object properties: id: type: string description: The id of this step completionPercentage: type: number format: float description: The completion percentage for this step shareableContentObject: description: The SCO (Shareable Content Object) data $ref: '#/definitions/LearningShareableContentObject' description: Learning module preview update request current step LearningScheduleSlotsJobResponse: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true userIds: type: array description: The user IDs to fetch the slots for. items: type: string lengthInMinutes: type: integer format: int32 description: The length in minutes of the slots. businessUnitId: type: string description: The Business Unit Id of the users. activityCodeId: type: string description: The Activity Code Id of the slots. slotsType: type: string description: The type of slots fetched in the job. enum: - BestTime results: type: array description: The results of the job. items: $ref: '#/definitions/LearningScheduleSlotsJobResult' selfUri: type: string format: uri description: The URI for this object readOnly: true LearningModuleCoverArtResponse: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true selfUri: type: string format: uri description: The URI for this object readOnly: true url: type: string position: 1 description: The URL for the cover art thumbnails: type: array position: 2 description: Thumbnails for the cover art items: $ref: '#/definitions/LearningCoverArtThumbnail' description: Learning module cover art response LearningModuleReassignSummary: type: object properties: totalReassigned: type: integer format: int32 description: The total number of users for whom assignment is reassigned completedCount: type: integer format: int32 description: The total number of users who have the assignment in Completed state inProgressCount: type: integer format: int32 description: The total number of users who have the assignment in InProgress state assignedCount: type: integer format: int32 description: The total number of users who have the assignment in Assigned state notCompletedCount: type: integer format: int32 description: The total number of users who have their assignment overdue description: Learning module reassign summary data LearningModuleJobRequest: type: object required: - action properties: action: type: string description: The type for the learning module job enum: - Reassign - GracefulArchive - ImmediateArchive - Unarchive - Assign description: Learning module job request Limit: type: object properties: key: type: string namespace: type: string enum: - web.deployments - web.messaging - agent.assistant - agentic.virtual.agents - analytics.agents - analytics.alerting - analytics.data.extraction - analytics - analytics.realtime - analytics.reporting.settings - anomaly.detection - architect - audiohook - audiohook.monitor - audit - auth.api - authorization - automation.testing - bots - bots.voice - business.rules - callback - case.management - cobrowse - content.management - conversation - copilot - dataactions - datatables - directory - dsar - email - employee.engagement - event.orchestration - external.contacts - external.events.data.ingestion - gamification - gcv - gdpr - groups - guides - historical.adherence - infrastructureascode - integrations - intent.miner - internal.messaging - journey - knowledge - language.understanding - learning - limit.registry - marketplace - mcp.analytics.aggregates - mcp - media.communications - messaging - micro.frontend - multi.org - notifications - onboarding - outbound - platform.api - predictive.routing - presence - quality - recording - response.management - routing - scim - screen.monitoring - search - secondary.automation.testing - skills - social.media - speech.and.text.analytics - speech.integration - supportability - task.management - telephony.configuration - usage - users - users.rules - voice.transcription - webchat - webhooks - workforce.management.adherence - workforce.management.agent.availability - workforce.management.forecast - workforce.management - workforce.management.scheduling.preferences - workforce.management.self.schedule - workforce.management.shift.trading - system value: type: integer format: int64 LearningAssignmentStepSignedCookie: type: object properties: url: type: string description: The base URL for the signed cookie readOnly: true cookieValues: type: object description: The cookie values required to access content from the base URL readOnly: true additionalProperties: type: string LearningModulePublishResponse: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true version: type: integer format: int32 description: The version of published learning module selfUri: type: string format: uri description: The URI for this object readOnly: true description: Learning module publish response AssessmentQuestionScore: type: object required: - questionId properties: failedKillQuestion: type: boolean description: True if this was a failed Kill question readOnly: true comments: type: string description: Comments provided for the answer questionId: type: string description: The ID of the question answerId: type: string description: The ID of the selected answer score: type: integer format: int32 description: The score received for this question readOnly: true markedNA: type: boolean description: True if this question was marked as NA systemMarkedNA: type: boolean description: If markedNA is true, systemMarkedNA indicates whether it was marked by a user or by the system due to visibility conditions. Always false if markedNA is false. freeTextAnswer: type: string description: Answer for free text answer type AssessmentFormQuestionGroup: type: object required: - name - questions - type properties: id: type: string description: The ID of the question group, name: type: string description: The question group name type: type: string description: The question group type contextId: type: string description: An identifier for this question group that stays the same across versions of the form. readOnly: true defaultAnswersToHighest: type: boolean defaultAnswersToNA: type: boolean naEnabled: type: boolean weight: type: number format: float manualWeight: type: boolean questions: type: array description: The list of questions for this question group items: $ref: '#/definitions/AssessmentFormQuestion' visibilityCondition: $ref: '#/definitions/VisibilityCondition' selfUri: type: string format: uri description: The URI for this object readOnly: true LearningAssignmentItem: type: object required: - moduleId - userId properties: moduleId: type: string position: 1 description: The Learning Module ID associated with this assignment userId: type: string position: 2 description: The User ID associated with this assignment LearningAssignmentUserQuery: type: object required: - rule properties: rule: description: Learning module rule object $ref: '#/definitions/LearningModuleRule' searchTerm: type: string description: The user name to be searched for description: Learning module users query request model LearningAssignmentAggregateQueryRequestPredicate: type: object required: - dimension - value properties: dimension: type: string description: Each predicates specifies a dimension. enum: - attendeeId - type - moduleId - isPassed value: type: string description: 'Corresponding value for dimensions in predicates. If the dimension is type, Valid Values: Informational (deprecated), AssessedContent (deprecated), Assessment (deprecated), External, Native' AssignedLearningModuleDomainEntityListing: type: object properties: entities: type: array items: $ref: '#/definitions/AssignedLearningModule' pageSize: type: integer format: int32 pageNumber: type: integer format: int32 total: type: integer format: int64 firstUri: type: string format: uri nextUri: type: string format: uri previousUri: type: string format: uri lastUri: type: string format: uri selfUri: type: string format: uri pageCount: type: integer format: int32 UserReference: type: object properties: id: type: string description: The globally unique identifier for the object. selfUri: type: string format: uri description: The URI for this object readOnly: true LearningScheduleSlotsJobResult: type: object properties: interval: type: string format: interval description: 'The interval of the job. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' status: type: string description: The status of the job enum: - InProgress - Complete - Error slot: description: The slot found from the job $ref: '#/definitions/LearningScheduleSlotsJobSlot' LearningAssignmentBulkAddResponse: type: object properties: entities: type: array description: The learning assignments that were assigned correctly items: $ref: '#/definitions/LearningAssignment' disallowedEntities: type: array description: The items that were not allowed to be assigned items: $ref: '#/definitions/DisallowedEntityLearningAssignmentItem' AssistanceCondition: type: object properties: operator: type: string description: The operator for the assistance condition. The operator defines whether the listed topicIds should EXIST or NOTEXIST for the condition to be evaluated as true. enum: - EXISTS - NOTEXISTS topicIds: type: array description: List of topicIds within the assistance condition which would be combined together using logical OR operator. Eg ( topicId_1 || topicId_2 ) . items: type: string LearningModuleList: type: object properties: entities: type: array items: $ref: '#/definitions/LearningModule' pageSize: type: integer format: int32 pageNumber: type: integer format: int32 total: type: integer format: int64 totalLegacyRules: type: integer format: int64 description: The total number of unmigrated rules firstUri: type: string format: uri nextUri: type: string format: uri previousUri: type: string format: uri lastUri: type: string format: uri selfUri: type: string format: uri pageCount: type: integer format: int32 description: Learning module list LearningAssignmentAggregateQueryResponseStats: type: object properties: count: type: integer format: int32 description: The count for this metric min: type: number description: The minimum value in this metric max: type: number description: The maximum value in this metric sum: type: number description: The total of the values for this metric LearningScheduleSlotsJobSchedule: type: object properties: id: type: string selfUri: type: string format: uri weekDate: type: string format: date description: 'The start week date for this schedule. Dates are represented as an ISO-8601 string. For example: yyyy-MM-dd' weekCount: type: integer format: int32 description: The number of weeks in this schedule LearningModulePreviewUpdateResponse: type: object properties: id: type: string description: The Learning Module id assignment: description: The Assignment Preview $ref: '#/definitions/LearningModulePreviewUpdateResponseAssignment' description: Learning module preview update response ErrorBody: type: object properties: message: type: string code: type: string status: type: integer format: int32 entityId: type: string entityName: type: string messageWithParams: type: string messageParams: type: object additionalProperties: type: string contextId: type: string details: type: array items: $ref: '#/definitions/Detail' errors: type: array items: $ref: '#/definitions/ErrorBody' limit: $ref: '#/definitions/Limit' VisibilityCondition: type: object properties: combiningOperation: type: string enum: - AND - OR predicates: type: array description: 'A list of strings, each representing the location in the form of the Answer Option to depend on. In the format of "/form/questionGroup/{questionGroupIndex}/question/{questionIndex}/answer/{answerIndex}" or, to assume the current question group, "../question/{questionIndex}/answer/{answerIndex}". Note: Indexes are zero-based' items: type: object LearningAssignmentEntity: type: object properties: assignmentId: type: string LearningAssignmentAggregateQueryRequestFilter: type: object required: - clauses - type properties: type: type: string description: The logic used to combine the clauses enum: - And - Or clauses: type: array description: The list of clauses used to filter the data. Note that clauses must filter by attendeeId and a maximum of 100 user IDs are allowed items: $ref: '#/definitions/LearningAssignmentAggregateQueryRequestClause' LearningScheduleSlotsJobSlot: type: object properties: dateStart: type: string format: date-time description: 'Start date and time of the slot. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' schedule: description: The schedule information of the slot $ref: '#/definitions/LearningScheduleSlotsJobSchedule' LearningModulePreviewGetScoStructure: type: object properties: id: type: string description: The id of this SCO in the course manifest readOnly: true name: type: string description: The name of this SCO in the course manifest readOnly: true successStatus: type: string description: The success status of this SCO readOnly: true enum: - Passed - Failed - Unknown completionStatus: type: string description: The completion status of this SCO readOnly: true enum: - Completed - Incomplete - NotAttempted - Unknown percentageScore: type: number format: float description: Percentage Score readOnly: true shareableContentObject: description: The SCO (Shareable Content Object) data $ref: '#/definitions/LearningShareableContentObject' children: type: array description: Child items belonging to this SCO in the course manifest readOnly: true items: $ref: '#/definitions/LearningModulePreviewGetScoStructure' description: Learning module preview get SCO structure AssessmentScoringSet: type: object required: - questionGroupScores properties: totalScore: type: number format: float description: The total score of the answers readOnly: true totalCriticalScore: type: number format: float description: The total score for the critical questions readOnly: true totalNonCriticalScore: type: number format: float description: The total score for the non-critical questions readOnly: true questionGroupScores: type: array description: The individual scores for each question group items: $ref: '#/definitions/AssessmentQuestionGroupScore' failureReasons: type: array description: If the assessment was not passed, the reasons for failure. readOnly: true uniqueItems: true items: type: string enum: - Score - CriticalScore - KillQuestion comments: type: string description: Comments provided for these answers. agentComments: type: string description: Comments provided by agent. isPassed: type: boolean description: True if the assessment was passed readOnly: true LearningModule: type: object required: - completionTimeInDays - name properties: id: type: string description: The globally unique identifier for the object. readOnly: true name: type: string description: The name of learning module excludedFromCatalog: type: boolean description: If true, learning module is excluded when retrieving modules for manual assignment createdBy: description: The user who created learning module readOnly: true $ref: '#/definitions/UserReference' dateCreated: type: string format: date-time description: 'The date/time learning module was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true modifiedBy: description: The user who modified learning module readOnly: true $ref: '#/definitions/UserReference' dateModified: type: string format: date-time description: 'The date/time learning module was modified. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true version: type: integer format: int32 description: The version of published learning module readOnly: true externalId: type: string description: The external ID of the learning module readOnly: true source: type: string description: The source of the learning module readOnly: true enum: - UserCreated - GenesysBeyond rule: description: The rule for learning module; read-only, and only populated when requested via expand param. readOnly: true $ref: '#/definitions/LearningModuleRule' enforceContentOrder: type: boolean description: If true, learning module content should be viewed one by one in order reviewAssessmentResults: description: Allows to view Assessment results in detail $ref: '#/definitions/ReviewAssessmentResults' autoAssign: description: The auto assignment settings for this module $ref: '#/definitions/LearningModuleAutoAssignResponse' selfUri: type: string format: uri description: The URI for this object readOnly: true isArchived: type: boolean description: If true, learning module is archived readOnly: true isPublished: type: boolean description: If true, learning module is published readOnly: true description: type: string position: 1 description: The description of learning module completionTimeInDays: type: integer format: int32 position: 2 description: The completion time of learning module in days type: type: string position: 3 description: The type for the learning module enum: - Informational - AssessedContent - Assessment - External - Native informSteps: type: array position: 5 description: The list of inform steps in a learning module items: $ref: '#/definitions/LearningModuleInformStep' assessmentForm: position: 6 description: The assessment form for learning module $ref: '#/definitions/AssessmentForm' summaryData: position: 7 description: The learning module summary data $ref: '#/definitions/LearningModuleSummary' reassignSummaryData: position: 8 description: The learning module reassign summary data $ref: '#/definitions/LearningModuleReassignSummary' coverArt: position: 9 description: The cover art for the learning module $ref: '#/definitions/LearningModuleCoverArtResponse' lengthInMinutes: type: integer format: int32 position: 10 description: The recommended time in minutes to complete the module archivalMode: type: string position: 11 description: The mode of archival for learning module enum: - Graceful - Immediate description: Learning module response LearningAssignment: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true assessment: description: The assessment associated with this assignment $ref: '#/definitions/LearningAssessment' createdBy: description: The user who created the assignment readOnly: true $ref: '#/definitions/UserReference' dateCreated: type: string format: date-time description: 'The date when the assignment was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true modifiedBy: description: The user who modified the assignment readOnly: true $ref: '#/definitions/UserReference' dateModified: type: string format: date-time description: 'The date when the assignment was last modified. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' readOnly: true isOverdue: type: boolean description: True if the assignment is overdue readOnly: true percentageScore: type: number format: float description: The user's percentage score for this assignment readOnly: true assessmentPercentageScore: type: number format: float description: The user's percentage score for this assignment's assessment readOnly: true isRule: type: boolean description: True if this assignment was created by a Rule readOnly: true isManual: type: boolean description: True if this assignment was created manually readOnly: true isPassed: type: boolean description: True if the assessment was passed readOnly: true isLatest: type: boolean description: True if the assignment is based on latest module readOnly: true assessmentCompletionPercentage: type: number format: float description: The assessment completion percentage of assignment readOnly: true completionPercentage: type: number format: float description: The overall completion percentage of assignment readOnly: true steps: type: array description: List of assignment steps readOnly: true items: $ref: '#/definitions/LearningAssignmentStep' nextStep: description: The next assignment step readOnly: true $ref: '#/definitions/LearningAssignmentStep' selfUri: type: string format: uri description: The URI for this object readOnly: true state: type: string position: 2 description: The Learning Assignment state enum: - Assigned - InProgress - Completed - Deleted - NotCompleted - InvalidSchedule dateRecommendedForCompletion: type: string format: date-time position: 3 description: 'The recommended completion date of the assignment. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z' version: type: integer format: int32 position: 4 description: The version of Learning module assigned module: position: 5 description: The Learning module object associated with this assignment $ref: '#/definitions/LearningModule' user: position: 6 description: The user to whom the assignment is assigned $ref: '#/definitions/UserReference' assessmentForm: position: 7 description: The assessment form associated with this assignment $ref: '#/definitions/AssessmentForm' lengthInMinutes: type: integer format: int32 position: 8 description: The length in minutes of the assignment description: Learning module assignment with user information LearningScormUploadResponse: type: object properties: id: type: string description: The globally unique identifier for the object. readOnly: true status: type: string description: The status of the SCORM package enum: - UploadPending - Unpacking - Error - Ready uploadUrl: type: string description: The pre-signed URL. Use it with headers below to upload file to S3 headers: type: object description: The additional headers that need to be included in the upload request additionalProperties: type: string selfUri: type: string format: uri description: The URI for this object readOnly: true description: Learning SCORM upload response LearningAssignmentAggregateQueryRequestClause: type: object required: - predicates - type properties: type: type: string description: The logic used to combine the predicates enum: - And - Or predicates: type: array description: The list of predicates used to filter the data items: $ref: '#/definitions/LearningAssignmentAggregateQueryRequestPredicate' LearningAssignmentAggregateParam: type: object required: - filter - interval properties: interval: type: string format: interval description: 'Specifies the range of due dates to be used for filtering. Milliseconds will be truncated. A maximum of 1 year can be specified in the range. End date is not inclusive. Intervals are represented as an ISO-8601 string. For example: YYYY-MM-DDThh:mm:ss/YYYY-MM-DDThh:mm:ss' metrics: type: array description: The list of metrics to be returned. If omitted, all metrics are returned. items: type: string enum: - nActivities - nPlannedActivities - nInProgressActivities - nCompleteActivities - nOverdueActivities - nInvalidScheduleActivities - nPassedActivities - nFailedActivities - oActivityScore - nNotCompletedActivities groupBy: type: array description: Specifies if the aggregated data is combined into a single set of metrics (groupBy is empty or not specified), or contains an element per attendeeId (groupBy is "attendeeId") items: type: string enum: - attendeeId filter: description: 'The filter applied to the data. This is ANDed with the interval parameter. ' $ref: '#/definitions/LearningAssignmentAggregateQueryRequestFilter' securityDefinitions: PureCloud OAuth: type: oauth2 authorizationUrl: https://login.mypurecloud.com/authorize flow: implicit scopes: all: All the scopes Guest Chat JWT: type: apiKey name: Authorization in: header externalDocs: description: PureCloud API Documentation url: https://developer.genesys.cloud/