---
title: "Updates a map in-place."
method: PATCH
path: "/maps/{map_id}"
tags: ["Maps"]
---

# Updates a map in-place.

`PATCH /maps/{map_id}`

This endpoint is used for simple metadata changes. Gameplay changes should be communicated
through a separate version, i.e. `PUT /maps`.

## Path parameters

- `map_id` integer, required

## Request body

- MapUpdate
  - `workshop_id` integer, nullable — A new workshop ID. This field is used for updating 3 things: - the map's workshop ID - the map's name - the map's vpk checksum
  - `description` string, nullable — A new description.
  - `state` 'invalid' | 'in-testing' | 'approved'
  - `added_mappers` SteamId[] — SteamIDs to add to the map's mapper list.
  - `deleted_mappers` SteamId[] — SteamIDs to remove from the map's mapper list.
  - `course_updates` CourseUpdate[] — Updates to individual courses.
    - `idx` integer, required — The index of the course to update. Courses are 1-indexed and always returned in-order by the API.
    - `name` string, nullable — A new name.
    - `description` string, nullable — A new description.
    - `added_mappers` SteamId[] — SteamIDs to add to the course's mapper list.
    - `deleted_mappers` SteamId[] — SteamIDs to remove from the course's mapper list.
    - `filter_updates` FilterUpdates
      - `vanilla` FilterUpdate
        - `nub_tier` 'very-easy' | 'easy' | 'medium' | 'advanced' | 'hard' | 'very-hard' | 'extreme' | 'death' | 'unfeasible' | 'impossible'
        - `pro_tier` 'very-easy' | 'easy' | 'medium' | 'advanced' | 'hard' | 'very-hard' | 'extreme' | 'death' | 'unfeasible' | 'impossible'
        - `state` 'unranked' | 'pending' | 'ranked'
        - `notes` string, nullable — New notes. If you specify this, the old notes will be **replaced**!
      - `classic` FilterUpdate
        - `nub_tier` 'very-easy' | 'easy' | 'medium' | 'advanced' | 'hard' | 'very-hard' | 'extreme' | 'death' | 'unfeasible' | 'impossible'
        - `pro_tier` 'very-easy' | 'easy' | 'medium' | 'advanced' | 'hard' | 'very-hard' | 'extreme' | 'death' | 'unfeasible' | 'impossible'
        - `state` 'unranked' | 'pending' | 'ranked'
        - `notes` string, nullable — New notes. If you specify this, the old notes will be **replaced**!

## Response `204`

## Other responses

- `400` — invalid path parameters
- `401`
- `409`
- `422` — invalid request body

---

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