> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dfns.co/llms.txt
> Use this file to discover all available pages before exploring further.

# List Keys

> Retrieve all keys registered for your organization.

#### Authentication

✅ Organization User (`CustomerEmployee`)\
✅ Delegated User (`EndUser`)\
✅ Service Account

#### Required Permissions

`Keys:Read`: Always required.


## OpenAPI

````yaml /openapi.yaml get /keys
openapi: 3.1.0
info:
  version: 1.795.3
  title: Dfns
servers:
  - url: https://api.dfns.io
    description: Default - Europe
  - url: https://api.uae.dfns.io
    description: UAE
  - url: https://api.dfns.ninja
    description: <Deprecated> Staging
security: []
paths:
  /keys:
    get:
      tags:
        - Keys
      summary: List Keys
      description: Retrieve all keys registered for your organization.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 50
            description: Maximum number of items to return.
          required: false
          description: Maximum number of items to return.
          name: limit
          in: query
        - schema:
            type: string
            minLength: 1
            description: >-
              Opaque token used to retrieve the next page. Returned as
              `nextPageToken` from the previous request.
          required: false
          description: >-
            Opaque token used to retrieve the next page. Returned as
            `nextPageToken` from the previous request.
          name: paginationToken
          in: query
        - schema:
            type: string
            minLength: 1
            description: Filter by owner id or username.
          required: false
          description: Filter by owner id or username.
          name: owner
          in: query
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Key'
                    description: Current page items.
                  nextPageToken:
                    type: string
                    description: >-
                      token to use as `paginationToken` to request the next
                      page.
                required:
                  - items
      security:
        - authenticationToken: []
components:
  schemas:
    Key:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^key-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
          description: Unique identifier for the key.
          example: key-01snl-t56gb-j8tsok0vn802p80i
        scheme:
          $ref: '#/components/schemas/KeyScheme'
        curve:
          $ref: '#/components/schemas/KeyCurve'
        publicKey:
          type: string
          description: Hex-encoded public key.
        masterKey:
          type: boolean
          description: Whether this key can be used as a master key for HD derivation.
        derivedFrom:
          type: object
          properties:
            keyId:
              type: string
              minLength: 1
              maxLength: 64
              pattern: ^key-[a-z0-9]{5}-[a-z0-9]{5}-[a-z0-9]{14,16}$
              description: The master key this key was derived from.
              example: key-01snl-t56gb-j8tsok0vn802p80i
            path:
              type: string
              description: The derivation path used.
          required:
            - keyId
            - path
          description: Derivation info if this key was derived from a master key.
        name:
          type: string
          description: Nickname for the key.
        status:
          type: string
          enum:
            - Active
            - Archived
          description: Current status of the key.
        custodial:
          type: boolean
          description: >-
            Whether the key is custodial (owned by organization) or
            non-custodial (delegated to end user).
        dateCreated:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the key was created.
          example: '2023-04-14T20:41:28.715Z'
        imported:
          type: boolean
          description: Whether this key was imported.
        exported:
          type: boolean
          description: Whether this key has been exported.
        dateExported:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the key was exported.
          example: '2023-04-14T20:41:28.715Z'
        dateDeleted:
          type: string
          format: date-time
          description: >-
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date (must be
            UTC). When the key was deleted.
          example: '2023-04-14T20:41:28.715Z'
      required:
        - id
        - scheme
        - curve
        - publicKey
        - status
        - custodial
        - dateCreated
    KeyScheme:
      type: string
      description: The cryptographic scheme for the key.
      enum:
        - ECDSA
        - EdDSA
        - Schnorr
    KeyCurve:
      type: string
      enum:
        - ed25519
        - secp256k1
        - stark
      description: The elliptic curve for the key.
  securitySchemes:
    authenticationToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        **Bearer Token:** Used to authenticate API requests.

        More details how to generate the token: [Authentication
        flows](https://docs.dfns.co/api-reference/auth/login-flows)

````