PortfolioReport

English only

Use Cases

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.

Filter by type (e.g. certificate)

query {
  portfolioReport(
    first: 10
    relatedObjectTypes: [CERTIFICATE]
  ) {
    edges {
      node {
        id
        title
        relatedType
        user {
          name
        }
      }
    }
    count
  }
}

Filter by user and score above threshold

query {
  portfolioReport(
    userIds: ["uuid-user"]
    scoreThresholdReached: true
  ) {
    edges {
      node {
        title
        score
        completionDate
      }
    }
  }
}

All completed learning paths per group

query {
  portfolioReport(
    userGroupIds: ["uuid-group"]
    completed: true
    relatedObjectTypes: [TRAINING]
  ) {
    edges {
      node {
        title
        user {
          name
        }
        completionDate
      }
    }
  }
}

GraphQL Definitions

Query

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

Response: 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
}

Notes

  • Use relatedObjectTypes to filter portfolio items by context (such as CERTIFICATE, TRAINING, COURSE, etc.).
  • Check scoreThresholdReached or completed to show only passed or completed items.
  • Through filterValues you gain insight into which values are available for filtering (per report type).
Close notification