---
title: "Update a framework"
method: PUT
path: "/api/admin/frameworks/{id}"
tags: ["Frameworks"]
---

# Update a framework

`PUT /api/admin/frameworks/{id}`

## Request

- Base URL: `https://api.production.yourmedley.com`
- URL: `https://api.production.yourmedley.com/api/admin/frameworks/{id}`
- Auth: none declared

Updates a framework's name and/or description. Rejects a rename that collides with another framework's name (case-insensitive) with 409.

## Path parameters

- `id` string, uuid, required

## Request body

- FrameworkInput
  - `name` string, required: Canonical spelling of the framework or acronym (required)
  - `description` string, nullable: Optional context for the AI

## Response `200`

Framework updated successfully

- object
  - `success` boolean
  - `data` Framework
    - `id` string, uuid, required: Unique identifier
    - `name` string, required: Canonical spelling of the framework or acronym
    - `description` string, nullable: Optional context to help the AI recognize and spell it correctly
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `400`: Bad request - name is required
- `401`: Unauthorized
- `403`: Forbidden - internal admin role required
- `404`: Framework not found
- `409`: Conflict - a framework with this name already exists
- `422`: Validation failed
- `500`: Internal server error

---

[API](https://skmtc.dev/withmedley/apis/medley-api.md) - [All operations](https://skmtc.dev/withmedley/apis/medley-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withmedley/apis/medley-api/revisions/40aaac5ca6bd?raw)
