The portfolioReport query provides an advanced way to retrieve and filter portfolio data across users and trainings. It supports filtering by type, score, progress, completion status, date ranges, and more.
query {
portfolioReport(
first: 50
relatedObjectTypes: [CERTIFICATE]
) {
edges {
node {
id
title
relatedType
user { id name }
completionDate
}
}
count
}
}query {
portfolioReport(
userIds: ["uuid-user"]
scoreThresholdReached: true
) {
edges {
node {
title
score
scoreThreshold
progress
completionDate
}
}
}
}query {
portfolioReport(
userGroupIds: ["uuid-group"]
completed: true
relatedObjectTypes: [TRAINING]
) {
edges {
node {
title
user { id name }
completionDate
score
progress
timeSpent { days seconds }
}
}
count
}
}query {
portfolioReport(
completionDateFrom: "2024-01-01"
completionDateTo: "2024-12-31"
relatedObjectTypes: [TRAINING, COURSE]
first: 50
sortBy: { field: COMPLETION_DATE, direction: DESC }
) {
edges {
node {
title
user { name email }
completionDate
progress
}
}
pageInfo {
hasNextPage
endCursor
}
}
}portfolioReport(
offset: Int
after: String
first: Int
q: String
startDateFrom: Date
startDateTo: Date
endDateFrom: Date
endDateTo: Date
completionDateFrom: Date
completionDateTo: Date
progressFrom: Float
progressTo: Float
scoreFrom: Float
scoreTo: Float
timeSpentFrom: Int
timeSpentTo: Int
completed: Boolean
scoreThresholdReached: Boolean
userGroupIds: [UUID!]
relatedObjectTypes: [ContentTypeValue]
sortBy: PortfolioReportSortByInput
relatedObjectUids: PortfolioReportRelatedObjectsInput
relatedObjectTrainingIds: [UUID!]
relatedObjectOfferEventIds: [UUID!]
offerEventType: [OfferEventType!]
userIds: [UUID!]
withAggregatedFilterValues: Boolean = false
isTrainingReport: Boolean = false
isOffersReport: Boolean = false
isCertificateOrModuleReport: Boolean = false
isModuleReport: Boolean = false
): PortfolioItemReportSearchConnectiontype PortfolioItemReport {
id: ID!
title: String!
startDate: DateTime
endDate: DateTime
completionDate: DateTime
user: User!
score: Float
progress: Float
scoreThreshold: Float
scoreMax: Float
scoreType: String
relatedObjectId: UUID
relatedType: ContentTypeValue
timeSpent: TimeDelta
relatedObjectHasComments: Boolean
relatedObjectHasFiles: Boolean
}TRAINING, COURSE, CERTIFICATE, EXTERNAL_CONTENT, SCORM, VIDEO, LTI
relatedObjectTypes to filter by content type (training, course, certificate, etc.).completed: true returns only items where the user has finished.scoreThresholdReached: true returns only items where the user met the passing score.sortBy for ordering results (e.g., by completion date, score, or user name).first, after, and pageInfo.