---
title: "Update Context"
method: PUT
path: "/api/v1/contexts/{context_id}"
tags: ["contexts"]
---

# Update Context

`PUT /api/v1/contexts/{context_id}`

## 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/contexts/{context_id}`
- Auth: none declared

Update a context's display_name, description and settings.

Permission (Issue #165 Phase 3):
- summary/usage_guide/is_private/is_public/resource_id/is_locked/sleep_mode:
  Requires OWNER access (owner-only fields — see ``owner_only_fields`` list)
- display_name/description: Requires EDITOR access

Args:
    context_id: Context UUID
    request: Update request
    user: Authenticated user
    service: Context service
    db: Database session

Returns:
    Updated context data

Raises:
    403: If insufficient permissions
    404: If context not found

## Path parameters

- `context_id` string, uuid, required

## Headers

- `authorization` string, nullable

## Request body

- ContextUpdate: Request model for updating a context.
  - `display_name` string, nullable: Updated display name
  - `description` string, nullable: Updated context description
  - `summary` string, nullable: Updated context summary
  - `usage_guide` string, nullable: Updated usage guidelines
  - `is_private` boolean, nullable: Privacy flag (Migration 034: Shared → Private removes non-owner members)
  - `is_public` boolean, nullable: Public flag (Issue #238: Public REST API access)
  - `resource_id` string, nullable: Resource ID for contexts (lowercase alphanumeric, underscore, and hyphen)
  - `is_locked` boolean, nullable: When true, prevents this context from being deleted until unlocked.
  - `sleep_mode` 'full' | 'edges_only' | 'skip', nullable: Sleep maintenance mode: full=all phases, edges_only=edge discovery+reindex, skip=none

## Response `200`

Successful Response

- ContextResponse: Response model for context data.
  - `id` unknown, required
  - `name` unknown, required
  - `display_name` unknown
  - `description` unknown
  - `summary` unknown
  - `usage_guide` unknown
  - `is_default` unknown, required
  - `is_private` unknown
  - `is_public` unknown
  - `resource_id` unknown
  - `writes_paused` unknown
  - `is_locked` unknown
  - `sleep_mode` unknown
  - `created_by` unknown
  - `created_by_name` unknown
  - `created_at` unknown, required
  - `updated_at` unknown
  - `use_rerank` unknown
  - `reranker_provider` unknown
  - `embedding_model` unknown
  - `embedding_dimensions` unknown
  - `member_count` unknown
  - `memory_count` unknown
  - `last_activity_at` unknown

## 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)
