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

# List SSH keys



## OpenAPI

````yaml /api-reference/services_documented/cloud_api.yaml get /cloud/v1/ssh_keys/{project_id}
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Cloud API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: '2026-05-14T07:00:22.640261+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Bare Metal
    x-displayName: Bare Metal
  - name: Container as a Service
    x-displayName: Container as a Service
  - name: Cost Reports
    x-displayName: Cost Reports
  - name: DDoS Protection
    x-displayName: DDoS Protection
  - name: Everywhere Inference
    x-displayName: Everywhere Inference
  - name: Everywhere Inference Apps
    x-displayName: Everywhere Inference Apps
  - name: File Shares
    x-displayName: File Shares
  - name: Floating IPs
    x-displayName: Floating IPs
  - name: Function as a Service
    x-displayName: Function as a Service
  - name: GPU Bare Metal
    x-displayName: GPU Bare Metal
  - name: GPU Virtual
    x-displayName: GPU Virtual
  - name: IP Ranges
    x-displayName: IP Ranges
  - name: Images
    x-displayName: Images
  - name: Instances
    x-displayName: Instances
  - name: Load Balancers
    x-displayName: Load Balancers
  - name: Logging
    x-displayName: Logging
  - name: Managed Kubernetes
    x-displayName: Managed Kubernetes
  - name: Managed PostgreSQL
    x-displayName: Managed PostgreSQL
  - name: Networks
    x-displayName: Networks
  - name: Placement Groups
    x-displayName: Placement Groups
  - name: Projects
    x-displayName: Projects
  - name: Quotas
    x-displayName: Quotas
  - name: Regions
    x-displayName: Regions
  - name: Registry
    x-displayName: Registry
  - name: Reservations
    x-displayName: Reservations
  - name: Reserved IPs
    x-displayName: Reserved IPs
  - name: Routers
    x-displayName: Routers
  - name: SSH Keys
    x-displayName: SSH Keys
  - name: Secrets
    x-displayName: Secrets
  - name: Security Groups
    x-displayName: Security Groups
  - name: Snapshot Schedules
    x-displayName: Snapshot Schedules
  - name: Snapshots
    x-displayName: Snapshots
  - name: Tasks
    x-displayName: Tasks
  - name: User Actions
    x-displayName: User Actions
  - name: User Role Assignments
    x-displayName: User Role Assignments
  - name: Volumes
    x-displayName: Volumes
paths:
  /cloud/v1/ssh_keys/{project_id}:
    get:
      tags:
        - SSH Keys
      summary: List SSH keys
      operationId: SSHKeyCollectionViewSet.get
      parameters:
        - in: path
          name: project_id
          required: true
          description: Project ID
          schema:
            description: Project ID
            example: 1
            examples:
              - 1
            title: Project Id
            type: integer
        - in: query
          name: limit
          required: false
          description: Maximum number of SSH keys to return
          schema:
            default: 10
            description: Maximum number of SSH keys to return
            example: 100
            examples:
              - 100
            maximum: 1000
            minimum: 1
            title: Limit
            type: integer
        - in: query
          name: name
          required: false
          description: >-
            SSH key name. Partial substring match. Example: `name=abc` matches
            any key containing `abc` in name.
          schema:
            description: >-
              SSH key name. Partial substring match. Example: `name=abc` matches
              any key containing `abc` in name.
            example: my-ssh-key
            examples:
              - my-ssh-key
            title: Name
            type: string
        - in: query
          name: offset
          required: false
          description: Offset for pagination
          schema:
            default: 0
            description: Offset for pagination
            example: 0
            examples:
              - 0
            minimum: 0
            title: Offset
            type: integer
        - in: query
          name: order_by
          required: false
          description: Sort order for the SSH keys
          schema:
            $ref: '#/components/schemas/SSHKeyOrderByChoices'
            default: created_at.desc
            description: Sort order for the SSH keys
            examples:
              - created_at.desc
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSHKeyCollectionSerializer'
      x-codeSamples:
        - lang: Python
          source: |-
            import os
            from gcore import Gcore

            client = Gcore(
                api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
            )
            page = client.cloud.ssh_keys.list(
                project_id=1,
            )
            page = page.results[0]
            print(page.id)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/G-Core/gcore-go\"\n\t\"github.com/G-Core/gcore-go/cloud\"\n\t\"github.com/G-Core/gcore-go/option\"\n)\n\nfunc main() {\n\tclient := gcore.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tpage, err := client.Cloud.SSHKeys.List(context.TODO(), cloud.SSHKeyListParams{\n\t\tProjectID: gcore.Int(1),\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", page)\n}\n"
components:
  schemas:
    SSHKeyOrderByChoices:
      enum:
        - created_at.asc
        - created_at.desc
        - name.asc
        - name.desc
      title: SSHKeyOrderByChoices
      type: string
    SSHKeyCollectionSerializer:
      properties:
        count:
          description: Number of objects
          example: 1
          examples:
            - 1
          minimum: 0
          title: Count
          type: integer
        results:
          description: Objects
          items:
            $ref: '#/components/schemas/SSHKeySerializer'
          title: Results
          type: array
      required:
        - count
        - results
      title: SSHKeyCollectionSerializer
      type: object
    SSHKeySerializer:
      additionalProperties: false
      properties:
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          description: SSH key creation time
          examples:
            - '2025-06-16T17:05:50Z'
          title: Created At
        fingerprint:
          description: Fingerprint
          example: 86:75:ce:e7:e9:1e:f0:79:ec:6f:d8:92:9b:43:fc:4d
          examples:
            - 86:75:ce:e7:e9:1e:f0:79:ec:6f:d8:92:9b:43:fc:4d
          title: Fingerprint
          type: string
        id:
          description: SSH key ID
          example: 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          examples:
            - 36a7a97a-0672-4911-8f2b-92cd4e5b0d91
          format: uuid4
          title: Id
          type: string
        name:
          description: SSH key name
          example: my-ssh-key
          examples:
            - my-ssh-key
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        project_id:
          anyOf:
            - type: integer
            - type: 'null'
          description: Project ID
          examples:
            - 1
          title: Project Id
        public_key:
          description: >-
            The public part of an SSH key is the shareable portion of an SSH key
            pair. It can be safely sent to servers or services to grant access.
            It does not contain sensitive information.
          example: >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm
            my-username@my-hostname
          examples:
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIIjxL6g1II8NsO8odvBwGKvq2Dx/h/xrvsV9b9LVIYKm
              my-username@my-hostname
          title: Public Key
          type: string
        shared_in_project:
          description: SSH key will be visible to all users in the project
          example: true
          examples:
            - true
          title: Shared In Project
          type: boolean
        state:
          $ref: '#/components/schemas/KeypairState'
          description: SSH key state
          examples:
            - ACTIVE
            - DELETING
      required:
        - id
        - public_key
        - name
        - fingerprint
        - state
        - project_id
        - shared_in_project
        - created_at
      title: SSH key response object
      type: object
    KeypairState:
      enum:
        - ACTIVE
        - DELETING
      title: KeypairState
      type: string
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````