---
title: "Create Api Key"
method: POST
path: "/api/v1/service_accounts/{service_account_id}/api_keys"
tags: ["service_accounts", "api_keys"]
---

# Create Api Key

`POST /api/v1/service_accounts/{service_account_id}/api_keys`

## Request

- The document declares no server URL.
- Auth: OAuth 2
  - Password
  - Token URL: `/api/v1/login`
- TypeScript: <https://skmtc.dev/zenml-io/apis/zenml/docs/api/v1/service_accounts/:service_account_id/api_keys/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates an API key for a service account.

Args:
    service_account_id: ID of the service account for which to create the
        API key.
    api_key: API key to create.

Returns:
    The created API key.

## Path parameters

- `service_account_id` string, uuid, required

## Request body

- APIKeyRequest: Request model for API keys.
  - `name` string, required
  - `description` string, nullable

## Response `200`

Successful Response

- APIKeyResponse: Response model for API keys.
  - `body` APIKeyResponseBody: Response body for API keys.
    - `created` string, date-time, required
    - `updated` string, date-time, required
    - `key` string, nullable
    - `active` boolean
    - `service_account` ServiceAccountResponse, required: Response model for service accounts.
      - `body` ServiceAccountResponseBody: Response body for service accounts.
        - `created` string, date-time, required
        - `updated` string, date-time, required
        - `active` boolean
      - `metadata` ServiceAccountResponseMetadata: Response metadata for service accounts.
        - `description` string
      - `resources` ServiceAccountResponseResources: Class for all resource models associated with the service account entity.
      - `id` string, uuid, required
      - `permission_denied` boolean
      - `name` string, required
  - `metadata` APIKeyResponseMetadata: Response metadata for API keys.
    - `description` string
    - `retain_period_minutes` integer, required
    - `last_login` string, date-time, nullable
    - `last_rotated` string, date-time, nullable
  - `resources` APIKeyResponseResources: Class for all resource models associated with the APIKey entity.
  - `id` string, uuid, required
  - `permission_denied` boolean
  - `name` string, required

## Other responses

- `401`: Unauthorized
- `409`: Conflict
- `422`: Unprocessable Entity

---

[API](https://skmtc.dev/zenml-io/apis/zenml.md) - [All operations](https://skmtc.dev/zenml-io/apis/zenml/llms.txt) - [OpenAPI document](https://skmtc.dev/zenml-io/apis/zenml/revisions/abe684261209?raw)
