---
title: "List all certificates for a user"
method: GET
path: "/api/v2/users/{userId}/certificates"
tags: ["Users"]
---

# List all certificates for a user

`GET /api/v2/users/{userId}/certificates`

> 🔑
>
> Required OAuth scope: `users:read`.

> 📖
>
> This endpoint is paginated with a page size of 1,000 certificates. For more information, see the [Pagination guide](https://360learning.readme.io/docs/pagination).

Lists all certificates in your platform for a given user.

## Path parameters

- `userId` string, ObjectId, required

## Query parameters

- `deliveryDate` object
  - `lt` string, date-time — Filter on dates lower than the given one
  - `gte` string, date-time — Filter on dates greater than or equal the given one
- `expirationDate` object
  - `lt` string, date-time — Filter on dates lower than the given one
  - `gte` string, date-time — Filter on dates greater than or equal the given one

## Headers

- `360-api-version` 'v2.0', required

## Response `200`

Returns one page of 1000 certificates.

- union[]
  - union
    - OutputUserExternalCertificateDTO
      - `deliveryDate` string, date-time, required — The delivery date of the certificate, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `expirationDate` string, date-time — The expiration date of the certificate, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `title` string, required — The title of the certificate outline in the platform (internal name of the certificate).
      - `_id` string, ObjectId, required — The unique ID of the user certificate.
      - `validityPeriod` number — The length of time, in months, for which the certificate is valid.
      - `certificateOutlineId` string, ObjectId — The unique ID of the outline of the certificate.
      - `type` 'external', required — The type of the certificate in the platform.
    - OutputUserPathCertificateDTO
      - `deliveryDate` string, date-time, required — The delivery date of the certificate, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `expirationDate` string, date-time — The expiration date of the certificate, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
      - `title` string, required — The title of the certificate outline in the platform (internal name of the certificate).
      - `_id` string, ObjectId, required — The unique ID of the user certificate.
      - `validityPeriod` number — The length of time, in months, for which the certificate is valid.
      - `certificateOutlineId` string, ObjectId, required — The unique ID of the outline of the received certificate.
      - `pathId` string, ObjectId, required — The unique ID of the path, in which the certificate was delivered.
      - `pathName` string — The name of the path, in which the certificate was delivered.
      - `pathSessionId` string, ObjectId, required — The unique ID of the path session, in which the certificate was delivered.
      - `type` 'path', required — The type of the certificate in the platform.

## Other responses

- `401` — The given access token is either missing, invalid, has expired, or has been revoked.
- `403` — The given access token does not have the required OAuth scope to execute the request.
- `404` — The given `userId` does not correspond to any existing user.
- `429` — The client has sent too many requests in a short amount of time.

---

[API](https://skmtc.dev/360learning/apis/core-api.md) · [All operations](https://skmtc.dev/360learning/apis/core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/360learning/core-api/revisions/94b691b0b72c/schema)
