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

# Update an email address

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

## Request

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

Update an existing email address for a person

## Request body

- object
  - `email` string, email
  - `email_type` 'personal' | 'business' | 'school' | 'other' | 'inactive'
  - `is_primary` boolean

## Response `200`

email address updated

- object
  - `id` string
  - `person_id` string
  - `email` string
  - `email_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`: 5 info
  - added the new `inactive` enum value to the request property `email_type`
  - 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`
  - …1 more

[Operation history](https://skmtc.dev/slant/apis/slant-public-api-v1/changes/v1/people/:person_id/email_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)
