---
title: "Update an address"
method: PATCH
path: "/v1/people/{person_id}/addresses/{id}"
tags: ["People"]
---

# Update an address

`PATCH /v1/people/{person_id}/addresses/{id}`

## Request

- Base URL: `https://api.slant.app`
- URL: `https://api.slant.app/v1/people/{person_id}/addresses/{id}`
- Auth: HTTP bearer

Update an existing address for a person

## Request body

- object
  - `line1` string
  - `line2` string
  - `city` string
  - `state` string
  - `zip` string
  - `country_code` string
  - `address_type` 'home' | 'work' | 'mailing' | 'other'
  - `is_primary` boolean

## Response `200`

address updated

- object
  - `id` string
  - `person_id` string
  - `line1` string
  - `line2` string
  - `city` string
  - `state` string
  - `zip` string
  - `country_code` string, nullable
  - `address_type` string
  - `is_primary` boolean

## Other responses

- `400`: Bad Request - malformed JSON, invalid filters, or missing required book context
- `401`: unauthorized - missing or invalid token
- `403`: Access denied. Policy and membership failures may have an empty body. A read-only personal token cannot perform writes.
- `429`: An hourly API rate limit was exceeded. Wait Retry-After seconds before retrying.

## Changes

- **2026-11-03** `173c41bf6be9`: 4 info
  - added the media type `application/json` for the response with the status `403`
  - added the non-success response with the status `429`
  - removed the `invalid_json` enum value from the `error` response property for the response status `400`
  - response property `detail` list-of-types was narrowed by removing types `array` from media type `application/json` of response `400`

[Operation history](https://skmtc.dev/slant/apis/slant-public-api-v1/changes/v1/people/:person_id/addresses/:id/patch.md)

---

[API](https://skmtc.dev/slant/apis/slant-public-api-v1.md) - [All operations](https://skmtc.dev/slant/apis/slant-public-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/slant/apis/slant-public-api-v1/revisions/173c41bf6be9?raw)
