# General Translation Platform: Obtenir une clé API de projet
URL: https://generaltranslation.com/fr/docs/platform/openapi/reference/api-keys/get-project-api-key.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Récupère le nom, les autorisations et l’utilisation d’une clé API de projet, sans son secret. Nécessite project:api_keys:read.

{/* Ce fichier a été généré par Fumadocs. Ne le modifiez pas directement. Pour toute modification, relancez la commande de génération. */}

## Endpoint

`GET https://api.gtx.dev/v2/projects/{projectId}/api-keys/{apiKeyId}`

**Operation ID:** `getProjectApiKey`

**Tags:** `API keys`

**Summary:** Get a Project API key

Get a project API key's name, permissions and usage, without its secret. Requires `project:api_keys:read`.

Authentication: required. Send an API key in the `Authorization: Bearer <key>` header when authenticating.

### Parameters

- `projectId` (path, string, required)
- `apiKeyId` (path, string, required): API key ID.
- `gt-api-version` (header, "2026-10-08.v1", optional): API contract version. Defaults to the oldest supported version.

### Responses

**200**: Project API key
Response body (`application/json`, object):
- `id` (string, required)
- `name` (string, required)
- `permissions` ("project:write" | "project:context:read" | "project:context:write" | "project:files:read" | "project:files:write" | "project:translations:generate" | "project:translations:enqueue"[], required): Permissions the key holds.
- `createdAt` (string (date-time), required)
- `lastUsedAt` (string | null (date-time), required): When the key last authenticated a request; `null` when it never has.

**400**: The request is malformed or failed validation.
Response body (`application/json`, object):
- `error` (string, required)
- `code` ("invalid_request" | "api_version_unsupported", required)

Response body (`text/html`, string):

**401**: Authentication is missing or invalid.
Response body (`application/json`, object):
- `error` (string, required)
- `code` ("unauthenticated" | "api_key_invalid", required)

Response body (`text/html`, string):

**403**: The caller is authenticated but not allowed to perform this operation or access the requested resource.
Response body (`application/json`, object):
- `error` (string, required)
- `code` ("ip_not_allowed" | "permission_missing" | "target_inaccessible", required)

Response body (`text/html`, string):

**404**: The requested resource was not found.
Response body (`application/json`, object):
- `error` (string, required)
- `code` ("not_found", required)

Response body (`text/html`, string):

**429**: Too many requests. The rate limit was exceeded.
Response body (`application/json`, object):
- `error` (string, required)
- `code` ("rate_limited", required)

Response body (`text/html`, string):

**500**: An unexpected server error occurred.
Response body (`application/json`, object):
- `error` (string, required)
- `code` ("internal_error", required)

Response body (`text/html`, string):

Complete OpenAPI 3.1 specification: https://generaltranslation.com/openapi.yaml

OpenAPI schema: [openapi.json](https://generaltranslation.com/openapi.json)

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
