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

# List

> List all API keys owned by this account




## OpenAPI

````yaml https://raw.githubusercontent.com/ngrok/ngrok-openapi/refs/heads/main/ngrok.yaml get /api_keys
openapi: 3.0.0
info:
  title: ngrok OpenAPI
  version: 1.0.0
servers:
  - url: https://api.ngrok.com
security:
  - authentication: []
paths:
  /api_keys:
    get:
      tags:
        - APIKeys
      summary: List
      description: |
        List all API keys owned by this account
      operationId: ApiKeysList
      parameters:
        - $ref: '#/components/parameters/ngrokVersion'
        - name: before_id
          description: >
            Expects a resource ID as its input. Returns earlier entries in the
            result set, sorted by ID.
          in: query
          required: false
          schema:
            type: string
        - name: limit
          description: >
            Constrains the number of results in the dataset. See the [API
            Overview](https://ngrok.com/docs/api/index#pagination) for details.
          in: query
          required: false
          schema:
            type: string
        - name: filter
          description: >
            A CEL expression to filter the list results. Supports logical and
            comparison operators to match on fields such as `id`, `metadata`,
            `created_at`, and more. See ngrok API Filtering for syntax and field
            details: https://ngrok.com/docs/api/api-filtering.
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: |
            List all API keys owned by this account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIKeyList'
components:
  parameters:
    ngrokVersion:
      name: ngrok-version
      in: header
      required: true
      schema:
        type: integer
        default: 2
  schemas:
    APIKeyList:
      type: object
      properties:
        keys:
          description: |
            the list of API keys for this account
          type: array
          items:
            $ref: '#/components/schemas/APIKey'
        uri:
          description: |
            URI of the API keys list API resource
          type: string
        next_page_uri:
          description: |
            URI of the next page, or null if there is no next page
          type: string
    APIKey:
      type: object
      properties:
        id:
          description: |
            unique API key resource identifier
          type: string
        uri:
          description: |
            URI to the API resource of this API key
          type: string
        description:
          description: >
            human-readable description of what uses the API key to authenticate.
            optional, max 255 bytes.
          type: string
        metadata:
          description: >
            arbitrary user-defined data of this API key. optional, max 4096
            bytes
          type: string
        created_at:
          description: |
            timestamp when the api key was created, RFC 3339 format
          type: string
        token:
          description: >
            the bearer token that can be placed into the Authorization header to
            authenticate request to the ngrok API. **This value is only
            available one time, on the API response from key creation. Otherwise
            it is null.**
          type: string
        owner_id:
          description: >
            If supplied at credential creation, ownership will be assigned to
            the specified User or Bot. Only admins may specify an owner other
            than themselves. Defaults to the authenticated User or Bot.
          type: string
  securitySchemes:
    authentication:
      type: http
      scheme: bearer

````