> 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 observation steering

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

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

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

- `inherited` (boolean, optional) — Whether this is the project's default value rather than an override set on this graph.
- `instruction` (string, optional) — The natural-language instruction steering how observations are generated at this scope.
- `types` (list of models.ObservationType, optional) — The named observation types, each with a description, that generation should steer toward at this scope.

## Response

### 200

OK

- `inherited` (boolean, optional) — Whether this is the project's default value rather than an override set on this graph.
- `instruction` (string, optional) — The natural-language instruction steering how observations are generated at this scope.
- `types` (list of models.ObservationType, optional) — The named observation types, each with a description, that generation should steer toward at this scope.

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

- `description` (string, optional)
- `name` (string, optional)

### 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,
  "instruction": "string",
  "types": [
    {
      "description": "string",
      "name": "string"
    }
  ]
}
```