---
title: "Move rows to a different surface"
method: POST
path: "/api/workspaces/{slug}/rows/move"
tags: ["Rows"]
---

# Move rows to a different surface

`POST /api/workspaces/{slug}/rows/move`

## Request

- Base URL: `https://trydock.ai`
- URL: `https://trydock.ai/api/workspaces/{slug}/rows/move`
- Auth: HTTP bearer

Atomic batch move. All rows move to the target surface (specified by `surfaceId` or `surface` slug). Positions are recomputed at the destination tail.

## Path parameters

- `slug` string, required

## Request body

- object
  - `rowIds` string[], required
  - `surfaceId` string
  - `surface` string
  - `surface_slug` string

## Response `200`

Moved.

- object
  - `moved` integer, required

## Changes

- **2026-11-05** `767beae124a8`: 1 info
  - added the new optional request property `surface_slug`

[Operation history](https://skmtc.dev/trydock/apis/dock-rest-api/changes/api/workspaces/:slug/rows/move/post.md)

---

[API](https://skmtc.dev/trydock/apis/dock-rest-api.md) - [All operations](https://skmtc.dev/trydock/apis/dock-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trydock/apis/dock-rest-api/revisions/dd96ae96a412?raw)
