Working with certificates in the backoffice

Users with the dedicated permissions can create certificate templates and attach them to a learning path in the backoffice. To add a new certificate template or edit existing ones, navigate to Certificates → Manage certificates section in the admin menu.
88a65b2f Fd00 411c 8cd8 26f336a143d4 Pn
Once the template is created, it can be used in the learning path. An appropriate settings are available on the Passing requirements step of the learning path creation/editing process: Image 20250326 181851 Pn Now when the certification is enabled in the learning path, every user who successfully completed (passed) the training, will earn a certificate that will be generated according to the attached template. If the re-certification period is set, the training attempt will be considered as expired after the selected period and the user will be able to restart the training. The previously earned certificate will also be marked as expired, but still accessible by the user with the possibility to download it.
NoteIf the certification options are changed in the learning path settings, the new revision will be created and, once it is published, will be accessible for the users.

API usage

Information about the available certification for the learning path can be taken from the API under the LearningPath object:
query getLearningPath {
  getLearningPath(lpId: "40") {
    certificationEnabled
  }
}
Below is an example how to get the list of all certificates that are earned by the given user. The list of results will always be sorted descending by the date (newest first). There are two extra parameters that can be used in this query:
  1. status - can be used as a filter to get only active or expired certificates. Can be one of the following values:
    1. VALID
    2. EXPIRED
  2. relatedEntityId - ID of the learning path entity the certificate relates to. Can be used get the certificate history for a single learning path.
query getUserCertificates {
  getUserCertificates {
    id
    status
    validationDate
    expirationDate
    downloadUrl
    relatedEntity {
      id
      training {
        title
      }
    }
  }
}
NoteA certificate download link has an expiration lifetime - 1hour.

Fetching latest certificates earned per Learning Path

The getUserCertificates method retrieves all certificates associated with a user. This may include multiple certificates earned for different versions of the same Learning Path. All certificates are returned, regardless of the specific version they were issued for.

To fetch only the most recently earned certificates, use the getPaginatedUserCertificates query in combination with a cursor-based pagination object pageInfo. For details on implementing cursor-based pagination, refer to the Paginating Catalog Items section, which includes a comprehensive example of Cursor object usage.
query getPaginatedUserCertificates  {
  getPaginatedUserCertificates (first: 3) {
    edges {
      node {
        id
        status
        validationDate
        expirationDate
        downloadUrl
        relatedEntity {
          id
          training {
            title
          }
        }
      }
    }
    pageInfo {
      hasNextPage
      startCursor
      endCursor
    }
  }
}