apicheats.dev openai/llms.txt Raw .md
POST

POST /organization/projects/{project_id}/service_accounts/{service_account_id}/api_keys — OpenAI API

OpenAI admin key (required); https://api.openai.com/v1

OpenAI API

Create an API key for a service account

Base URL
https://api.openai.com/v1
Auth
Authorization: Bearer <OPENAI_API_KEY>
Last verified
2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 257 tokens · Vary: Accept

Critical gotchas

The Responses API is the primary interface for new text and tool workflows; Chat Completions remains a separate compatibility API.

Audio transcription uploads use multipart form data rather than a JSON request body.

cURL

curl -X POST 'https://api.openai.com/v1/organization/projects/project-id/service_accounts/service-account-id/api_keys' \  -H "Authorization: Bearer $OPENAI_ADMIN_KEY" \  -H 'Content-Type: application/json' \  -d '{}'

Parameters

Name In Type Required Description
project_id path string Yes The ID of the project.
service_account_id path string Yes The ID of the service account.
name body string No API key name.
scopes body string[] No API key scopes.
expires_in_seconds body integer No Number of seconds until the API key expires.

Response 200 OK

{
  "object": "organization.project.service_account.api_key",
  "value": "string",
  "name": "string",
  "created_at": 0,
  "expires_at": 0,
  "id": "string"
}
Get a free OpenAI API key → sponsored

Affiliate link - we may earn a commission, at no extra cost to you.