> This page is for version v4 (default).
> For other versions, use one of these documentation indexes:
> - v4 (default): https://docs-beta.getzep.com/v4/llms.txt
> - v3: https://docs-beta.getzep.com/v3/llms.txt
> - v2: https://docs-beta.getzep.com/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs-beta.getzep.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs-beta.getzep.com/_mcp/server.

# Rename Agent Task Family

POST https://api.getzep.com/api/v4/agents/{agent_uuid}/task-families/rename
Content-Type: application/json

Reference: https://docs-beta.getzep.com/sdk-reference/agent/task-family/rename

## Authentication

- `Authorization` header (required) (prefixed with ` Api-Key  `) — Type "Api-Key" followed by a space and the project API key.

## Request

### Path parameters

- `agent_uuid` (string, required) — Agent UUID

### Body (application/json)

This endpoint expects a v4.RenameAgentTaskFamilyRequest.

- `from_slug` (string, required) — The current slug of the live descriptor.
- `to_slug` (string, required) — The new slug, or the slug of the live descriptor to merge into.

## Response

### 200

OK

- `merged` (boolean, optional) — True when the source descriptor merged into an existing one.
- `task_family` (v4.AgentTaskFamilyDescriptor, optional) — The descriptor after the operation. On a merge it is the descriptor that kept the target slug.

## Errors

### 400 Bad Request Error

Bad Request

- `error` (v4.ErrorBody, optional)

### 401 Unauthorized Error

Unauthorized

- `error` (v4.ErrorBody, optional)

### 403 Forbidden Error

Forbidden

- `error` (v4.ErrorBody, optional)

### 404 Not Found Error

Not Found

- `error` (v4.ErrorBody, optional)

## Types

### v4.AgentTaskFamilyDescriptor

- `agent_uuid` (string, optional) — The owning Agent UUID.
- `created_at` (string, optional) — The time the descriptor was created.
- `description` (string, optional) — What the family covers.
- `descriptor_version` (integer, optional) — The descriptor version the classifier ran against.
- `distinguishing_tools` (list of string, optional) — The tools that distinguish this family from the others.
- `not_for` (string, optional) — The most similar goal that does not belong to the family.
- `slug` (string, optional) — The task-family slug members receive.
- `updated_at` (string, optional) — The time the descriptor was last updated.
- `use_when` (string, optional) — When a Trace belongs to the family.
- `uuid` (string, optional) — The stable descriptor UUID.

### v4.ErrorBody

- `code` (string, optional)
- `details` (map from string to any, optional)
- `message` (string, optional)
- `param` (string, optional)
- `request_id` (string, optional)

## Examples

**Request**

```json
{
  "from_slug": "string",
  "to_slug": "string"
}
```

**Response**

```json
{
  "merged": true,
  "task_family": {
    "agent_uuid": "string",
    "created_at": "string",
    "description": "string",
    "descriptor_version": 1,
    "distinguishing_tools": [
      "string"
    ],
    "not_for": "string",
    "slug": "string",
    "updated_at": "string",
    "use_when": "string",
    "uuid": "string"
  }
}
```