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

# List API keys

> Tenant-scoped only (a number-scoped key gets 403 NUMBER_SCOPE_NOT_ALLOWED, and an OAuth grant must be full-tenant). Returns a lean flat list — one item per tenant number — with numberId, number, displayName, keyId, keyLast4 and the real usable value (`key` field) when the key was created with encryption enabled (`revealable: true`). Legacy keys come back with `key: null` and `revealable: false` (regenerate that number to obtain a usable value).

**Requires a tenant-scoped key.**



## OpenAPI

````yaml openapi.json GET /v1/api-keys
openapi: 3.1.0
info:
  title: Pilot Status API
  version: 1.0.0
  license:
    name: Pilot Status Terms of Service
    url: https://pilotstatus.com.br/terms
  description: >-
    Public REST API for Pilot Status. Authenticate with the `x-api-key: ps_...`
    header (or `x-api-key-id`). Base URL: https://pilotstatus.com.br
servers:
  - url: https://pilotstatus.com.br
security:
  - apiKey: []
  - apiKeyId: []
paths:
  /v1/api-keys:
    get:
      tags:
        - API Keys
      summary: List API keys
      description: >-
        Tenant-scoped only (a number-scoped key gets 403
        NUMBER_SCOPE_NOT_ALLOWED, and an OAuth grant must be full-tenant).
        Returns a lean flat list — one item per tenant number — with numberId,
        number, displayName, keyId, keyLast4 and the real usable value (`key`
        field) when the key was created with encryption enabled (`revealable:
        true`). Legacy keys come back with `key: null` and `revealable: false`
        (regenerate that number to obtain a usable value).


        **Requires a tenant-scoped key.**
      operationId: get_api-keys
      responses:
        '200':
          description: List keys (tenant key — all numbers)
          content:
            application/json:
              example:
                - numberId: wn_1
                  number: '5511999999999'
                  displayName: Suporte
                  keyId: k_aaa
                  keyLast4: wxyz
                  key: ps_4f1c...real...wxyz
                  revealable: true
                - numberId: wn_2
                  number: '5511888888888'
                  displayName: Vendas
                  keyId: k_bbb
                  keyLast4: abcd
                  key: null
                  revealable: false
        '401':
          description: Missing or invalid `x-api-key` / `x-api-key-id` header
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Unauthorized
        '403':
          description: Number-scoped key used on a tenant-only endpoint
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Number-scoped keys cannot call tenant endpoints
                code: NUMBER_SCOPE_NOT_ALLOWED
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Too many requests
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your ps_ API key
    apiKeyId:
      type: apiKey
      in: header
      name: x-api-key-id
      description: API key id (alternative to x-api-key)

````