---
title: "Listing Encryption Keys"
method: GET
path: "/v1/projects/{projectId}/forms/{xmlFormId}/submissions/keys"
tags: ["Submissions"]
---

# Listing Encryption Keys

`GET /v1/projects/{projectId}/forms/{xmlFormId}/submissions/keys`

This endpoint provides a listing of all known encryption keys needed to decrypt all Submissions for a given Form. It will return at least the `base64RsaPublicKey` property (as `public`) of all known versions of the form that have submissions against them. If managed keys are being used and a `hint` was provided, that will be returned as well.

## Path parameters

- `projectId` number, required
- `xmlFormId` string, required

## Response `200`

OK

- Key[]
  - `id` number, required — The numerical ID of the Key.
  - `public` string, required — The base64-encoded public key, with PEM envelope removed.
  - `managed` boolean — If true, this is a key generated by Project managed encryption. If not, this key is self-supplied.
  - `hint` string — The hint, if given, related to a managed encryption key.

## Changes

- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `Listing Encryption Keys` removed and replaced with `listEncryptionKeys`
- **2025-10-27** `b11b54eea487` — 1 info
  - removed the non-success response with the status `403`
- **2025-03-13** `e8c2858fd4eb` — 2 info
  - api operation id `listEncryptionKeys` removed and replaced with `Listing Encryption Keys`
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/forms/:xmlFormId/submissions/keys/get.md)

---

[API](https://skmtc.dev/getodk/apis/odk-central-api.md) · [All operations](https://skmtc.dev/getodk/apis/odk-central-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getodk/odk-central-api/revisions/d4f5ba77f644/schema)
