Certificate

English only

Use Cases

Certificates are official documents that participants receive after successfully completing a training or e-learning course. In Pluvo, certificates are issued based on a predefined template. Once generated, they automatically appear as a PortfolioItem in the user's portfolio.

Retrieve available certificate templates

query {
  certificates(first: 50) {
    edges {
      node {
        id
        name
        title
      }
      cursor
    }
    pageInfo {
      hasNextPage
      endCursor
    }
    count
  }
}

Issue certificate to users

mutation {
  generateCertificate(
    id: "uuid-certificate-template"
    title: "Project Management Certificate"
    userIds: ["uuid-user-1", "uuid-user-2"]
    trainingId: "uuid-training"
    issueDate: "2024-01-01T00:00:00Z"
  ) {
    bulkGenerate {
      succeededIds
      failedIds
    }
  }
}

GraphQL Definitions

Query

certificates(
  first: Int
  after: String
  last: Int
  before: String
): CertificateConnection

Mutation

generateCertificate(
  id: UUID!
  title: String
  userIds: [UUID!]!
  trainingId: UUID
  issueDate: DateTime
): GenerateCertificate

Types

type Certificate {
  id: UUID!
  name: String
  title: String
}

type GenerateCertificate {
  bulkGenerate: BulkAction!
}

type BulkAction {
  succeededIds: [UUID!]!
  failedIds: [UUID!]!
}

Notes

  • Use exclusively the generateCertificate mutation to issue certificates.
  • Do not create certificates via createPortfolioItem — this creates an incomplete portfolio item without the actual certificate document.
  • Certificates automatically appear in the user's portfolio once generated.
  • Use the webhook EVENT_CERTIFICATE_ACHIEVED to receive notifications of automatic certificate issuance.
  • Use EVENT_CERTIFICATE_STATUS_CHANGED to track certificate status changes.
  • The trainingId parameter links the certificate to a specific training in the portfolio.
  • issueDate defaults to the current date/time if not specified.
Sluit melding