---
title: "List Api Keys"
method: GET
path: "/v2/api-key"
tags: ["API Keys"]
---

# List Api Keys

`GET /v2/api-key`

Lists all the api_keys under the active organization.

## Query parameters

- `object_type` 'org' | 'project' | 'env' — An enumeration.
- `proj_id` string — Optional project filter by project id or key
- `page` integer — Page number of the results to fetch, starting at 1.
- `per_page` integer — The number of results per page (max 100).

## Response `200`

Successful Response

- PaginatedResultAPIKeyRead
  - `data` APIKeyRead[], required — List of Api Keys
    - `organization_id` string, uuid, required
    - `project_id` string, uuid
    - `environment_id` string, uuid
    - `object_type` 'org' | 'project' | 'env' — An enumeration.
    - `access_level` 'admin' | 'write' | 'read' | 'no_access' — An enumeration.
    - `owner_type` 'pdp_config' | 'member' | 'elements' | 'nats_pdp_config', required — An enumeration.
    - `name` string
    - `id` string, uuid, required
    - `secret` string
    - `created_at` string, date-time, required
    - `created_by_member` OrgMemberRead
      - `id` string, uuid, required — Unique id of the account member
      - `email` string, email, required — Email of the user controlling this account
      - `email_verified` boolean, required — Whether this email address is verified or not. For social providers like 'Login with Google' this is done automatically, otherwise we will send the user a verification link in email.
      - `name` string — Name of this user
      - `given_name` string — First name of the user
      - `family_name` string — Last name of the user
      - `picture` string — URL to picture, photo, or avatar of the user that controls this account.
      - `is_superuser` boolean, required — Whether or not this user has special access to permit.io organizations
      - `is_onboarding` boolean, required — Whether or not this user is currently onboarding, needs to be replaced by a user journey object
      - `onboarding_step` 'create_organization' | 'create_project' | 'create_resource' | 'create_actions' | 'assign_permissions' | 'assign_user_roles' | 'connect_sdk' | 'done', required — An enumeration.
      - `created_at` string, date-time, required — Date and time when the account member was created (ISO_8601 format).
      - `last_login` string, date-time — Last date and time this user logged in (ISO_8601 format).
      - `last_ip` string — Last IP address from which this user logged in.
      - `logins_count` integer — Total number of logins this user has performed.
      - `identities` IdentityRead[], required
        - `user_id` string, required — Unique User Id of this identity in the identity provider (including the provider type)
        - `provider` string, required — The identity provider type this identity came from
        - `sub` string, required — Unique User Id of this identity in the identity provider (NOT including the provider type)
        - `email` string, email, required — Email connected to this account identity
        - `email_verified` boolean, required — Whether this email address connected to this account identity is verified or not. For social providers like 'Login with Google' this is done automatically, otherwise we will send the user a verification link in email.
        - `auth0_info` object, required — Raw user info json coming from our identity provider and matching a specific account identity
      - `invite` InviteRead
        - `member_id` string, uuid — Unique id of the invite
        - `email` string, email, required — The invited member's email address
        - `role` 'admin' | 'write' | 'read' | 'no_access' — An enumeration.
        - `id` string, uuid, required — Unique id of the invite
        - `organization_id` string, uuid, required — Unique id of the organization that the invite belongs to.
        - `invite_code` string, uuid, required — The invite code that is sent to the member's email
        - `created_at` string, date-time, required — Date and time when the invite was created (ISO_8601 format).
        - `status` 'pending' | 'accepted' | 'failed' | 'canceled', required — An enumeration.
        - `failed_reason` string — if failed, the reason the invitation failed
      - `settings` object, required — Custom permit.io dashboard settings, such as preferred theme, etc.
    - `last_used_at` string, date-time
    - `env` EnvironmentRead
      - `key` string, required — A URL-friendly name of the environment (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the environment.
      - `id` string, uuid, required — Unique id of the environment
      - `organization_id` string, uuid, required — Unique id of the organization that the environment belongs to.
      - `project_id` string, uuid, required — Unique id of the project that the environment belongs to.
      - `created_at` string, date-time, required — Date and time when the environment was created (ISO_8601 format).
      - `updated_at` string, date-time, required — Date and time when the environment was last updated/modified (ISO_8601 format).
      - `avp_policy_store_id` string
      - `name` string, required — The name of the environment
      - `description` string — an optional longer description of the environment
      - `custom_branch_name` string — when using gitops feature, an optional branch name for the environment
      - `jwks` JwksConfig
        - `ttl` integer — JWKS cache TTL (in seconds)
        - `url` string — ...
        - `jwks` JwksObj
          - `keys` object[], required — The keys to match against the request headers
      - `settings` object — the settings for this environment
    - `project` ProjectRead
      - `key` string, required — A URL-friendly name of the project (i.e: slug). You will be able to query later using this key instead of the id (UUID) of the project.
      - `urn_namespace` string — Optional namespace for URNs. If empty, URNs will be generated from project key.
      - `id` string, uuid, required — Unique id of the project
      - `organization_id` string, uuid, required — Unique id of the organization that the project belongs to.
      - `created_at` string, date-time, required — Date and time when the project was created (ISO_8601 format).
      - `updated_at` string, date-time, required — Date and time when the project was last updated/modified (ISO_8601 format).
      - `name` string, required — The name of the project
      - `description` string — a longer description outlining the project objectives
      - `settings` object — the settings for this project
      - `active_policy_repo_id` string, uuid — the id of the policy repo to use for this project
  - `total_count` integer, required
  - `page_count` integer

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/permit/apis/permit-io-api.md) · [All operations](https://skmtc.net/permit/apis/permit-io-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/permit/permit-io-api/versions/f3391dcb29a4/schema)
