---
title: "Create an organization admin API key"
method: POST
path: "/organization/admin_api_keys"
---

# Create an organization admin API key

`POST /organization/admin_api_keys`

Create a new admin-level API key for the organization.

## Request body

- object
  - `name` string, required
  - `expires_in_seconds` integer — The number of seconds until the API key expires. Omit this field for a key that does not expire.

## Response `200`

The newly created admin API key.

- AdminApiKeyCreateResponse — The newly created admin API key. The `value` field is only returned once, when the key is created.
  - `object` 'organization.admin_api_key', required — The object type, which is always `organization.admin_api_key`
  - `id` string, required — The identifier, which can be referenced in API endpoints
  - `name` string, nullable — The name of the API key
  - `redacted_value` string, required — The redacted value of the API key
  - `created_at` integer, required — The Unix timestamp (in seconds) of when the API key was created
  - `expires_at` integer, nullable, required — The Unix timestamp (in seconds) of when the API key expires
  - `last_used_at` integer, nullable — The Unix timestamp (in seconds) of when the API key was last used
  - `owner` object, required
    - `type` string — Always `user`
    - `object` string — The object type, which is always organization.user
    - `id` string — The identifier, which can be referenced in API endpoints
    - `name` string — The name of the user
    - `created_at` integer — The Unix timestamp (in seconds) of when the user was created
    - `role` string — Always `owner`
  - `value` string, required — The value of the API key. Only shown on create.

## Changes

> 82 revisions in range; 31 could not be searched.

- **2026-05-13** `74cbcf73838f` — 8 breaking, 1 warning, 2 info
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `created_at` from the response with the `200` status
  - removed the required property `id` from the response with the `200` status
  - removed the required property `last_used_at` from the response with the `200` status
  - …7 more
- **2025-04-29** `6a6c681b1820` — 8 info
  - added the optional property `owner/object` to the response with the `200` status
  - the response property `created_at` became required for the status `200`
  - the response property `id` became required for the status `200`
  - the response property `name` became required for the status `200`
  - …4 more
- **2025-01-31** `fc164a27fdb9` — 2 info
  - the endpoint scheme security `basic_identity_edge` was removed from the API
  - the endpoint scheme security `bearer_identity_edge` was removed from the API
- **2025-01-31** `15156e46769c` — 2 info
  - the endpoint scheme security `basic_identity_edge` was added to the API
  - the endpoint scheme security `bearer_identity_edge` was added to the API
- **2025-01-22** `bdebcdfcbbde` — 2 info
  - the endpoint scheme security `basic_identity_edge` was removed from the API
  - the endpoint scheme security `bearer_identity_edge` was removed from the API

[Full history](https://skmtc.dev/openai/apis/openapi/changes/organization/admin_api_keys/post.md)

---

[API](https://skmtc.dev/openai/apis/openapi.md) · [All operations](https://skmtc.dev/openai/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openai/openapi/revisions/959ef977e135/schema)
