---
title: "Update an edge's handles"
method: POST
path: "/api/v1/topology/{id}/edge-handles"
tags: ["Topologies", "internal"]
---

# Update an edge's handles

`POST /api/v1/topology/{id}/edge-handles`

Lightweight endpoint for edge reconnect operations. Instead of sending the entire
topology, only sends the edge ID and new handle positions.
Fixes HTTP 413 errors on edge reconnect operations for large topologies.

## Path parameters

- `id` string, uuid, required

## Request body

- TopologyEdgeHandleUpdate — Lightweight request type for updating an edge's handles. Used for edge reconnect operations - instead of sending the entire topology, only sends the edge ID and new handle positions. Fixes HTTP 413 errors on edge reconnect operations.
  - `edge_id` string, uuid, required — ID of the edge to update
  - `network_id` string, uuid, required — Network ID for authorization
  - `source_handle` 'Top' | 'Bottom' | 'Left' | 'Right', required
  - `target_handle` 'Top' | 'Bottom' | 'Left' | 'Right', required

## Response `200`

Edge handles updated

- ApiResponse
  - `data` TupleUnit — unresolved $ref
  - `error` string, nullable
  - `meta` ApiMeta, required — API metadata included in all responses
    - `api_version` integer, required — API version (integer, increments on breaking changes)
    - `server_version` string, required — Server version (semver)
  - `success` boolean, required

## Other responses

- `403` — Access denied
- `404` — Topology or edge not found

## Changes

- **2026-04-20** `f04499e2280f` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/scanopy/apis/scanopy-api/changes/api/v1/topology/:id/edge-handles/post.md)

---

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