User Tree Access Model

User trees have a model that controls who can access and modify tree data, and who can manage group and tree settings. The access model also controls which users and third-party applications can access the tree through the API.

User Tree Groups

Every user tree is associated with a group. The group contains information such as user membership, user roles, and a code of conduct. Management of user membership is only available on the FamilySearch website.

User Roles

User tree permissions vary based upon the role of the user. The following roles apply to the access of user trees.

Owner: The user who initially created the user tree.

Contributor: A user who has been invited to collaborate on the user tree.

Co-Owner: A contributor who has been promoted by the owner to assist with managing the tree and contributors.

FamilySearch User: Any other FamilySearch user who has not been invited as a contributor to a tree.

User Tree Access Rights

The owner and co-owners have permission to manage the group, to invite other contributors, and to manage tree settings. Only the owner can delete the tree. The owner, co-owners, and contributors have permission to view, create, update, and delete all persons, relationships, and other data in the public and private space of the tree. Other FamilySearch users can view any data in the tree's public space. For more information about public and private spaces, see the document [Family Tree System].

Table 1 – User Tree Access Rights by Role

OwnerCo-OwnerContributorFamilySearch Users
Manage GroupXX
Invite Other ContributorsXX
Manage TreeXX
Delete Group (and Tree)X
Create, Read, Update, and Delete all Persons, Relationships, etc.XXX
View Persons, Relationships, etc. in Public SpaceXXXX

User Tree Access via the FamilySearch API

When you create a user tree, you control which third-party applications can access it through the API. You set this access using three fields: ownerAccess, groupAccess, and allAccess.

How Access Fields Work

These three fields work together to control API access at different levels:

  • ownerAccess – Controls which apps the tree owner can use
  • groupAccess – Controls which apps group members (co-owners and contributors) can use
  • allAccess – Controls which apps any FamilySearch user can use (once the tree is public)

Each field follows a hierarchy. You cannot grant broader access to group members than to the owner, or broader access to all users than to group members.

Table 2 – API Access Fields

FieldApplies ToOptions
ownerAccessTree ownerCompanyApps: Owner can only use apps from the company that created the tree
AnyApps: Owner can use any third-party app
groupAccessCo-owners and contributorsNone: Group members cannot use any third-party apps
CompanyApps: Group members can only use apps from the company that created the tree
AnyApps: Group members can use any third-party app
allAccessAll FamilySearch users (when tree is public)None: Other users cannot access the tree via any third-party app
CompanyApps: Other users can only use apps from the company that created the tree
AnyApps: Other users can use any third-party app

Important Notes

Search and Match: Currently, for third-party apps to access persons in user trees via search and match functionality, all three fields must be set to AnyApps. This requirement applies even to the app that created the tree.

Configure Once: These fields should be configured carefully at creation time and not changed afterward. Once set, they are intended to remain unchanged for the lifetime of the tree.

Setting These Values

You configure these fields when creating a tree. See the Create User Tree example for how to set these attributes. The values are documented in the ThirdPartyAccess data type.