Создать новый API-ключ

MD версия

Создаёт новый API-ключ для аутентифицированного пользователя. Открытое значение key возвращается только в этом ответе. Считайте его чувствительным значением, доступным только для записи: получить его повторно невозможно. Требуется ключ управления.

OpenAPI

yaml
openapi: 3.1.0 info: contact: email: support@openrouter.ai name: OpenRouter Support url: https://openrouter.ai/docs description: OpenAI-compatible API with additional OpenRouter features license: name: MIT url: https://opensource.org/licenses/MIT title: OpenRouter API version: 1.0.0 servers: - description: Production server url: https://openrouter.ai/api/v1 x-speakeasy-server-id: production security: - apiKey: [] tags: - description: API key management endpoints name: API Keys - description: Analytics and usage endpoints name: Analytics - description: Anthropic Messages endpoints name: Anthropic Messages - description: BYOK endpoints name: BYOK - description: Benchmarks endpoints name: Benchmarks - description: Chat completion endpoints name: Chat - description: Task classification market-share endpoints name: Classifications - description: Credit management endpoints name: Credits - description: >- Public OpenRouter usage datasets. Data returned by these endpoints is licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/): reuse and republish it, including commercially, with attribution to OpenRouter. name: Datasets - description: Text embedding endpoints name: Embeddings - description: Endpoint information name: Endpoints - description: Files endpoints name: Files - description: Generation history endpoints name: Generations - description: Guardrails endpoints name: Guardrails - description: Images endpoints name: Images - description: Model information endpoints name: Models - description: OAuth authentication endpoints name: OAuth - description: Observability endpoints name: Observability - description: Organization endpoints name: Organization - description: Presets endpoints name: Presets - description: Provider information endpoints name: Providers - description: Rerank endpoints name: Rerank - description: OpenAI-compatible Responses API endpoints name: Responses - description: SCIM endpoints name: SCIM - description: Speech-to-text endpoints name: STT x-displayName: Transcriptions - description: Text-to-speech endpoints name: TTS x-displayName: Speech - description: Video Generation endpoints name: Video Generation - description: Workspaces endpoints name: Workspaces - description: beta.Analytics endpoints name: beta.Analytics externalDocs: description: OpenRouter Documentation url: https://openrouter.ai/docs paths: /keys: post: tags: - API Keys summary: Create a new API key description: >- Create a new API key for the authenticated user. The plaintext `key` is returned only in this response. Treat it as a write-only, sensitive value; it cannot be retrieved later. [Management key](/docs/guides/overview/auth/management-api-keys) required. operationId: createKeys requestBody: content: application/json: example: expires_at: '2027-12-31T23:59:59Z' include_byok_in_limit: true limit: 50 limit_reset: monthly name: My New API Key schema: example: expires_at: '2027-12-31T23:59:59Z' include_byok_in_limit: true limit: 50 limit_reset: monthly name: My New API Key properties: creator_user_id: description: >- Optional user ID of the key creator. Only meaningful for organization-owned keys where a specific member is creating the key. example: user_2dHFtVWx2n56w6HkM0000000000 minLength: 1 type: - string - 'null' expires_at: description: >- Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected example: '2027-12-31T23:59:59Z' format: date-time type: - string - 'null' include_byok_in_limit: description: Whether to include BYOK usage in the limit example: true type: boolean limit: description: Optional spending limit for the API key in USD example: 50 format: double type: - number - 'null' limit_reset: description: >- Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. enum: - daily - weekly - monthly - null example: monthly type: - string - 'null' name: description: Name for the new API key example: My New API Key minLength: 1 type: string workspace_id: description: >- The workspace to create the API key in. Defaults to the default workspace if not provided. example: 0df9e665-d932-5740-b2c7-b52af166bc11 format: uuid type: string required: - name type: object required: true responses: '201': content: application/json: example: data: byok_usage: 0 byok_usage_daily: 0 byok_usage_monthly: 0 byok_usage_weekly: 0 created_at: '2025-08-24T10:30:00Z' creator_user_id: user_2dHFtVWx2n56w6HkM0000000000 disabled: false expires_at: '2027-12-31T23:59:59Z' hash: >- f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 include_byok_in_limit: true label: My New API Key limit: 50 limit_remaining: 50 limit_reset: monthly name: My New API Key updated_at: null usage: 0 usage_daily: 0 usage_monthly: 0 usage_weekly: 0 workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11 key: >- 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 schema: example: data: byok_usage: 0 byok_usage_daily: 0 byok_usage_monthly: 0 byok_usage_weekly: 0 created_at: '2025-08-24T10:30:00Z' creator_user_id: user_2dHFtVWx2n56w6HkM0000000000 disabled: false expires_at: '2027-12-31T23:59:59Z' hash: >- f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 include_byok_in_limit: true label: My New API Key limit: 50 limit_remaining: 50 limit_reset: monthly name: My New API Key updated_at: null usage: 0 usage_daily: 0 usage_monthly: 0 usage_weekly: 0 workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11 key: >- 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 properties: data: description: The created API key information example: byok_usage: 17.38 byok_usage_daily: 17.38 byok_usage_monthly: 17.38 byok_usage_weekly: 17.38 created_at: '2025-08-24T10:30:00Z' creator_user_id: user_2dHFtVWx2n56w6HkM0000000000 disabled: false expires_at: '2027-12-31T23:59:59Z' hash: >- f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 include_byok_in_limit: false label: sk-or-v1-0e6...1c96 limit: 100 limit_remaining: 74.5 limit_reset: monthly name: My Production Key updated_at: '2025-08-24T15:45:00Z' usage: 25.5 usage_daily: 25.5 usage_monthly: 25.5 usage_weekly: 25.5 workspace_id: 0df9e665-d932-5740-b2c7-b52af166bc11 properties: byok_usage: description: Total external BYOK usage (in USD) for the API key example: 17.38 format: double type: number byok_usage_daily: description: External BYOK usage (in USD) for the current UTC day example: 17.38 format: double type: number byok_usage_monthly: description: External BYOK usage (in USD) for current UTC month example: 17.38 format: double type: number byok_usage_weekly: description: >- External BYOK usage (in USD) for the current UTC week (Monday-Sunday) example: 17.38 format: double type: number created_at: description: ISO 8601 timestamp of when the API key was created example: '2025-08-24T10:30:00Z' type: string creator_user_id: description: >- The user ID of the key creator. For organization-owned keys, this is the member who created the key. For individual users, this is the user's own ID. example: user_2dHFtVWx2n56w6HkM0000000000 type: - string - 'null' disabled: description: Whether the API key is disabled example: false type: boolean expires_at: description: >- ISO 8601 UTC timestamp when the API key expires, or null if no expiration example: '2027-12-31T23:59:59Z' format: date-time type: - string - 'null' hash: description: Unique hash identifier for the API key example: >- f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 type: string include_byok_in_limit: description: >- Whether to include external BYOK usage in the credit limit example: false type: boolean label: description: Human-readable label for the API key example: sk-or-v1-0e6...1c96 type: string limit: description: Spending limit for the API key in USD example: 100 format: double type: - number - 'null' limit_remaining: description: Remaining spending limit in USD example: 74.5 format: double type: - number - 'null' limit_reset: description: Type of limit reset for the API key example: monthly type: - string - 'null' name: description: Name of the API key example: My Production Key type: string updated_at: description: >- ISO 8601 timestamp of when the API key was last updated example: '2025-08-24T15:45:00Z' type: - string - 'null' usage: description: Total OpenRouter credit usage (in USD) for the API key example: 25.5 format: double type: number usage_daily: description: >- OpenRouter credit usage (in USD) for the current UTC day example: 25.5 format: double type: number usage_monthly: description: >- OpenRouter credit usage (in USD) for the current UTC month example: 25.5 format: double type: number usage_weekly: description: >- OpenRouter credit usage (in USD) for the current UTC week (Monday-Sunday) example: 25.5 format: double type: number workspace_id: description: The workspace ID this API key belongs to. example: 0df9e665-d932-5740-b2c7-b52af166bc11 type: string required: - hash - name - label - disabled - limit - limit_remaining - limit_reset - include_byok_in_limit - usage - usage_daily - usage_weekly - usage_monthly - byok_usage - byok_usage_daily - byok_usage_weekly - byok_usage_monthly - created_at - updated_at - creator_user_id - workspace_id type: object key: description: The actual API key string (only shown once) example: >- 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 type: string required: - data - key type: object description: API key created successfully '400': content: application/json: example: error: code: 400 message: Invalid request parameters schema: $ref: '#/components/schemas/BadRequestResponse' description: Bad Request - Invalid request parameters or malformed input '401': content: application/json: example: error: code: 401 message: Missing Authentication header schema: $ref: '#/components/schemas/UnauthorizedResponse' description: Unauthorized - Authentication required or invalid credentials '403': content: application/json: example: error: code: 403 message: Only management keys can perform this operation schema: $ref: '#/components/schemas/ForbiddenResponse' description: Forbidden - Authentication successful but insufficient permissions '429': content: application/json: example: error: code: 429 message: Rate limit exceeded schema: $ref: '#/components/schemas/TooManyRequestsResponse' description: Too Many Requests - Rate limit exceeded '500': content: application/json: example: error: code: 500 message: Internal Server Error schema: $ref: '#/components/schemas/InternalServerResponse' description: Internal Server Error - Unexpected server error components: schemas: BadRequestResponse: description: Bad Request - Invalid request parameters or malformed input example: error: code: 400 message: Invalid request parameters properties: error: $ref: '#/components/schemas/BadRequestResponseErrorData' openrouter_metadata: additionalProperties: {} type: - object - 'null' user_id: type: - string - 'null' required: - error type: object UnauthorizedResponse: description: Unauthorized - Authentication required or invalid credentials example: error: code: 401 message: Missing Authentication header properties: error: $ref: '#/components/schemas/UnauthorizedResponseErrorData' openrouter_metadata: additionalProperties: {} type: - object - 'null' user_id: type: - string - 'null' required: - error type: object ForbiddenResponse: description: Forbidden - Authentication successful but insufficient permissions example: error: code: 403 message: Only management keys can perform this operation properties: error: $ref: '#/components/schemas/ForbiddenResponseErrorData' openrouter_metadata: additionalProperties: {} type: - object - 'null' user_id: type: - string - 'null' required: - error type: object TooManyRequestsResponse: description: Too Many Requests - Rate limit exceeded example: error: code: 429 message: Rate limit exceeded properties: error: $ref: '#/components/schemas/TooManyRequestsResponseErrorData' openrouter_metadata: additionalProperties: {} type: - object - 'null' user_id: type: - string - 'null' required: - error type: object InternalServerResponse: description: Internal Server Error - Unexpected server error example: error: code: 500 message: Internal Server Error properties: error: $ref: '#/components/schemas/InternalServerResponseErrorData' openrouter_metadata: additionalProperties: {} type: - object - 'null' user_id: type: - string - 'null' required: - error type: object BadRequestResponseErrorData: description: Error data for BadRequestResponse example: code: 400 message: Invalid request parameters properties: code: type: integer message: type: string metadata: additionalProperties: {} type: - object - 'null' required: - code - message type: object UnauthorizedResponseErrorData: description: Error data for UnauthorizedResponse example: code: 401 message: Missing Authentication header properties: code: type: integer message: type: string metadata: additionalProperties: {} type: - object - 'null' required: - code - message type: object ForbiddenResponseErrorData: description: Error data for ForbiddenResponse example: code: 403 message: Only management keys can perform this operation properties: code: type: integer message: type: string metadata: additionalProperties: {} type: - object - 'null' required: - code - message type: object TooManyRequestsResponseErrorData: description: Error data for TooManyRequestsResponse example: code: 429 message: Rate limit exceeded properties: code: type: integer message: type: string metadata: additionalProperties: {} type: - object - 'null' required: - code - message type: object InternalServerResponseErrorData: description: Error data for InternalServerResponse example: code: 500 message: Internal Server Error properties: code: type: integer message: type: string metadata: additionalProperties: {} type: - object - 'null' required: - code - message type: object securitySchemes: apiKey: description: API key as bearer token in Authorization header scheme: bearer type: http