The portfolioReport
query provides an advanced way to retrieve users' portfolio items, including filtering by type (such as certificate, training, or module), score, progress, enrollment context, and more.
query {
portfolioReport(
first: 10
relatedObjectTypes: [CERTIFICATE]
) {
edges {
node {
id
title
relatedType
user {
name
}
}
}
count
}
}
query {
portfolioReport(
userIds: ["uuid-user"]
scoreThresholdReached: true
) {
edges {
node {
title
score
completionDate
}
}
}
}
query {
portfolioReport(
userGroupIds: ["uuid-group"]
completed: true
relatedObjectTypes: [TRAINING]
) {
edges {
node {
title
user {
name
}
completionDate
}
}
}
}
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
): PortfolioItemReportSearchConnection
PortfolioItemReport
type 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
}
relatedObjectTypes
to filter portfolio items by context (such as CERTIFICATE
, TRAINING
, COURSE
, etc.).scoreThresholdReached
or completed
to show only passed or completed items.filterValues
you gain insight into which values are available for filtering (per report type).