---
type: api
title: Get API key
description: Retrieves the metadata for an API key.
url: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/cloud/operation/operation-get-api-key
resource: https://www.elastic.co/elastic/docs-builder/docs/4371/api/doc/cloud/operation/operation-get-api-key
products:
  - Elastic Cloud Hosted
---

# Get API key

- Server: `https://api.elastic-cloud.com/api/v1`

## Paths

- `GET` `/users/auth/keys/{api_key_id}`

#### Path Parameters

- `api_key_id` (string)
  The API Key ID.

## Description

Retrieves the metadata for an API key.

## Responses

#### `200`

The API key metadata is retrieved.

`application/json`

- `id` (string)
  The API key ID.
- `user_id` (string)
  The user ID.
- `organization_id` (string)
  The organization ID linked to the API key
- `description` (string)
  The API key description. TIP: Useful when you have multiple API keys.
- `key` (string)
  The API key. TIP: Since the API key is returned only once, save it in a safe place.
- `creation_date` (string)
  The date/time for when the API key is created.
- `expiration_date` (string)
  The date/time when the API key expires.
- `role_assignments` ({} RoleAssignments)
  Roles assigned to users, API keys or organization invitations. Currently unavailable in self-hosted ECE.
  - `platform` ([] PlatformRoleAssignment)
    Assignments for roles with platform scope.
    - `role_id` (string)
      The ID of the role that is assigned.
  - `organization` ([] OrganizationRoleAssignment)
    Assignments for roles with organization scope.
    - `role_id` (string)
      The ID of the role that is assigned.
    - `organization_id` (string)
      The ID of the organization the role is scoped to.
    - `application_roles` ([] string)
      If provided, the user assigned this role assignment will be granted this application role when signing in to a deployment or project
  - `deployment` ([] DeploymentRoleAssignment)
    Assignments for roles with deployment scope.
    - `role_id` (string)
      The ID of the role that is assigned.
    - `organization_id` (string)
      The ID of the organization the role is scoped to.
    - `all` (boolean)
      When true, the role applies to all deployments in the organization, otherwise the role is scoped to the deployments specified in `deployment_ids`.
    - `deployment_ids` ([] string)
      The IDs of the deployments the role is scoped to. Must be absent if `all` is true, and present if `all` is false.
    - `application_roles` ([] string)
      If provided, the user assigned this role assignment will be granted this application role when signing in to the deployment(s) specified in the role assignment.
  - `project` ({} ProjectRoleAssignments)
    Assignments for roles with project scope.
    - `elasticsearch` ([] ProjectRoleAssignment)
      The Elasticsearch project-scoped role assignments to set
      - `role_id` (string)
        The ID of the role that is assigned.
      - `organization_id` (string)
        The ID of the organization the role is scoped to.
      - `all` (boolean)
        When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in `project_ids`.
      - `project_ids` ([] string)
        The IDs of the projects the role is scoped to. Must be absent if `all` is true, and present if `all` is false.
      - `application_roles` ([] string)
        If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.
    - `observability` ([] ProjectRoleAssignment)
      The Observability project-scoped role assignments to set
      - `role_id` (string)
        The ID of the role that is assigned.
      - `organization_id` (string)
        The ID of the organization the role is scoped to.
      - `all` (boolean)
        When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in `project_ids`.
      - `project_ids` ([] string)
        The IDs of the projects the role is scoped to. Must be absent if `all` is true, and present if `all` is false.
      - `application_roles` ([] string)
        If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.
    - `security` ([] ProjectRoleAssignment)
      The Security project-scoped role assignments to set
      - `role_id` (string)
        The ID of the role that is assigned.
      - `organization_id` (string)
        The ID of the organization the role is scoped to.
      - `all` (boolean)
        When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in `project_ids`.
      - `project_ids` ([] string)
        The IDs of the projects the role is scoped to. Must be absent if `all` is true, and present if `all` is false.
      - `application_roles` ([] string)
        If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.
    - `workplaceai` ([] ProjectRoleAssignment)
      The WorkplaceAI project-scoped role assignments to set
      - `role_id` (string)
        The ID of the role that is assigned.
      - `organization_id` (string)
        The ID of the organization the role is scoped to.
      - `all` (boolean)
        When true, the role applies to all projects in the organization, otherwise the role is scoped to the projects specified in `project_ids`.
      - `project_ids` ([] string)
        The IDs of the projects the role is scoped to. Must be absent if `all` is true, and present if `all` is false.
      - `application_roles` ([] string)
        If provided, the user assigned this role assignment will be granted this application role when signing in to the project(s) specified in the role assignment.
#### `404`

The {api_key_id} can't be found. (code: `api_keys.key_not_found`)

`application/json`

- `errors` ([] BasicFailedReplyElement)
  A list of errors that occurred in the failing request
  - `code` (string)
    A structured code representing the error type that occurred
  - `message` (string)
    A human readable message describing the error that occurred
  - `fields` ([] string)
    If the error can be tied to a specific field or fields in the user request, this lists those fields
##### Response Headers

- `x-cloud-error-codes` (enum)
  The error codes associated with the response

## Code Examples

#### Console

```console
GET /users/auth/keys/{api_key_id}
```

#### curl

```curl
curl -X GET "https://api.elastic-cloud.com/api/v1/users/auth/keys/{api_key_id}"
```

