---
title: "List certificates"
method: GET
path: "/v2/certificates/"
tags: ["Certificates"]
---

# List certificates

`GET /v2/certificates/`

List the organization's certificates, one row per issued certificate.

**Required OAuth scope:** `certificates:read`

## Query parameters

- `filter[domains]` string, nullable — Comma-separated domain names; matches any listed domain. Unknown names match nothing.
- `filter[status]` 'active' | 'expired' | 'all' — Expiry-state filter values for GET /v2/certificates.
- `filter[issued_gte]` string, date-time, nullable — Return only certificates issued at or after this ISO 8601 timestamp.
- `filter[issued_lte]` string, date-time, nullable — Return only certificates issued at or before this ISO 8601 timestamp.
- `filter[student.id]` string, nullable — Return only certificates for the student with this opaque id. Unknown ids match nothing.
- `filter[course.id]` string, nullable — Return only certificates for the course with this opaque id. Unknown ids match nothing.
- `page[size]` integer — Maximum number of records to return.
- `page[cursor]` string, nullable — Opaque cursor from the previous page's links.next.

## Response `200`

OK

- PaginatedListResponseCertificateResource
  - `data` CertificateResource[], required — The resources on this page, in cursor order.
    - `type` string — Always "certificates".
    - `id` string, required — Opaque certificate ID.
    - `attributes` CertificateAttributes, required — Attributes of a certificate resource.
      - `code` string, required — Unique code identifying the certificate.
      - `issued_at` string, date-time, required — Timestamp the certificate was issued.
      - `expires_at` string, date-time, nullable — Timestamp the certificate expires, or null when it does not expire.
      - `score_as_percent` integer, nullable — Student's course score as a percentage, or null when not recorded.
    - `relationships` CertificateRelationships, required — Relationships of a certificate resource.
      - `student` StudentRelationship, required — To-one linkage to a student; ``data`` is null when there is no student.
        - `data` StudentIdentifier — JSON:API resource identifier for a student.
          - `type` string — Always "students".
          - `id` string, required — Opaque student ID.
      - `course` CourseRelationship, required — To-one linkage to the course being published.
        - `data` CourseIdentifier, required — JSON:API resource identifier for a course.
          - `type` 'courses', required — Must be "courses".
          - `id` string, required — Opaque course id.
    - `links` object, nullable — Self link.
  - `meta` object, nullable — Pagination metadata, e.g. {"page_size": 25}.
  - `links` object, nullable — Pagination links, e.g. {"self": "...", "next": "...", "prev": null}.
  - `has_more` boolean, required — Whether additional pages exist after this one.
  - `next_cursor` string, nullable — Opaque cursor to pass as ``page[cursor]`` for the next page; null on the last page.
  - `included` object[], nullable — Related resources requested via ?include=. Absent when no include was requested.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/skilljar/apis/skilljar-api-v2.md) · [All operations](https://skmtc.net/skilljar/apis/skilljar-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skilljar/skilljar-api-v2/revisions/f8025de20169/schema)
