---
title: "List Keys"
method: GET
path: "/key/list"
tags: ["key management"]
---

# List Keys

`GET /key/list`

List all keys for a given user / team / organization.

Parameters:
    expand: Optional[List[str]] - Expand related objects (e.g. 'user' to include user information)
    status: Optional[str] - Filter by status. Currently supports "deleted" to query deleted keys.

Returns:
    {
        "keys": List[str] or List[UserAPIKeyAuth],
        "total_count": int,
        "current_page": int,
        "total_pages": int,
    }

When expand includes "user", each key object will include a "user" field with the associated user object.
Note: When expand=user is specified, full key objects are returned regardless of the return_full_object parameter.

## Query parameters

- `page` integer — Page number
- `size` integer — Page size
- `user_id` string, nullable — Filter keys by user ID. Supports partial matching (substring, case-insensitive).
- `team_id` string, nullable — Filter keys by team ID
- `organization_id` string, nullable — Filter keys by organization ID
- `key_hash` string, nullable — Filter keys by key hash
- `key_alias` string, nullable — Filter keys by key alias. Supports partial matching (substring, case-insensitive).
- `return_full_object` boolean — Return full key object
- `include_team_keys` boolean — Include all keys for teams that user is an admin of.
- `include_created_by_keys` boolean — Include keys created by the user
- `sort_by` string, nullable — Column to sort by (e.g. 'user_id', 'created_at', 'spend')
- `sort_order` string — Sort order ('asc' or 'desc')
- `expand` string[], nullable — Expand related objects (e.g. 'user')
- `status` string, nullable — Filter by status (e.g. 'deleted')
- `project_id` string, nullable — Filter keys by project ID
- `access_group_id` string, nullable — Filter keys by access group ID

## Response `200`

Successful Response

