---
title: "Update a list item"
method: PATCH
path: "/v1/list/{list_id}/item/{item_id}"
tags: ["list"]
---

# Update a list item

`PATCH /v1/list/{list_id}/item/{item_id}`

## Request

- Base URL: `http://localhost:3030`
- URL: `http://localhost:3030/v1/list/{list_id}/item/{item_id}`
- Auth: HTTP bearer

Updates an item's name, status, notes, tags or parcels.

Sending `parcel` replaces a site's parcels. Use it to add parcels to an assemblage or remove
them from one.

## Path parameters

- `list_id` string, required: The list's id, `lst_...`.
- `item_id` string, required: The item's id, `lsi_...`.

## Request body

- ItemPatch: A partial update. Omitted fields are unchanged; `null` clears a field.
  - `name` string, nullable: The item's name. `null` clears it.
  - `status` 'new' | 'reviewing' | 'pursuing' | 'passed', nullable: One of `new`, `reviewing`, `pursuing` or `passed`.
  - `notes` string, nullable: Notes. `null` clears them.
  - `tags` string[], nullable: The complete set of tags. Replaces the current set. `[]` or `null` clears them.
  - `parcel` string[], nullable: A site's complete set of parcels. Replaces the current set.
  - `filter` object, nullable: The complete filter. Replaces the current one. `null` clears it.

## Response `200`

The list item.

- SavedListItem
  - `object` 'list_item', required: The object's type. Always `list_item`.
  - `id` string, required: Unique identifier for the object.
  - `kind` 'site' | 'jurisdiction' | 'postal_code' | 'area', required: What the item is. One of `site` (one or more parcels), `jurisdiction` (a town or county), `postal_code` or `area` (a drawn polygon).
  - `name` string, nullable, required: The item's name. Null when none was given.
  - `status` 'new' | 'reviewing' | 'pursuing' | 'passed', required: Where the item stands. One of `new`, `reviewing`, `pursuing` or `passed`.
  - `notes` string, nullable, required: Notes on the item. Null when there are none.
  - `tags` string[], required: Tags on the item, in the order they were added.
  - `parcel` SiteParcel[], nullable, required: A site's parcels, as they were when saved. Null unless `kind` is `site`.
    - `id` string, required: The parcel's id.
    - `number` string, nullable: The parcel number, as published. Null when it had none.
    - `address` string, nullable: The parcel's primary site address. Null when it had none.
    - `acres` number, nullable: Lot size, in acres. Null when not known.
    - `href` string, required: The parcel's path in the API.
  - `address` string, nullable, required: A site's first parcel's address. Null unless `kind` is `site`.
  - `acres` number, nullable, required: A site's total lot size, in acres. Null unless `kind` is `site`.
  - `jurisdiction` ParcelJurisdictionRef, required: The jurisdiction that assesses the parcel.
    - `id` string, required: A jurisdiction id.
    - `name` string, required: The jurisdiction's common name.
    - `type` string, required: Kind of jurisdiction, in local terms, such as `county`, `parish`, `city` or `town`.
    - `fips` string, nullable: The Census GEOID. Null outside the US.
    - `href` string, required: The object's path in the API.
  - `postal_code` string, nullable, required: The ZIP code. Null unless `kind` is `postal_code`.
  - `geometry` Geometry, required: A GeoJSON geometry in WGS 84, longitude first.
    - `type` string, required: Geometry type. One of `Polygon` or `MultiPolygon`.
    - `coordinates` unknown[], required: Coordinates, as `[longitude, latitude]` positions nested by geometry type.
      - unknown
  - `filter` object, nullable, required: `GET /v1/parcel` parameters that narrow a town, ZIP code or area. Null when there are none.
  - `centroid` ParcelPoint, required: A point in WGS 84.
    - `lat` number, required: Latitude, in WGS 84.
    - `lon` number, required: Longitude, in WGS 84.
  - `added_by` string, nullable, required: The email address of the member who added the item. Null when that member has left.
  - `created_at` string, date-time, required: Time at which the object was created.
  - `updated_at` string, date-time, required: Time at which the object was last updated.
  - `href` string, required: The object's path in the API.

## Other responses

- `401`: `credential_missing`, `credential_invalid` or `credential_expired`. The request has no valid credential.
- `403`: `scope_missing`, `person_required`, `api_key_not_accepted` or `entitlement_missing`. The credential or plan does not allow this request. `detail` names the reason.
- `404`: `no_such_resource`. No object has that id.
- `422`: `parameter_invalid`, `id_malformed` or a cursor code. A parameter is missing or invalid. `errors` lists each one.
- `429`: `rate_limited`. Too many requests. Retry after the `Retry-After` interval. Nothing is charged.

---

[API](https://skmtc.dev/placestack/apis/placestack-api.md) · [All operations](https://skmtc.dev/placestack/apis/placestack-api/llms.txt) · [OpenAPI document](https://skmtc.dev/placestack/apis/placestack-api/revisions/0ccdf0882668?raw)
