---
title: "Add API key"
method: POST
path: "/api/{projectId}/apikeys"
tags: ["Projects"]
---

# Add API key

`POST /api/{projectId}/apikeys`

## Request

- Base URL: `https://studio.edgeimpulse.com/v1`
- URL: `https://studio.edgeimpulse.com/v1/api/{projectId}/apikeys`
- Auth: one of:
  - API key in header `x-api-key`
  - API key in cookie `jwt`
  - API key in header `x-jwt-token`
  - OAuth 2
    - Authorization code: `/v1/oauth/authorize`
    - Client credentials
    - Implicit: `/v1/oauth/authorize`
    - Password
    - Token URL: `/v1/oauth/token`
- TypeScript: <https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/docs/api/:projectId/apikeys/post.ts> (a function with typed inputs; its response is checked against the schema)

Add an API key. If you set `developmentKey` to `true` this flag will be removed from the current development API key. For OAuth-based third-party integrations, prefer `/api/{projectId}/apikeys/ingestiononly`.

## Path parameters

- `projectId` integer, required

## Request body

- AddProjectApiKeyRequest
  - `name` string, required: Description of the key
  - `apiKey` string: Optional: API key. This needs to start with `ei_` and will need to be at least 32 characters long. If this field is not passed in, a new API key is generated for you.
  - `isDevelopmentKey` boolean, required: Whether this key should be used as a development key.
  - `role` 'admin' | 'readonly' | 'ingestiononly' | 'ingestion_deployment', required
  - `ttl` integer: Optional: time to live in seconds.
  - `projectExtensionId` integer: Optional: extension ID when this API key is created for a project extension.

## Response `200`

OK

- AddApiKeyResponse
  - `success` boolean, required: Whether the operation succeeded
  - `error` string: Optional error description (set if 'success' was false)
  - `id` integer, required: ID of the new API key
  - `apiKey` string, required: New API Key (starts with "ei_...") - this'll be shared only once.

---

[API](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api.md) - [All operations](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/llms.txt) - [OpenAPI document](https://skmtc.dev/edgeimpulse/apis/edge-impulse-api/revisions/e2a976d38427?raw)
