OpenAPI Specification
openapi: 3.0.0
info:
title: Learn Rest Api assignments results API
version: '3.0'
description: Assignment operations
servers:
- url: https://api-learn.ispring.com
description: Main server
security:
- bearerAuth: []
tags:
- name: results
description: User result data operations
paths:
/learners/results:
get:
tags:
- results
summary: Retrieves a paginated list of results for specific learners in specific courses
operationId: ListLearnerResults
parameters:
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageToken'
- name: userIds
in: query
required: false
schema:
type: array
items:
type: string
- name: courseIds
in: query
required: false
schema:
type: array
items:
type: string
- name: departmentIds
in: query
required: false
schema:
type: array
items:
type: string
- name: enrollmentIds
in: query
required: false
schema:
type: array
items:
type: string
- name: completionStatuses
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/CompletionStatus'
- name: completionDate
in: query
required: false
style: deepObject
schema:
$ref: '#/components/schemas/DateRange'
- name: accessDate
in: query
required: false
style: deepObject
schema:
$ref: '#/components/schemas/DateRange'
- name: dueDate
in: query
required: false
style: deepObject
schema:
$ref: '#/components/schemas/DateRange'
- name: userStatuses
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/UserStatus'
responses:
'200':
description: Success Response
content:
application/json:
schema:
$ref: '#/components/schemas/LearnersResultsResponse'
application/xml:
schema:
$ref: '#/components/schemas/LearnersResultsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/PermissionDenied'
/learners/modules/results:
get:
tags:
- results
summary: Retrieves a paginated list of results for specific learners in specific modules
operationId: ListLearnerModulesResults
parameters:
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageToken'
- name: userIds
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
- name: courseIds
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
- name: moduleIds
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
- name: courseItemIds
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
- name: enrollmentIds
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
- name: departmentIds
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
- name: completionStatuses
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/CompletionStatus'
- name: completionDate
in: query
required: false
style: deepObject
schema:
$ref: '#/components/schemas/DateRange'
- name: accessDate
in: query
required: false
style: deepObject
schema:
$ref: '#/components/schemas/DateRange'
- name: dueDate
in: query
required: false
style: deepObject
schema:
$ref: '#/components/schemas/DateRange'
- name: userStatuses
in: query
required: false
schema:
$ref: '#/components/schemas/UserStatus'
responses:
'200':
description: Success Response
content:
application/json:
schema:
$ref: '#/components/schemas/LearnersModulesResultsResponse'
application/xml:
schema:
$ref: '#/components/schemas/LearnersModulesResultsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/PermissionDenied'
components:
schemas:
LearnerModuleResult:
required:
- userId
- courseId
- moduleId
- moduleTitle
- courseItemId
- accessDate
- completionStatus
- isOverdue
properties:
userId:
type: string
format: uuid
courseId:
type: string
format: uuid
moduleId:
type: string
format: uuid
moduleTitle:
type: string
courseItemId:
type: string
format: uuid
enrollmentId:
type: string
format: uuid
accessDate:
type: string
format: datetime
dueDate:
type: string
format: datetime
expirationDate:
type: string
format: datetime
completionDate:
type: string
format: datetime
timeSpent:
description: Time spent in seconds
type: integer
completionStatus:
$ref: '#/components/schemas/CompletionStatus'
awardedScore:
type: number
format: float
passingScore:
type: number
format: float
progress:
type: number
format: float
isOverdue:
type: boolean
viewsCount:
type: integer
type: object
xml:
name: result
wrapped: true
LearnersResultsResponse:
required:
- results
properties:
results:
type: array
items:
$ref: '#/components/schemas/LearnerResult'
xml:
wrapped: true
nextPageToken:
type: string
type: object
xml:
name: response
ErrorResponse:
required:
- code
- message
properties:
code:
type: integer
message:
type: string
type: object
xml:
name: response
LearnerResult:
required:
- userId
- courseId
- courseTitle
- accessDate
- completionStatus
- isOverdue
properties:
userId:
type: string
format: uuid
courseId:
type: string
format: uuid
courseTitle:
type: string
enrollmentId:
type: string
format: uuid
accessDate:
type: string
format: datetime
dueDate:
type: string
format: datetime
expirationDate:
type: string
format: datetime
completionDate:
type: string
format: datetime
duration:
type: integer
timeSpent:
description: Time spent in seconds
type: integer
completionStatus:
$ref: '#/components/schemas/CompletionStatus'
awardedScore:
type: number
format: float
passingScore:
type: number
format: float
progress:
type: number
format: float
isOverdue:
type: boolean
viewsCount:
type: integer
type: object
xml:
name: result
wrapped: true
UserStatus:
description: 1 - active, 3 - inactive, 5 - terminated
type: integer
enum:
- 1
- 3
- 5
LearnersModulesResultsResponse:
required:
- results
properties:
results:
type: array
items:
$ref: '#/components/schemas/LearnerModuleResult'
xml:
wrapped: true
nextPageToken:
type: string
type: object
xml:
name: response
CompletionStatus:
type: string
enum:
- not_started
- in_progress
- pending
- complete
- passed
- accepted
- incomplete
- failed
- declined
DateRange:
required:
- startDate
- endDate
properties:
startDate:
type: string
format: dateTime
endDate:
type: string
format: dateTime
type: object
xml:
name: dateRange
responses:
PermissionDenied:
description: Permission Denied
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
application/xml:
schema:
$ref: '#/components/schemas/ErrorResponse'
parameters:
pageSize:
name: pageSize
in: query
required: false
schema:
type: integer
pageToken:
name: pageToken
in: query
required: false
schema:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer