# /me/api-keys - Create an API key **POST /me/api-keys** Issue a personal API key for non-interactive integrations. The full plaintext token is returned exactly once and never again. A user may hold at most 5 active keys. Interactive-session only — cannot be called with an API key. ## Servers - Backend API server (port 8080): https://api.your-domain.com/api (Backend API server (port 8080)) - Collect API server (port 8081): https://collect.your-domain.com/api (Collect API server (port 8081)) ## Authentication methods - Bearer auth ## Parameters ### Body: application/json (object) - **name** (string) Human label for the integration this key serves - **mode** (string) - **expires_in_days** (integer) Optional. Defaults to 90, capped at 365. - **password** (string(password)) The caller's current password, re-verified as a step-up before the key is minted. ## Responses ### 201 API key created successfully #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object) ### 400 Bad request - validation error #### Body: application/json (object) - **code** (integer) HTTP error code - **message** (string) Error message - **data** (object) ### 401 Unauthorized - invalid or missing token #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) ### 403 Forbidden - insufficient permissions #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) ### 409 Maximum number of active API keys reached (translatable validation error) #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object) ### 500 Internal server error #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) [Powered by Bump.sh](https://bump.sh)