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

# List S3 Access Keys

> Return every S3 access key configured for this project. Plaintext
secrets are **never** returned here — the secret is only shown once
in the response of `POST /api/storage/s3/access-keys`.




## OpenAPI

````yaml https://raw.githubusercontent.com/InsForge/InsForge/main/openapi/storage.yaml get /api/storage/s3/access-keys
openapi: 3.0.3
info:
  title: Insforge Storage API
  version: 2.0.0
  description: Bucket-based storage system similar to S3
servers: []
security: []
paths:
  /api/storage/s3/access-keys:
    get:
      tags:
        - S3 Access Keys
      summary: List S3 Access Keys
      description: |
        Return every S3 access key configured for this project. Plaintext
        secrets are **never** returned here — the secret is only shown once
        in the response of `POST /api/storage/s3/access-keys`.
      responses:
        '200':
          description: List of access keys (without secrets)
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/S3AccessKey'
        '401':
          description: Missing or invalid API key / admin token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded (20 requests / 15 min / IP)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - apiKey: []
components:
  schemas:
    S3AccessKey:
      type: object
      description: An S3 access key record (without the plaintext secret).
      required:
        - id
        - accessKeyId
        - description
        - createdAt
        - lastUsedAt
      properties:
        id:
          type: string
          format: uuid
          description: Internal UUID of the access key record
          example: 11111111-1111-1111-1111-111111111111
        accessKeyId:
          type: string
          pattern: ^INSF[A-Z0-9]{16}$
          description: 20-character access key id with fixed `INSF` prefix
          example: INSFABC123DEF456GH78
        description:
          type: string
          nullable: true
          description: User-supplied label (max 200 chars)
          example: backup-script
        createdAt:
          type: string
          format: date-time
          example: '2026-04-22T00:00:00Z'
        lastUsedAt:
          type: string
          format: date-time
          nullable: true
          description: Updated asynchronously after each successful SigV4 verification
          example: null
    ErrorResponse:
      type: object
      required:
        - error
        - message
        - statusCode
      properties:
        error:
          type: string
          description: Error code for programmatic handling
          example: VALIDATION_ERROR
        message:
          type: string
          description: Human-readable error message
          example: Invalid request
        statusCode:
          type: integer
          description: HTTP status code
          example: 400
        nextActions:
          type: string
          description: Suggested action to resolve the error
          example: Check your request parameters
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````