- KeyListResponseObject
  - `keys` union[]
    - union
      - string
      - UserAPIKeyAuth — Return the row in the db
        - `token` string, nullable
        - `key_name` string, nullable
        - `key_alias` string, nullable
        - `spend` number
        - `max_budget` number, nullable
        - `expires` union
          - string
          - string, date-time
        - `models` unknown[]
          - unknown
        - `aliases` object
        - `config` object
        - `user_id` string, nullable
        - `team_id` string, nullable
        - `agent_id` string, nullable
        - `project_id` string, nullable
        - `max_parallel_requests` integer, nullable
        - `metadata` object
        - `tpm_limit` integer, nullable
        - `rpm_limit` integer, nullable
        - `budget_duration` string, nullable
        - `budget_reset_at` string, date-time, nullable
        - `allowed_cache_controls` unknown[], nullable
          - unknown
        - `allowed_routes` unknown[], nullable
          - unknown
        - `permissions` object
        - `model_spend` object
        - `model_max_budget` object
        - `soft_budget_cooldown` boolean
        - `blocked` boolean, nullable
        - `litellm_budget_table` object, nullable
        - `org_id` string, nullable
        - `created_at` string, date-time, nullable
        - `created_by` string, nullable
        - `updated_at` string, date-time, nullable
        - `updated_by` string, nullable
        - `last_active` string, date-time, nullable
        - `object_permission_id` string, nullable
        - `object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
          - `object_permission_id` string, required
          - `mcp_servers` string[], nullable
          - `mcp_access_groups` string[], nullable
          - `mcp_tool_permissions` object, nullable
          - `vector_stores` string[], nullable
          - `agents` string[], nullable
          - `agent_access_groups` string[], nullable
          - `mcp_toolsets` string[], nullable
          - `blocked_tools` string[], nullable
          - `search_tools` string[], nullable
        - `access_group_ids` string[], nullable
        - `rotation_count` integer, nullable
        - `auto_rotate` boolean, nullable
        - `rotation_interval` string, nullable
        - `last_rotation_at` string, date-time, nullable
        - `key_rotation_at` string, date-time, nullable
        - `router_settings` object, nullable
        - `budget_limits` object[], nullable
        - `team_spend` number, nullable
        - `team_alias` string, nullable
        - `team_tpm_limit` integer, nullable
        - `team_rpm_limit` integer, nullable
        - `team_max_budget` number, nullable
        - `team_soft_budget` number, nullable
        - `team_models` unknown[]
          - unknown
        - `team_blocked` boolean
        - `soft_budget` number, nullable
        - `team_model_aliases` object, nullable
        - `team_member` Member
          - `user_id` string, nullable — The unique ID of the user to add. Either user_id or user_email must be provided
          - `user_email` string, nullable — The email address of the user to add. Either user_id or user_email must be provided
          - `role` 'admin' | 'user', required — The role of the user within the team. 'admin' users can manage team settings and members, 'user' is a regular team member
        - `team_metadata` object, nullable
        - `team_object_permission_id` string, nullable
        - `team_member_spend` number, nullable
        - `team_member_tpm_limit` integer, nullable
        - `team_member_rpm_limit` integer, nullable
        - `end_user_id` string, nullable
        - `end_user_tpm_limit` integer, nullable
        - `end_user_rpm_limit` integer, nullable
        - `end_user_max_budget` number, nullable
        - `end_user_model_max_budget` object, nullable
        - `organization_alias` string, nullable
        - `organization_max_budget` number, nullable
        - `organization_tpm_limit` integer, nullable
        - `organization_rpm_limit` integer, nullable
        - `organization_metadata` object, nullable
        - `project_alias` string, nullable
        - `project_metadata` object, nullable
        - `last_refreshed_at` number, nullable
        - `api_key` string, nullable
        - `user_role` 'proxy_admin' | 'proxy_admin_viewer' | 'org_admin' | 'internal_user' | 'internal_user_viewer' | 'team' | 'customer' — Admin Roles: PROXY_ADMIN: admin over the platform PROXY_ADMIN_VIEW_ONLY: can login, view all own keys, view all spend ORG_ADMIN: admin over a specific organization, can create teams, users only within their organization Internal User Roles: INTERNAL_USER: can login, view/create/delete their own keys, view their spend INTERNAL_USER_VIEW_ONLY: can login, view their own keys, view their own spend Team Roles: TEAM: used for JWT auth Customer Roles: CUSTOMER: External users -> these are customers
        - `allowed_model_region` 'eu' | 'us', nullable
        - `parent_otel_span` unknown
        - `rpm_limit_per_model` object, nullable
        - `tpm_limit_per_model` object, nullable
        - `user_tpm_limit` integer, nullable
        - `user_rpm_limit` integer, nullable
        - `user_email` string, nullable
        - `user_spend` number, nullable
        - `user_max_budget` number, nullable
        - `request_route` string, nullable
        - `user` unknown
        - `created_by_user` unknown
        - `end_user_object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
          - `object_permission_id` string, required
          - `mcp_servers` string[], nullable
          - `mcp_access_groups` string[], nullable
          - `mcp_tool_permissions` object, nullable
          - `vector_stores` string[], nullable
          - `agents` string[], nullable
          - `agent_access_groups` string[], nullable
          - `mcp_toolsets` string[], nullable
          - `blocked_tools` string[], nullable
          - `search_tools` string[], nullable
        - `team_object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
          - `object_permission_id` string, required
          - `mcp_servers` string[], nullable
          - `mcp_access_groups` string[], nullable
          - `mcp_tool_permissions` object, nullable
          - `vector_stores` string[], nullable
          - `agents` string[], nullable
          - `agent_access_groups` string[], nullable
          - `mcp_toolsets` string[], nullable
          - `blocked_tools` string[], nullable
          - `search_tools` string[], nullable
        - `jwt_claims` object, nullable
      - LiteLLMDeletedVerificationToken — Recording of deleted keys for audit purposes. Mirrors LiteLLM_VerificationToken plus metadata captured at deletion time.
        - `token` string, nullable
        - `key_name` string, nullable
        - `key_alias` string, nullable
        - `spend` number
        - `max_budget` number, nullable
        - `expires` union
          - string
          - string, date-time
        - `models` unknown[]
          - unknown
        - `aliases` object
        - `config` object
        - `user_id` string, nullable
        - `team_id` string, nullable
        - `agent_id` string, nullable
        - `project_id` string, nullable
        - `max_parallel_requests` integer, nullable
        - `metadata` object
        - `tpm_limit` integer, nullable
        - `rpm_limit` integer, nullable
        - `budget_duration` string, nullable
        - `budget_reset_at` string, date-time, nullable
        - `allowed_cache_controls` unknown[], nullable
          - unknown
        - `allowed_routes` unknown[], nullable
          - unknown
        - `permissions` object
        - `model_spend` object
        - `model_max_budget` object
        - `soft_budget_cooldown` boolean
        - `blocked` boolean, nullable
        - `litellm_budget_table` object, nullable
        - `org_id` string, nullable
        - `created_at` string, date-time, nullable
        - `created_by` string, nullable
        - `updated_at` string, date-time, nullable
        - `updated_by` string, nullable
        - `last_active` string, date-time, nullable
        - `object_permission_id` string, nullable
        - `object_permission` LiteLLMObjectPermissionTable — Represents a LiteLLM_ObjectPermissionTable record
          - `object_permission_id` string, required
          - `mcp_servers` string[], nullable
          - `mcp_access_groups` string[], nullable
          - `mcp_tool_permissions` object, nullable
          - `vector_stores` string[], nullable
          - `agents` string[], nullable
          - `agent_access_groups` string[], nullable
          - `mcp_toolsets` string[], nullable
          - `blocked_tools` string[], nullable
          - `search_tools` string[], nullable
        - `access_group_ids` string[], nullable
        - `rotation_count` integer, nullable
        - `auto_rotate` boolean, nullable
        - `rotation_interval` string, nullable
        - `last_rotation_at` string, date-time, nullable
        - `key_rotation_at` string, date-time, nullable
        - `router_settings` object, nullable
        - `budget_limits` object[], nullable
        - `id` string, nullable
        - `deleted_at` string, date-time, nullable
        - `deleted_by` string, nullable
        - `deleted_by_api_key` string, nullable
        - `litellm_changed_by` string, nullable
  - `total_count` integer, nullable
  - `current_page` integer, nullable
  - `total_pages` integer, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/flock/apis/litellm-api.md) · [All operations](https://skmtc.net/flock/apis/litellm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/flock/litellm-api/revisions/8fbaab4fc7c5/schema)
