> 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 Entity Types

PUT https://api.getzep.com/api/v2/entity-types
Content-Type: application/json

Sets the entity types for a project, replacing any existing ones.

Reference: https://docs-beta.getzep.com/v2/sdk-reference/graph/set-entity-types

## Request

### Body (application/json)

This endpoint expects an apidata.EntityTypeRequest.

- `edge_types` (list of apidata.EdgeType, optional)
- `entity_types` (list of apidata.EntityType, optional)

## Response

### 200

Entity types set successfully

- `message` (string, optional)

## Errors

### 400 Bad Request Error

Bad Request

- `message` (string, optional)

### 500 Internal Server Error

Internal Server Error

- `message` (string, optional)

## Types

### apidata.EdgeType

- `description` (string, required)
- `name` (string, required)
- `properties` (list of apidata.EntityProperty, optional)
- `source_targets` (list of apidata.EntityEdgeSourceTarget, optional)

### apidata.EntityType

- `description` (string, required)
- `name` (string, required)
- `properties` (list of apidata.EntityProperty, optional)

### apidata.EntityProperty

- `description` (string, required)
- `name` (string, required)
- `type` (enum, required)
  - Allowed values: `Text`, `Int`, `Float`, `Boolean`

### apidata.EntityEdgeSourceTarget

- `source` (string, optional) — Source represents the originating node identifier in the edge type relationship. (optional)
- `target` (string, optional) — Target represents the target node identifier in the edge type relationship. (optional)

## Examples

**Request**

```json
{}
```

**Response**

```json
{
  "message": "Entity types have been successfully updated for project ID 12345."
}
```