---
title: "Update a map"
method: PUT
path: "/maps/{map_id}"
tags: ["maps"]
---

# Update a map

`PUT /maps/{map_id}`

## Request

- Base URL: `https://api.cloud.wherobots.com`
- URL: `https://api.cloud.wherobots.com/maps/{map_id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Only the owner can update a map: 403 for anyone else who can read it.

## Path parameters

- `map_id` string, required

## Request body

- UpdateMap: Replaces the map. `version` is the one the client loaded; 409 when another update landed since.
  - `name` string, required
  - `description` string, nullable
  - `recipe` MapRecipe, required
    - `version` 1
    - `layers` Layer[]
      - `source` union, required
        - TableSource: A catalog table, as `table:<catalog>/<namespace>/<table>`, and the location the map reads.
          - `kind` 'table', required
          - `ref` string, required
          - `uri` string, required
        - FileSource: A file or directory, such as a Waldo query result on temporary storage.
          - `kind` 'file', required
          - `uri` string, required
        - RasterflowRunSource: An output of a RasterFlow run.
          - `kind` 'rasterflow_run', required
          - `execution_id` string, required
          - `uri` string, required
        - SampleSource: Public example data.
          - `kind` 'sample', required
          - `uri` string, required
  - `visibility` 'private' | 'org', required
  - `version` integer, required

## Response `200`

Successful Response

- SavedMapDetail
  - `id` string, required
  - `name` string, required
  - `description` string, nullable, required
  - `visibility` 'private' | 'org', required
  - `owner` MapOwner, required
    - `id` string, required
    - `email` string, nullable, required
  - `is_owner` boolean, required
  - `version` integer, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `recipe` MapRecipe, required
    - `version` 1
    - `layers` Layer[]
      - `source` union, required
        - TableSource: A catalog table, as `table:<catalog>/<namespace>/<table>`, and the location the map reads.
          - `kind` 'table', required
          - `ref` string, required
          - `uri` string, required
        - FileSource: A file or directory, such as a Waldo query result on temporary storage.
          - `kind` 'file', required
          - `uri` string, required
        - RasterflowRunSource: An output of a RasterFlow run.
          - `kind` 'rasterflow_run', required
          - `execution_id` string, required
          - `uri` string, required
        - SampleSource: Public example data.
          - `kind` 'sample', required
          - `uri` string, required

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `500`: Internal Server Error

## Changes

- **2026-10-31** `54fa857fb12d`: 7 warning
  - added the new `SCRIPT_OWNER_MISMATCH` enum value to the `errors/items/code` response property for the response status `400`
  - added the new `SCRIPT_OWNER_MISMATCH` enum value to the `errors/items/code` response property for the response status `401`
  - added the new `SCRIPT_OWNER_MISMATCH` enum value to the `errors/items/code` response property for the response status `403`
  - added the new `SCRIPT_OWNER_MISMATCH` enum value to the `errors/items/code` response property for the response status `404`
  - …3 more
- **2026-10-28** `893324217557`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wherobots/apis/wherobots-cloud-api/changes/maps/:map_id/put.md)

---

[API](https://skmtc.dev/wherobots/apis/wherobots-cloud-api.md) - [All operations](https://skmtc.dev/wherobots/apis/wherobots-cloud-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wherobots/apis/wherobots-cloud-api/revisions/54fa857fb12d?raw)
