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

# List edges

POST https://api.getzep.com/api/v4/graphs/{graph_uuid}/edges/list
Content-Type: application/json

Reference: https://docs-beta.getzep.com/sdk-reference/graph/edge/list

## Authentication

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

## Request

### Path parameters

- `graph_uuid` (string, required) — Graph UUID

### Query parameters

- `limit` (integer, optional) — Page size
- `cursor` (string, optional) — Opaque page cursor

### Body (application/json)

This endpoint expects a v4.ArtifactListRequest.

- `filters` (map from string to any, optional) — Filters constraining which items are returned.

## Response

### 200

OK

- `items` (list of v4.Edge, optional) — The edges on this page.
- `next_cursor` (string, optional) — Opaque cursor for retrieving the next page, present only when more results are available.
- `total_size` (integer, optional) — Omitted for this collection; use next_cursor to detect the end of pagination.

## 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)

### 409 Conflict Error

Conflict

- `error` (v4.ErrorBody, optional)

## Types

### v4.Edge

- `attributes` (map from string to any, optional) — Additional attributes of the edge.
- `created_at` (string, optional) — The time the edge was created.
- `episode_uuids` (list of string, optional) — The episodes this edge was derived from.
- `expired_at` (string, optional) — The time the fact was superseded or removed.
- `fact` (string, optional) — The natural-language fact this edge represents.
- `graph_uuid` (string, optional) — The unique identifier of the graph this edge belongs to.
- `hyperedge_uuid` (string, optional) — The unique identifier of the hyperedge this edge is a member of. Omitted when the edge is not part of a hyperedge.
- `invalid_at` (string, optional) — The time at which the fact stopped being true.
- `name` (string, optional) — The name of the edge, in upper snake case, for example RELATES_TO.
- `relevance` (double, optional) — A cross-encoder-derived relevance score, present only when the cross-encoder reranker scored this result; like score, it is omitted from plain list results.
- `scope` (string, optional) — The kind of edge this is, for example entity or episodic.
- `score` (double, optional) — The ranking score returned with every search result; omitted when the edge appears in a plain list rather than a search result.
- `source_node_labels` (list of string, optional) — The current labels of the source node. This is read at request time rather than stored on the edge, and is omitted when the source node cannot be resolved.
- `source_node_name` (string, optional) — The current name of the source node. This is read at request time rather than stored on the edge, and is omitted when the source node cannot be resolved.
- `source_node_uuid` (string, optional) — The unique identifier of the edge's source node.
- `target_node_labels` (list of string, optional) — The current labels of the target node. This is read at request time rather than stored on the edge, and is omitted when the target node cannot be resolved.
- `target_node_name` (string, optional) — The current name of the target node. This is read at request time rather than stored on the edge, and is omitted when the target node cannot be resolved.
- `target_node_uuid` (string, optional) — The unique identifier of the edge's target node.
- `uuid` (string, optional) — The unique identifier of the edge.
- `valid_at` (string, optional) — The time from which the fact is considered true.

### 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
{
  "items": [
    {
      "attributes": {},
      "created_at": "string",
      "episode_uuids": [
        "string"
      ],
      "expired_at": "string",
      "fact": "string",
      "graph_uuid": "string",
      "hyperedge_uuid": "string",
      "invalid_at": "string",
      "name": "string",
      "relevance": 1.1,
      "scope": "string",
      "score": 1.1,
      "source_node_labels": [
        "string"
      ],
      "source_node_name": "string",
      "source_node_uuid": "string",
      "target_node_labels": [
        "string"
      ],
      "target_node_name": "string",
      "target_node_uuid": "string",
      "uuid": "string",
      "valid_at": "string"
    }
  ],
  "next_cursor": "string",
  "total_size": 1
}
```