> 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.

# Set project instructions

PUT https://api.getzep.com/api/v4/project/instructions
Content-Type: application/json

Reference: https://docs-beta.getzep.com/sdk-reference/project/set-instructions

## Authentication

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

## Request

### Body (application/json)

This endpoint expects a v4.Instructions.

- `inherited` (boolean, optional) — Whether this is the project's default value rather than an override set on this graph.
- `instructions` (list of models.CustomInstruction, optional) — The custom extraction instructions in effect at this scope, each with a name and text.

## Response

### 200

OK

- `inherited` (boolean, optional) — Whether this is the project's default value rather than an override set on this graph.
- `instructions` (list of models.CustomInstruction, optional) — The custom extraction instructions in effect at this scope, each with a name and text.

## Errors

### 400 Bad Request Error

Bad Request

- `error` (v4.ErrorBody, optional)

### 401 Unauthorized Error

Unauthorized

- `error` (v4.ErrorBody, optional)

### 404 Not Found Error

Not Found

- `error` (v4.ErrorBody, optional)

## Types

### models.CustomInstruction

- `name` (string, required) — logical key for identifying the instruction
- `text` (string, required) — the actual instruction text

### 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
{}
```

**Response**

```json
{
  "inherited": true,
  "instructions": [
    {
      "name": "string",
      "text": "string"
    }
  ]
}
```