---
title: "Toggle External Key"
method: PATCH
path: "/api/v1/external-keys/{key_name}/toggle"
tags: ["external-keys"]
---

# Toggle External Key

`PATCH /api/v1/external-keys/{key_name}/toggle`

## Request

- Base URL: `https://memory.kagura-ai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://memory.kagura-ai.com/api/v1/external-keys/{key_name}/toggle`
- Auth: none declared

Toggle enabled/disabled state without re-entering API key value.

Issue #105: Enable/disable keys for reranker provider switching.
Issue #246: current_context_id removed - use None

Rules:
- A protected key cannot be disabled (Issue #1613: OPENAI_API_KEY, or any
  key whose provider is openai, while OpenAI embeddings are in use — see
  services/external_key_protection.py)
- Only ONE reranker (Cohere/Voyage) can be enabled at a time

Issue #381: Owner-only (router-level dependency).

## Path parameters

- `key_name` string, required

## Headers

- `authorization` string, nullable

## Request body

- ExternalKeyToggle: Toggle enabled/disabled state (Issue #105).
  - `enabled` boolean, required

## Response `200`

Successful Response

- ExternalKeyResponse: External API key response (masked). No ``id``: external keys are addressed by ``key_name`` (#1008 dropped the integer primary key from the response).
  - `key_name` string, required
  - `provider` string, required
  - `masked_value` string, required
  - `user_id` string, required
  - `enabled` boolean, required
  - `is_protected` boolean, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kagura-ai/apis/kagura-memory-cloud.md) · [All operations](https://skmtc.dev/kagura-ai/apis/kagura-memory-cloud/llms.txt) · [OpenAPI document](https://skmtc.dev/kagura-ai/apis/kagura-memory-cloud/revisions/09f17f5ada29?raw)
