# moveSpaceItems

Move up to 200 items into a folder or a root (`destination.folderId` omitted), all or nothing. Needs edit access on both sides; a move that would change who can see an item (out of a restricted folder, or between My files and Team) also needs MANAGER on it unless it was already open to the whole team: and an AI agent can never make that kind of move: ask the person to do it in Library. Folders move with everything in them.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "moveSpaceItems", "variables": {...} }`
- Scope: `WRITE`
- Type: mutation
- Idempotency: honors `Idempotency-Key` (24 h)
- Rate-limited: no

## Variables

- `input`: `MoveSpaceItemsInput!` (required)
  - `itemIds`: `[ID!]!` (required)
  - `destination`: `SpaceDestinationInput!` (required)
    - `spaceId`: `ID!` (required)
    - `folderId`: `ID`. Null for the space root.

## Response (data, an example)

```json
{
  "spacesMutation": {
    "move": [
      {
        "id": "<ID>",
        "spaceId": "<ID>",
        "spaceName": "…",
        "parentId": "<ID>",
        "kind": "FOLDER",
        "name": "…",
        "description": "…",
        "fileType": "…",
        "sizeBytes": 0,
        "accessMode": "INHERIT",
        "systemLocked": true,
        "viewerRole": "VIEWER",
        "abilities": {
          "addChildren": true,
          "edit": true,
          "move": true,
          "trash": true,
          "share": true
        },
        "owner": {
          "id": "<ID>",
          "name": "…"
        },
        "createdBy": {
          "kind": "PERSON",
          "label": "…"
        },
        "childCount": 0,
        "shareCount": 0,
        "currentVersion": {
          "id": "<ID>",
          "versionNumber": 0
        },
        "path": [
          {
            "id": "<ID>",
            "name": "…"
          }
        ],
        "updatedAt": "2026-01-01T00:00:00.000Z",
        "trashedAt": "2026-01-01T00:00:00.000Z"
      }
    ]
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "operationId": "moveSpaceItems",
    "variables": {
      "input": {
        "itemIds": [
          "<itemIds>"
        ],
        "destination": {
          "spaceId": "<spaceId>"
        }
      }
    }
  }'
```
