---
title: "List edges in a POT, optionally filtered by type"
method: GET
path: "/pots/{pot_id}/edges"
tags: ["edges", "edges"]
---

# List edges in a POT, optionally filtered by type

`GET /pots/{pot_id}/edges`

List all edges in a POT, optionally filtered by edge type.

- **pot_id**: UUID of the POT
- **type**: Optional edge type filter (e.g., contradicts, supports)

Examples:
    GET /pots/{id}/edges — all edges
    GET /pots/{id}/edges?type=contradicts — only contradictions

## Path parameters

- `pot_id` string, uuid, required

## Query parameters

- `type` 'supports' | 'contradicts' | 'resolved_contradiction' | 'refines' | 'derives_from' | 'is_part_of' | 'extends' | 'cites' | 'related_to' — Types of semantic relationships between facts. M7 uses a simplified subset. Full taxonomy in edge-types.md will be implemented in M8+ when GraphRAG is introduced.

## Response `200`

Edges retrieved successfully

- EdgeListResponse — Response for list edges endpoint.
  - `edges` Edge[], required
    - `id` string, required — Unique edge identifier
    - `pot_id` string, uuid, required — POT this edge belongs to
    - `workspace_id` string, uuid, required — Workspace this edge belongs to
    - `from_id` string, uuid, required — Source fact ID (A in A → B)
    - `to_id` string, uuid, required — Target fact ID (B in A → B)
    - `type` 'supports' | 'contradicts' | 'resolved_contradiction' | 'refines' | 'derives_from' | 'is_part_of' | 'extends' | 'cites' | 'related_to', required — Types of semantic relationships between facts. M7 uses a simplified subset. Full taxonomy in edge-types.md will be implemented in M8+ when GraphRAG is introduced.
    - `weight` number, required — Confidence in relationship (0.0-1.0)
    - `rationale` string — Brief explanation of why this relationship exists
    - `detected_by` string — Detector/model that identified this edge
    - `confidence` number — Detection confidence (0.0-1.0)
    - `validation_status` string — Validation status (auto-approved, pending, validated, rejected)
    - `resolution_type` string, nullable — Resolution type (confirmed_a, confirmed_b, both_valid, needs_update, dismissed)
    - `resolved_by_name` string, nullable — Name of the person who resolved the contradiction
    - `resolved_by_role` string, nullable — Role of the person who resolved the contradiction
    - `resolved_by_contributor_id` string, uuid, nullable — Contributor registry ID of the person who resolved the contradiction
    - `resolved_at` string, date-time, nullable — When the contradiction was resolved
    - `resolution_notes` string, nullable — Notes about the resolution
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
  - `total` integer, required
  - `pot_id` string, uuid, required

## Other responses

- `404` — POT not found
- `422` — Validation Error

---

[API](https://skmtc.dev/scipot/apis/scipot-core-api.md) · [All operations](https://skmtc.dev/scipot/apis/scipot-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/scipot/scipot-core-api/revisions/e8712e9ffeae/schema)
