---
title: "Update a single node's position"
method: POST
path: "/api/v1/topology/{id}/node-position"
tags: ["Topologies", "internal"]
---

# Update a single node's position

`POST /api/v1/topology/{id}/node-position`

Lightweight endpoint for drag operations. Instead of sending the entire topology
(which can be several megabytes), only sends the node ID and new position.
Fixes HTTP 413 errors on drag operations for large topologies.

## Path parameters

- `id` string, uuid, required

## Request body

- TopologyNodePositionUpdate — Lightweight request type for updating a single node's position. Used for drag operations - instead of sending the entire topology (which can be several megabytes for large networks), only sends the node ID and new position. Fixes HTTP 413 errors on drag operations.
  - `network_id` string, uuid, required — Network ID for authorization
  - `node_id` string, uuid, required — ID of the node to update
  - `position` Ixy, required
    - `x` integer, required
    - `y` integer, required

## Response `200`

Node position 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 node 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/node-position/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/f04499e2280f/schema)
