---
title: "Update a layer"
method: PUT
path: "/layers/{id}"
tags: ["Locations"]
---

# Update a layer

`PUT /layers/{id}`

Update all fields of an existing geographic layer. Useful for reorganizing location collections, updating descriptions, or modifying access permissions. 

**Updatable Fields:** 
- Title and description 
- Location array (add/remove locations) 
- Sharing level and access permissions 
- Layer type classification 

**Permission Requirements:** 
- Layer created by user's organization or affiliates 
- OR user has explicit access via available_to settings

## Request body

- Layer
  - `id` integer
  - `title` string, nullable — Descriptive title for the layer (e.g., 'Emergency Response Zones', 'Service Areas', 'County Boundaries')
  - `description` string, nullable — Detailed description of the layer's purpose, contents, and intended use
  - `locations` object — Array of location IDs included in this layer collection
  - `available_to` object — JSON object specifying which organizations or users have access to this layer
  - `type` integer, nullable — Optional location type for categorizing this layer (references location type)
  - `shared` 'shared' | 'public' | 'private' | 'hidden', nullable — Basic sharing level: 'public' (all users), 'shared' (organization + affiliates), 'private' (organization only)

## Response `200`

OK

- Layer
  - `id` integer
  - `title` string, nullable — Descriptive title for the layer (e.g., 'Emergency Response Zones', 'Service Areas', 'County Boundaries')
  - `description` string, nullable — Detailed description of the layer's purpose, contents, and intended use
  - `locations` object — Array of location IDs included in this layer collection
  - `available_to` object — JSON object specifying which organizations or users have access to this layer
  - `type` integer, nullable — Optional location type for categorizing this layer (references location type)
  - `shared` 'shared' | 'public' | 'private' | 'hidden', nullable — Basic sharing level: 'public' (all users), 'shared' (organization + affiliates), 'private' (organization only)

## Other responses

- `400` — Validation error - check location IDs and permissions
- `403` — Permission denied - cannot modify this layer
- `404` — Layer not found

---

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