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
PortfolioItemReporttype 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).