---
title: "List vaults"
method: GET
path: "/v1/vaults"
tags: ["Vaults"]
---

# List vaults

`GET /v1/vaults`

## Query parameters

- `limit` integer
- `startingAfter` string, uuid
- `sortBy` 'id' | 'alias' | 'lock' | 'metadata.createdAt' | 'metadata.lastModifiedAt'
- `sortOrder` 'ASC' | 'DESC'
- `alias` string
- `publicKey` string
- `lock` CoreLockStatus[]
- `metadata.createdBy` string, uuid
- `metadata.lastModifiedBy` string, uuid
- `metadata.description` string
- `metadata.customProperties` string[]
- `additionalDetails.processingStatus` 'Pending' | 'Preparing' | 'Completed'

## Response `200`

- CoreVaultsCollection
  - `items` CoreApiVault[], required
    - `data` CoreVault, required
      - `id` string, uuid, required
      - `publicKey` string, base64, required
      - `parameters` union
        - CoreVaultParametersHSM
          - `type` 'HSM', required
        - CoreVaultParametersMPC
          - `backupEncryptionKey` string — 0x prefixed Hex encoded backup encryption key, supported key size between 2048 and 4096 bits.
          - `type` 'MPC', required
      - `supportedDerivations` CoreVaultDerivation[]
      - `enabledKeyStrategies` CoreVaultKeyStrategy[]
      - `alias` string, required
      - `lock` 'Unlocked' | 'Locked' | 'Archived', required
      - `metadata` CoreEntityMetadata, required
        - `description` string
        - `revision` integer, required
        - `createdAt` string, date-time, required
        - `createdBy` CoreUserReference
          - `id` string, uuid, required
          - `domainId` string, uuid, required
        - `lastModifiedAt` string, date-time, required
        - `lastModifiedBy` CoreUserReference
          - `id` string, uuid, required
          - `domainId` string, uuid, required
        - `customProperties` CoreStringsMap, required
    - `signature` string, base64, required
    - `signingKey` string, base64, required
    - `additionalDetails` CoreVaultAdditionalDetails
      - `processing` union, required
        - CoreVaultProcessingDetailsCompleted
          - `status` 'Completed', required
        - CoreVaultProcessingDetailsPending
          - `status` 'Pending', required
        - CoreVaultProcessingDetailsPreparing
          - `status` 'Preparing', required
  - `count` integer, required
  - `currentStartingAfter` string
  - `nextStartingAfter` string

## Other responses

- `400` — Invalid value for: query parameter limit, Invalid value for: query parameter startingAfter, Invalid value for: query parameter sortBy, Invalid value for: query parameter sortOrder, Invalid value for: query parameter alias, Invalid value for: query parameter publicKey, Invalid value for: query parameter lock, Invalid value for: query parameter metadata.createdBy, Invalid value for: query parameter metadata.lastModifiedBy, Invalid value for: query parameter metadata.description, Invalid value for: query parameter metadata.customProperties, Invalid value for: query parameter additionalDetails.processingStatus
- `401` — One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)

---

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