---
title: "Update Tree"
method: POST
path: "/trees/{tid}"
tags: ["Trees"]
---

# Update Tree

`POST /trees/{tid}`

## Request

- Base URL: `https://apibeta.familysearch.org/platform`
- URL: `https://apibeta.familysearch.org/platform/trees/{tid}`
- Auth: HTTP bearer

This post allows only one tree to be updated at a time. You can modify the startingPersonId, hidden, private, name, description, ownerAccess  and groupAccess fields using this POST operation. Passing an empty string for an attribute will remove the value for that attribute. Hidden and  private should only be changed to false once your tree has all details such as starting person id, etc...

## Path parameters

- `tid` string, required

## Headers

- `Content-Type` 'application/x-fs-v1+json', required

## Request body

- UpdateTree
  - `trees` object[], required: Array containing the user tree to update. See <a href="https://developers.familysearch.org/main/docs/json-schema#tree" target="_blank">Tree Schema (JSON)</a>
    - `startingPersonId` string: The person ID to set as the starting person for the user tree. Can be a person from the main FamilySearch tree or from a user tree. To find an example person ID, see <a href="/reference/searchtreepersons" target="_blank">Search Tree Persons</a>.
    - `hidden` boolean: Whether the user tree is hidden. True is default until tree has all data needed.
    - `private` boolean: Whether the user tree is private. True is default until tree has all data needed.
    - `name` string: The name of the user tree
    - `description` string: A description of the user tree
    - `ownerAccess` 'http://familysearch.org/v1/AnyApps' | 'http://familysearch.org/v1/CompanyApp' | 'http://familysearch.org/v1/None': Third-party access level for the tree owner. Pass an empty string to remove the value.
    - `groupAccess` 'http://familysearch.org/v1/AnyApps' | 'http://familysearch.org/v1/CompanyApp' | 'http://familysearch.org/v1/None': Third-party access level for the tree group. Pass an empty string to remove the value.
    - `allAccess` 'http://familysearch.org/v1/AnyApps' | 'http://familysearch.org/v1/CompanyApp' | 'http://familysearch.org/v1/None': Third-party access level for all users. Pass an empty string to remove the value.

## Response `204`

The user tree has been successfully updated.

## Other responses

- `404`: The requested user tree does not exist.
- `410`: The requested user tree has been deleted.
- `429`: The request was throttled.

---

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