---
title: "Update Person"
method: POST
path: "/tree/persons/{pid}"
tags: ["Persons"]
---

# Update Person

`POST /tree/persons/{pid}`

## Request

- Base URL: `https://apibeta.familysearch.org/platform`
- URL: `https://apibeta.familysearch.org/platform/tree/persons/{pid}`
- Auth: HTTP bearer

Update a single Person by the person ID including the names, gender, and facts of the person.

Conclusions in the body with a conclusion ID are assumed to be updates; otherwise, they are creates.

The response will contain the person payload passed in with conclusion IDs added for new conclusions.

## Path parameters

- `pid` string, required

## Headers

- `Content-Type` 'application/x-fs-v1+json' | 'application/x-gedcomx-v1+json' | 'application/x-fs-v1+xml' | 'application/x-gedcomx-v1+xml', required
- `Accept` 'application/x-fs-v1+json' | 'application/x-gedcomx-v1+json' | 'application/x-fs-v1+xml' | 'application/x-gedcomx-v1+xml', required
- `X-Reason` string

## Request body

- UpdatePerson: Gedcomx object containing the person with conclusions to update. Conclusions with an ID are updates; conclusions without an ID are creates.
  - `persons` object[], required: Array containing the person to update. See <a href="https://developers.familysearch.org/main/docs/json-schema#person" target="_blank">Person Schema (JSON)</a>
    - `gender` object: The gender of the person
      - `type` string: The type URI for the gender
    - `names` object[]: Array of names for the person. Include the ID to update an existing name, or omit the ID to add a new name.
      - `id` string: The ID of the name conclusion (required for updates, omit for creates)
      - `type` string, required: The type of name
      - `preferred` boolean, required: Indicates if this is the preferred name. A person must have exactly one preferred name.
      - `nameForms` object[], required: Array of name forms representing the name in different languages or scripts
        - `fullText` string: The full text of the name
        - `parts` object[]: Array of name parts (given name, surname, etc.)
          - `type` string: The type of name part
          - `value` string: The value of the name part
      - `attribution` object: Attribution information for the name
        - `changeMessage` string: The reason for the change
    - `facts` object[]: Array of facts about the person (birth, death, residence, etc.). Include the ID to update an existing fact, or omit the ID to add a new fact.
      - `id` string: The ID of the fact conclusion (required for updates, omit for creates)
      - `type` string, required: The type of fact
      - `date` object: The date of the fact
        - `original` string: The original date string as entered
        - `formal` string: The formal standardized date
      - `place` object: The place of the fact
        - `original` string: The original place string as entered
        - `normalized` string: The normalized standardized place
      - `attribution` object: Attribution information for the fact
        - `changeMessage` string: The reason for the change

## Response `200`

The read was successful. Expect conclusion ids to be returned in the response body.

## Other responses

- `404`: If the requested person is not found.
- `410`: If the requested person has been deleted or merged.
- `429`: The request was throttled.

---

[API](https://skmtc.dev/familysearch/apis/family-tree-endpoints.md) - [All operations](https://skmtc.dev/familysearch/apis/family-tree-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/familysearch/apis/family-tree-endpoints/revisions/e248abd029e6?raw)
