This document specifies FamilySearch extensions to GEDCOM X, and requests discussion and suggestions for improvements.
The current state of this document is as a DRAFT, and as such, the document may be subject to changes, including backwards-incompatible changes, according to the discussion and suggestions for improvement.
Copyright 2011-2016 Intellectual Reserve, Inc.
This document is distributed under a Creative Commons Attribution-ShareAlike license. For details, see:
http://creativecommons.org/licenses/by-sa/3.0/
This project contains the specifications that extend GEDCOM X to support the proprietary application requirements for FamilySearch.
A set of data types are defined as extensions to the core GEDCOM X specification set, the GEDCOM X Record Extension, and the GEDCOM X Atom Extensions.
- 1. Introduction
- 2. Data Type Extensions
- 2.1 The "ArtifactMetadata" Data Type
- 2.2 The "ChangeInfo" Data Type
- 2.3 The "ChildAndParentsRelationship" Data Type
- 2.4 The "Comment" Data Type
- 2.5 The "Discussion" Data Type
- 2.6 The "DiscussionReference" Data Type
- 2.7 The "MatchInfo" Data Type
- 2.9 The "MergeAnalysis" Data Type
- 2.10 The "MergeConflict" Data Type
- 2.11 The "NameFormInfo" Data Type
- 2.12 The "SearchInfo" Data Type
- 2.13 The "Reservation" Data Type
- 2.14 The "Ordinance" Data Type
- 2.15 The "Tag" Data Type
- 2.16 The "User" Data Type
- 2.17 The "Error" Data Type
- 2.18 The "Feature" Data Type
- 2.19 The "FeedbackInfo" Data Type
- 2.20 The "FamilySearchPlatform" XML Data Type
- 2.21 The "FamilySearchPlatform" JSON Data Type
The identifier for this specification is:
http://familysearch.org/v1/
This specification references the GEDCOM X Conceptual Model specification identified
by http://gedcomx.org/conceptual-model/v1.
This specification references the GEDCOM X XML specification identified
by http://gedcomx.org/xml/v1.
This specification references the GEDCOM X JSON specification identified
by http://gedcomx.org/json/v1.
This specification references the GEDCOM X Atom Extensions specification identified
by http://gedcomx.org/atom-extensions/v1.
This specification references the GEDCOM X Record Extensions specification identified
by http://gedcomx.org/records/v1.
This specification references the GEDCOM X RS specification identified
by http://gedcomx.org/rs/v1.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC2119, as scoped to those conformance targets.
An implementation of FamilySearch Extensions is "non-compliant" if it fails to satisfy one or more of the MUST or REQUIRED level requirements. An implementation that satisfies all of the MUST or REQUIRED and all of the SHOULD level requirements is said to be "unconditionally compliant"; and implementation that satisfies all of the MUST level requirements but not all of the SHOULD level requirements is said to be "conditionally compliant".
This specification uses the same namespace prefix conventions that are used by the GEDCOM X XML specification.
In addition to those prefixes, the following namespace prefixes are used:
| prefix | namespace |
|---|---|
| fs | http://familysearch.org/v1/ |
This specification leverages the concepts and definitions as specified by its dependencies.
This section defines a set of extensions to the GEDCOM X Conceptual Model, the GEDCOM X Record Extension, and the GEDCOM X Atom Extensions and provides the representations of those data types in both XML and JSON as extensions to GEDCOM X JSON and GEDCOM X XML.
The ArtifactMetadata data type defines a representation of metadata about an artifact
such as a memory.
Instances of ArtifactMetadata can be reasonably expected as extension elements to the SourceDescription Data Type.
The identifier for the ArtifactMetadata data type is:
http://familysearch.org/v1/ArtifactMetadata
| name | description | data type | constraints |
|---|---|---|---|
| filename | Name of the file of the artifact, if the artifact were provided as a file on a filesystem. | string | OPTIONAL. |
| qualifiers | Qualifiers to add additional details about the artifact. | List of http://gedcomx.org/v1/Qualifier | OPTIONAL. If present, use of a known artifact qualifier is RECOMMENDED. |
| width | Width of the artifact, if applicable. | integer | OPTIONAL. |
| height | Height of the artifact, if applicable. | integer | OPTIONAL. |
| size | Size of the artifact in number of bytes. | long | OPTIONAL. |
| screeningState | Screening state of the artifact, if applicable. | URI |
OPTIONAL. If present, use of a known screening state is RECOMMENDED. |
| editable | Whether the artifact is editable by the current user. | boolean | OPTIONAL. |
The fs:ArtifactMetadata XML type is used to (de)serialize the http://familysearch.org/v1/ArtifactMetadata data type.
The fs:artifactMetadata XML element is used to provide instances of the fs:ArtifactMetadata XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| filename | Name of the file of the artifact, if the artifact were provided as a file on a filesystem. | fs:filename | xsd:string. |
| qualifiers | Qualifiers to add additional details about the artifact. | fs:qualifier | gx:Qualifier |
| width | Width of the artifact, if applicable. | fs:width | xsd:integer |
| height | Height of the artifact, if applicable. | fs:height | xsd:integer |
| size | Size of the artifact in number of bytes. | fs:size | xsd:long |
| screeningState | Screening state of the artifact, if applicable. | screeningState (attribute) | anyURI |
| editable | Whether the artifact is editable by the current user. | fs:editable | xsd:boolean |
The ArtifactMetadata JSON type is used to (de)serialize the http://familysearch.org/v1/ArtifactMetadata data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| filename | Name of the file of the artifact, if the artifact were provided as a file on a filesystem. | filename | string. |
| qualifiers | Qualifiers to add additional details about the artifact. | qualifiers | array of Qualifier |
| width | Width of the artifact, if applicable. | width | number |
| height | Height of the artifact, if applicable. | height | number |
| size | Size of the artifact in number of bytes. | size | number |
| screeningState | Screening state of the artifact, if applicable. | screeningState | string |
| editable | Whether the artifact is editable by the current user. | editable | boolean |
The following artifact qualifiers are defined by FamilySearch Extensions:
| name | value |
|---|---|
http://familysearch.org/v1/Document |
The artifact is a document. |
http://familysearch.org/v1/Photo |
The artifact is a photo. |
http://familysearch.org/v1/Story |
The artifact is a story. |
The following screening states are defined by FamilySearch Extensions:
| name | value |
|---|---|
http://familysearch.org/v1/Pending |
The artifact is pending a screening. |
http://familysearch.org/v1/Accepted |
The artifact has been screened and is accepted. |
http://familysearch.org/v1/Restricted |
The artifact has been screened and is restricted. |
The ChangeInfo data type defines a representation of information about data changes.
Instances of ChangeInfo can be reasonably expected as extension elements to the Entry Data Type.
The identifier for the ChangeInfo data type is:
http://familysearch.org/v1/ChangeInfo
| name | description | data type | constraints |
|---|---|---|---|
| operation | The operation performed for the change. | URI |
OPTIONAL. If present, use of a known change operation is RECOMMENDED. |
| objectType | The type of object to which the change was applicable. | URI |
OPTIONAL. |
| objectModifier | An additional modifier applicable to the type of object to which the change was applicable. | URI |
OPTIONAL. |
| reason | A statement about the reason for the change, as supplied by the current user. | string | OPTIONAL. |
| parent | A reference to the change that triggered the change. | URI |
OPTIONAL. If present, MUST resolve to an instance of Entry. |
| resulting | A reference to the object that was a result of the change. | URI |
OPTIONAL. If present, MUST resolve to an instance of Conclusion. |
| original | A reference to the object that was the original subject of the change. | URI |
OPTIONAL. If present, MUST resolve to an instance of Conclusion. |
| removed | A reference to the object that was removed by the change. | URI |
OPTIONAL. If present, MUST resolve to an instance of Conclusion. |
The fs:ChangeInfo XML type is used to (de)serialize the http://familysearch.org/v1/ChangeInfo data type.
The fs:changeInfo XML element is used to provide instances of the fs:ChangeInfo XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| operation | The operation performed for the change. | operation (attribute) | anyURI |
| objectType | The type of object to which the change was applicable. | objectType (attribute) | anyURI |
| objectModifier | An additional modifier applicable to the type of object to which the change was applicable. | objectModifier (attribute) | anyURI |
| reason | A statement about the reason for the change, as supplied by the current user. | reason (attribute) | xsd:string |
| parent | A reference to the change that triggered the change. | fs:parent | gx:ResourceReference |
| resulting | A reference to the object that was a result of the change. | fs:resulting | gx:ResourceReference |
| original | A reference to the object that was the original subject of the change. | fs:original | gx:ResourceReference |
| removed | A reference to the object that was removed by the change. | fs:removed | gx:ResourceReference |
The ChangeInfo JSON type is used to (de)serialize the http://familysearch.org/v1/ChangeInfo data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| operation | The operation performed for the change. | operation | string |
| objectType | The type of object to which the change was applicable. | objectType | string |
| objectModifier | An additional modifier applicable to the type of object to which the change was applicable. | objectModifier | string |
| reason | A statement about the reason for the change, as supplied by the current user. | reason | string |
| parent | A reference to the change that triggered the change. | parent | ResourceReference |
| resulting | A reference to the object that was a result of the change. | resulting | ResourceReference |
| original | A reference to the object that was the original subject of the change. | original | ResourceReference |
| removed | A reference to the object that was removed by the change. | removed | ResourceReference |
The following artifact qualifiers are defined by FamilySearch Extensions:
| name | value |
|---|---|
http://familysearch.org/v1/Create |
A "create" operation. |
http://familysearch.org/v1/Read |
A "Read" operation. |
http://familysearch.org/v1/Update |
A "update" operation. |
http://familysearch.org/v1/Delete |
A "delete" operation. |
http://familysearch.org/v1/Merge |
A "merge" operation. |
http://familysearch.org/v1/Unmerge |
A "unmerge" operation. |
http://familysearch.org/v1/Restore |
A "restore" operation. |
The ChildAndParentsRelationship data type defines a representation of the relationship between a child and two parents.
The identifier for the ChildAndParentsRelationship data type is:
http://familysearch.org/v1//ChildAndParentsRelationship
| name | description | data type | constraints |
|---|---|---|---|
| father | A reference to the father. | URI |
OPTIONAL. If present, MUST resolve to an instance of Person. |
| mother | A reference to the father. | URI |
OPTIONAL. If present, MUST resolve to an instance of Person. |
| child | A reference to the father. | URI |
OPTIONAL. If present, MUST resolve to an instance of Person. |
| fatherFacts | The facts about the relationship between the child and the father. | List of http://gedcomx.org/v1/Fact. Order is preserved. |
OPTIONAL. |
| motherFacts | The facts about the relationship between the child and the mother. | List of http://gedcomx.org/v1/Fact. Order is preserved. |
OPTIONAL. |
The fs:ChildAndParentsRelationship XML type is used to (de)serialize the http://familysearch.org/v1/ChangeInfo data type.
The fs:childAndParentsRelationship XML element is used to provide instances of the fs:ChildAndParentsRelationship XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| father | A reference to the father. | fs:father | gx:ResourceReference |
| mother | A reference to the mother. | fs:mother | gx:ResourceReference |
| child | A reference to the child. | fs:child | gx:ResourceReference |
| fatherFacts | The facts about the relationship between the child and the father. | fs:fatherFact | gx:Fact |
| motherFacts | The facts about the relationship between the child and the mother. | fs:motherFact | gx:Fact |
The ChildAndParentsRelationship JSON type is used to (de)serialize the http://familysearch.org/v1/ChildAndParentsRelationship data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| father | A reference to the father. | father | ResourceReference |
| mother | A reference to the mother. | mother | ResourceReference |
| child | A reference to the child. | child | ResourceReference |
| fatherFacts | The facts about the relationship between the child and the father. | fatherFacts | array of Fact |
| motherFacts | The facts about the relationship between the child and the mother. | motherFacts | array of Fact |
The Comment data type defines a comment submitted by a user.
The identifier for the Comment data type is:
http://familysearch.org/v1/Comment
| name | description | data type | constraints |
|---|---|---|---|
| text | The text of the comment. | string | REQUIRED. |
| contributor | A reference to the contributor of the comment. | URI |
OPTIONAL. If present, MUST resolve to an instance of Agent. |
| created | Timestamp of when the comment was created. | timestamp | OPTIONAL. |
The fs:Comment XML type is used to (de)serialize the http://familysearch.org/v1/Comment data type.
The fs:comment XML element is used to provide instances of the fs:Comment XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| text | The text of the comment. | fs:comment | xsd:string |
| contributor | A reference to the contributor. | fs:contributor | gx:ResourceReference |
| created | Timestamp of when the comment was created. | fs:created | xsd:dateTime |
The Comment JSON type is used to (de)serialize the http://familysearch.org/v1/Comment data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| text | The text of the comment. | comment | string |
| contributor | A reference to the contributor. | contributor | ResourceReference |
| created | Timestamp of when the comment was created. | created | number (milliseconds since epoch) |
The Discussion data type defines a comment submitted by a user.
The identifier for the Discussion data type is:
http://familysearch.org/v1/Discussion
| name | description | data type | constraints |
|---|---|---|---|
| title | The title of the discussion. | string | REQUIRED. |
| details | Any details about the discussion. | string | OPTIONAL. |
| contributor | A reference to the contributor of the comment. | URI |
OPTIONAL. If present, MUST resolve to an instance of Agent. |
| created | Timestamp of when the discussion was created. | timestamp | OPTIONAL. |
| modified | Timestamp of when the discussion was last modified. | timestamp | OPTIONAL. |
| numberOfComments | The number of comments associated with the discussion. | integer | OPTIONAL. |
| comments | The comments of the discussion | List of http://familysearch.org/v1/Comment |
OPTIONAL. |
The fs:Discussion XML type is used to (de)serialize the http://familysearch.org/v1/Discussion data type.
The fs:discussion XML element is used to provide instances of the fs:Discussion XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| title | The title of the discussion. | fs:title | xsd:string |
| details | The details of the discussion. | fs:details | xsd:string |
| contributor | A reference to the contributor. | fs:contributor | gx:ResourceReference |
| created | Timestamp of when the discussion was created. | fs:created | xsd:dateTime |
| modified | Timestamp of when the discussion was modified. | fs:modified | xsd:dateTime |
| numberOfComments | The number of comments associated with the discussion. | fs:numberOfComments | xsd:integer |
| comments | The comments of the discussion | fs:comment | http://familysearch.org/v1/Comment |
The Discussion JSON type is used to (de)serialize the http://familysearch.org/v1/Discussion data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| title | The title of the discussion. | title | string |
| details | The details of the discussion. | details | string |
| contributor | A reference to the contributor. | contributor | ResourceReference |
| created | Timestamp of when the discussion was created. | created | number (milliseconds since epoch) |
| modified | Timestamp of when the discussion was modified. | modified | number (milliseconds since epoch) |
| numberOfComments | The number of comments associated with the discussion. | numberOfComments | number |
| comments | The comments of the discussion | fs:comment | array of http://familysearch.org/v1/Comment |
The DiscussionReference data type defines a reference to a discussion.
Instances of DiscussionReference can be reasonably expected as extension elements to the Person Data Type.
The identifier for the DiscussionReference data type is:
http://familysearch.org/v1/DiscussionReference
| name | description | data type | constraints |
|---|---|---|---|
| resource | Reference to the discussion. | URI |
REQUIRED. MUST resolve to an instance of http://familysearch.org/v1/Discussion. |
| attribution | The attribution of the discussion reference. | Attribution |
OPTIONAL. |
| resourceId | Id of the discussion being referenced | string | OPTIONAL. |
The fs:DiscussionReference XML type is used to (de)serialize the http://familysearch.org/v1/DiscussionReference data type.
The fs:discussionReference XML element is used to provide instances of the fs:DiscussionReference XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| resource | Reference to the discussion. | resource (attribute) | anyURI |
| attribution | The attribution of the discussion reference. | fs:attribution | gx:Attribution |
| resourceId | Id of the discussion being referenced | resourceId (attribute) | xsd:string |
The DiscussionReference JSON type is used to (de)serialize the http://familysearch.org/v1/DiscussionReference data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| resource | Reference to the discussion. | resource | string |
| attribution | The attribution of the discussion reference. | attribution | Attribution |
| resourceId | Id of the discussion being referenced | resourceId | string |
The MatchInfo data type defines a representation of information about a match.
Instances of MatchInfo can be reasonably expected as extension elements to the Entry Data Type.
The identifier for the MatchInfo data type is:
http://familysearch.org/v1/MatchInfo
| name | description | data type | constraints |
|---|---|---|---|
| collection | The collection in which the match was found. | URI |
OPTIONAL. |
| status | The staus of the match. | URI |
OPTIONAL. If present, use of a known match status is RECOMMENDED. |
The fs:MatchInfo XML type is used to (de)serialize the http://familysearch.org/v1/MatchInfo data type.
The fs:matchInfo XML element is used to provide instances of the fs:MatchInfo XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| collection | The collection in which the match was found. | collection (attribute) | anyURI |
| status | The staus of the match. | status (attribute) | anyURI |
The MatchInfo JSON type is used to (de)serialize the http://familysearch.org/v1/MatchInfo data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| collection | The collection in which the match was found. | collection | string |
| status | The staus of the match. | status | string |
The following match statuses are defined by FamilySearch Extensions:
| name | value |
|---|---|
http://familysearch.org/v1/Pending |
The match hasn't been accepted or rejected by a user. |
http://familysearch.org/v1/Accepted |
The match was accepted by a user. |
http://familysearch.org/v1/Rejected |
The match was rejected by a user. |
The Merge data type defines a representation of a merge operation.
The identifier for the Merge data type is:
http://familysearch.org/v1//Merge
| name | description | data type | constraints |
|---|---|---|---|
| resourcesToDelete | The resources to delete on a merge. | List of URI |
OPTIONAL. If present, MUST resolve to an instance of Conclusion. |
| resourcesToCopy | The resources to copy on a merge. | List of URI |
OPTIONAL. If present, MUST resolve to an instance of Conclusion. |
The fs:Merge XML type is used to (de)serialize the http://familysearch.org/v1/Merge data type.
The fs:merge XML element is used to provide instances of the fs:Merge XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| resourcesToDelete | The resources to delete on a merge. | resourceToDelete | gx:ResourceReference |
| resourcesToCopy | The resources to copy on a merge. | resourceToCopy | gx:ResourceReference |
The Merge JSON type is used to (de)serialize the http://familysearch.org/v1/Merge data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| resourcesToDelete | The resources to delete on a merge. | resourcesToDelete | array of ResourceReference |
| resourcesToCopy | The resources to copy on a merge. | resourcesToCopy | array of ResourceReference |
The MergeAnalysis data type defines a representation of a merge analysis.
The identifier for the MergeAnalysis data type is:
http://familysearch.org/v1//MergeAnalysis
| name | description | data type | constraints |
|---|---|---|---|
| survivor | Reference to the survivor of the merge. | URI |
REQUIRED. MUST resolve to an instance of Subject. |
| duplicate | Reference to the duplicate of the merge. | URI |
REQUIRED. MUST resolve to an instance of Subject. |
| survivorResources | The resources on the survivor that should be preserved during a merge operation. | List of URI |
OPTIONAL. If present, MUST resolve to an instance of Conclusion. |
| duplicateResources | The resources on the duplicate that should be preserved during a merge operation. | List of URI |
OPTIONAL. If present, MUST resolve to an instance of Conclusion. |
| conflictingResources | The resources that conflict. | List of MergeConflict |
OPTIONAL. |
The fs:MergeAnalysis XML type is used to (de)serialize the http://familysearch.org/v1/MergeAnalysis data type.
The fs:mergeAnalysis XML element is used to provide instances of the fs:MergeAnalysis XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| survivor | Reference to the survivor of the merge. | fs:survivor | gx:ResourceReference |
| duplicate | Reference to the duplicate of the merge. | fs:duplicate | gx:ResourceReference |
| survivorResources | The resources on the survivor that should be preserved during a merge operation. | fs:survivorResource | gx:ResourceReference |
| duplicateResources | The resources on the duplicate that should be preserved during a merge operation. | fs:duplicateResource | gx:ResourceReference |
| conflictingResources | The resources that conflict. | fs:conflictingResource | MergeConflict |
The MergeAnalysis JSON type is used to (de)serialize the http://familysearch.org/v1/MergeAnalysis data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| survivor | Reference to the survivor of the merge. | survivor | ResourceReference |
| duplicate | Reference to the duplicate of the merge. | duplicate | ResourceReference |
| survivorResources | The resources on the survivor that should be preserved during a merge operation. | survivorResources | array of ResourceReference |
| duplicateResources | The resources on the duplicate that should be preserved during a merge operation. | duplicateResources | array of ResourceReference |
| conflictingResources | The resources that conflict. | conflictingResources | array of MergeConflict |
The MergeConflict data type defines a representation of a merge conflict.
The identifier for the MergeConflict data type is:
http://familysearch.org/v1//MergeConflict
| name | description | data type | constraints |
|---|---|---|---|
| survivorResource | Reference to the resource on the survivor that conflicts. | URI |
REQUIRED. MUST resolve to an instance of Conclusion. |
| duplicateResource | Reference to the resource on the duplicate that conflicts. | URI |
REQUIRED. MUST resolve to an instance of Conclusion. |
The fs:MergeConflict XML type is used to (de)serialize the http://familysearch.org/v1/MergeConflict data type.
The fs:mergeConflict XML element is used to provide instances of the fs:MergeConflict XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| survivorResource | Reference to the resource on the survivor that conflicts. | fs:survivorResource | gx:ResourceReference |
| duplicateResource | Reference to the resource on the duplicate that conflicts. | fs:duplicateResource | gx:ResourceReference |
The MergeConflict JSON type is used to (de)serialize the http://familysearch.org/v1/MergeConflict data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| survivorResource | Reference to the resource on the survivor that conflicts. | survivorResource | ResourceReference |
| duplicateResource | Reference to the resource on the duplicate that conflicts. | duplicateResource | ResourceReference |
The NameFormInfo data type defines extra information about a name form.
The identifier for the NameFormInfo data type is:
http://familysearch.org/v1//NameFormInfo
Instances of NameFormInfo can be reasonably expected as extension elements to the NameForm Data Type.
| name | description | data type | constraints |
|---|---|---|---|
| order | The order of the name form. | URI |
REQUIRED. Use of a known name order is RECOMMENDED. |
The fs:NameFormInfo XML type is used to (de)serialize the http://familysearch.org/v1/NameFormInfo data type.
The fs:NameFormInfo XML element is used to provide instances of the fs:NameFormInfo XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| order | The order of the name form. | order (attribute) | anyURI |
The NameFormInfo JSON type is used to (de)serialize the http://familysearch.org/v1/NameFormInfo data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| order | The order of the name form. | order | string |
The following name orders are defined by FamilySearch Extensions:
| name | value |
|---|---|
http://familysearch.org/v1/Eurotypic |
Eurotypic name order. |
http://familysearch.org/v1/Sinotypic |
Sinotypic name order. |
The SearchInfo data type defines a representation of information about a search.
Instances of SearchInfo can be reasonably expected as extension elements to the Entry Data Type.
The identifier for the SearchInfo data type is:
http://familysearch.org/v1/SearchInfo
| name | description | data type | constraints |
|---|---|---|---|
| totalHits | The total number of hits in the search results. | integer | OPTIONAL. |
| closeHits | The total number of "close" hits in the search results. | integer | OPTIONAL. |
The fs:SearchInfo XML type is used to (de)serialize the http://familysearch.org/v1/SearchInfo data type.
The fs:searchInfo XML element is used to provide instances of the fs:SearchInfo XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| totalHits | The total number of hits in the search results. | fs:totalHits | xsd:integer |
| closeHits | The total number of "close" hits in the search results. | fs:closeHits | xsd:integer |
The SearchInfo JSON type is used to (de)serialize the http://familysearch.org/v1/SearchInfo data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| totalHits | The total number of hits in the search results. | totalHits | number |
| closeHits | The total number of "close" hits in the search results. | closeHits | number |
The Reservation data type defines a representation of an ordinance reservation
Instances of Reservation can be reasonably expected as extension elements to the Person Data Type.
The Reservation data type extends the Conclusion Data Type.
The identifier for the Reservation data type is:
http://familysearch.org/v1/Reservation
| name | description | data type | constraints |
|---|---|---|---|
| type | The type of the ordinance reservation. | URI |
REQUIRED. Use of a known ordinance type is RECOMMENDED. |
| status | The status of the ordinance reservation. | URI |
OPTIONAL. |
| spouse | A reference to the spouse. | URI |
OPTIONAL. If present, MUST resolve to an instance of Person. |
| father | A reference to the father. | URI |
OPTIONAL. If present, MUST resolve to an instance of Person. |
| mother | A reference to the father. | URI |
OPTIONAL. If present, MUST resolve to an instance of Person. |
| assignee | A reference to the father. | URI |
OPTIONAL. If present, MUST resolve to an instance of Person. |
The fs:Reservation XML type is used to (de)serialize the http://familysearch.org/v1/Reservation data type.
The fs:reservation XML element is used to provide instances of the fs:Reservation XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| type | The type of the ordinance reservation. | type (attribute) | anyURI |
| status | The status of the ordinance reservation. | status (attribute) | anyURI |
| spouse | A reference to the spouse. | fs:spouse | gx:ResourceReference |
| father | A reference to the father. | fs:father | gx:ResourceReference |
| mother | A reference to the mother. | fs:mother | gx:ResourceReference |
| assignee | A reference to the assignee. | fs:assignee | gx:ResourceReference |
The Reservation JSON type is used to (de)serialize the http://familysearch.org/v1/Reservation data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| type | The type of the ordinance reservation. | type | string |
| status | The status of the ordinance reservation. | status | string |
| spouse | A reference to the spouse. | spouse | ResourceReference |
| father | A reference to the father. | father | ResourceReference |
| mother | A reference to the mother. | mother | ResourceReference |
| assignee | A reference to the assignee. | assignee | ResourceReference |
The following ordinance types are defined by FamilySearch Extensions:
| name | value |
|---|---|
http://lds.org/Baptism |
Baptism |
http://lds.org/Confirmation |
Confirmation |
http://lds.org/Initiatory |
Initiatory |
http://lds.org/Endowment |
Endowment |
http://lds.org/SealingToSpouse |
Sealing to Spouse |
http://lds.org/SealingChildToParents |
Sealing to Parents |
The Ordinance data type defines a representation of an ordinance.
Instances of Ordinance can be reasonably expected as extension elements to the Person Data Type.
The Ordinance data type extends the Reservation Data Type.
The identifier for the Ordinance data type is:
http://familysearch.org/v1/Ordinance
| name | description | data type | constraints |
|---|---|---|---|
| living | Indicator of a living ordinance. | boolean | OPTIONAL. |
| date | The date of the ordinance. | http://gedcomx.org/v1/Date |
OPTIONAL |
| templeCode | Id of the temple in which the ordinance was performed. | string | OPTIONAL. |
The fs:Ordinance XML type is used to (de)serialize the http://familysearch.org/v1/Ordinance data type.
The fs:ordinance XML element is used to provide instances of the fs:Ordinance XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| living | Indicator of a living ordinance. | living (attribute) | xsd:boolean |
| date | The date of the ordinance. | fs:date | gx:Date |
| templeCode | Id of the temple in which the ordinance was performed. | fs:templeCode | xsd:string |
The Ordinance JSON type is used to (de)serialize the http://familysearch.org/v1/Ordinance data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| living | Indicator of a living ordinance. | living | boolean |
| date | The date of the ordinance. | date | Date |
| templeCode | Id of the temple in which the ordinance was performed. | templeCode | string |
The Tag data type defines a source reference tag.
Instances of Tag can be reasonably expected as extension elements to the SourceReference Data Type.
The identifier for the Tag data type is:
http://familysearch.org/v1/Tag
| name | description | data type | constraints |
|---|---|---|---|
| resource | Reference to the tag. | URI |
REQUIRED. |
The fs:Tag XML type is used to (de)serialize the http://familysearch.org/v1/Tag data type.
The fs:tag XML element is used to provide instances of the fs:Tag XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| resource | Reference to the tag. | resource (attribute) | anyURI |
The Tag JSON type is used to (de)serialize the http://familysearch.org/v1/Tag data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| resource | Reference to the tag. | resource | string |
The User data type defines a FamilySearch user.
The identifier for the User data type is:
http://familysearch.org/v1/User
| name | description | data type | constraints |
|---|---|---|---|
| contactName | Contact name of the user. | string | OPTIONAL. |
| helperAccessPin | Helper access pin of the user. | string | OPTIONAL. |
| fullName | Full name of the user. | string | OPTIONAL. |
| givenName | Given name of the user. | string | OPTIONAL. |
| familyName | Given name of the user. | string | OPTIONAL. |
| Email of the user. | string | OPTIONAL. | |
| alternateEmail | Alternate email of the user. | string | OPTIONAL. |
| country | Country of the user. | string | OPTIONAL. |
| gender | Gender of the user. | string | OPTIONAL. |
| birthDate | Birth date of the user. | string | OPTIONAL. |
| phoneNumber | Phone number of the user. | string | OPTIONAL. |
| mobilePhoneNumber | Mobile phone number of the user. | string | OPTIONAL. |
| mailingAddress | Mailing address of the user. | string | OPTIONAL. |
| preferredLanguage | Preferred language of the user. | string | OPTIONAL. |
| displayName | Display name of the user. | string | OPTIONAL. |
| personId | Tree person id of the user. | string | OPTIONAL. |
| treeUserId | Tree user id of the user. | string | OPTIONAL. |
The fs:User XML type is used to (de)serialize the http://familysearch.org/v1/User data type.
The fs:user XML element is used to provide instances of the fs:User XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| contactName | Contact name of the user. | fs:contactName | xsd:string |
| helperAccessPin | Helper access pin of the user. | fs:helperAccessPin | xsd:string |
| fullName | Full name of the user. | fs:fullName | xsd:string |
| givenName | Given name of the user. | fs:givenName | xsd:string |
| familyName | Given name of the user. | fs:familyName | xsd:string |
| Email of the user. | fs:email | xsd:string | |
| alternateEmail | Alternate email of the user. | fs:alternateEmail | xsd:string |
| country | Country of the user. | fs:country | xsd:string |
| gender | Gender of the user. | fs:gender | xsd:string |
| birthDate | Birth date of the user. | fs:birthDate | xsd:string |
| phoneNumber | Phone number of the user. | fs:phoneNumber | xsd:string |
| mobilePhoneNumber | Mobile phone number of the user. | fs:mobilePhoneNumber | xsd:string |
| mailingAddress | Mailing address of the user. | fs:mailingAddress | xsd:string |
| preferredLanguage | Preferred language of the user. | fs:preferredLanguage | xsd:string |
| displayName | Display name of the user. | fs:displayName | xsd:string |
| personId | Tree person id of the user. | fs:personId | xsd:string |
| treeUserId | Tree user id of the user. | fs:treeUserId | xsd:string |
The User JSON type is used to (de)serialize the http://familysearch.org/v1/User data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| contactName | Contact name of the user. | contactName | string |
| helperAccessPin | Helper access pin of the user. | helperAccessPin | string |
| fullName | Full name of the user. | fullName | string |
| givenName | Given name of the user. | givenName | string |
| familyName | Given name of the user. | familyName | string |
| Email of the user. | string | ||
| alternateEmail | Alternate email of the user. | alternateEmail | string |
| country | Country of the user. | country | string |
| gender | Gender of the user. | gender | string |
| birthDate | Birth date of the user. | birthDate | string |
| phoneNumber | Phone number of the user. | phoneNumber | string |
| mobilePhoneNumber | Mobile phone number of the user. | mobilePhoneNumber | string |
| mailingAddress | Mailing address of the user. | mailingAddress | string |
| preferredLanguage | Preferred language of the user. | preferredLanguage | string |
| displayName | Display name of the user. | displayName | string |
| personId | Tree person id of the user. | personId | string |
| treeUserId | Tree user id of the user. | treeUserId | string |
The Error data type defines an error that occurred.
Instances of Error can be reasonably expected as extension elements to the FamilySearchPlatform XML Data Type and the FamilySearchPlatform JSON Data Type.
The identifier for the Error data type is:
http://familysearch.org/v1/Error
| name | description | data type | constraints |
|---|---|---|---|
| code | The error code. | integer | OPTIONAL. |
| label | The error label. | string | OPTIONAL. |
| message | The error message. | string | OPTIONAL. |
| stacktrace | The error stack trace. | string | OPTIONAL. |
The fs:Error XML type is used to (de)serialize the http://familysearch.org/v1/Error data type.
The fs:error XML element is used to provide instances of the fs:Error XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| code | The error code. | fs:code | xsd:integer |
| label | The error label. | fs:label | xsd:string |
| message | The error message. | fs:message | xsd:string |
| stacktrace | The error stack trace. | fs:stacktrace | xsd:string |
The Error JSON type is used to (de)serialize the http://familysearch.org/v1/Error data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| code | The error code. | code | number |
| label | The error label. | label | string |
| message | The error message. | message | string |
| stacktrace | The error stack trace. | stacktrace | string |
The Feature data type defines an feature of the FamilySearch API.
The identifier for the Feature data type is:
http://familysearch.org/v1/Feature
| name | description | data type | constraints |
|---|---|---|---|
| name | The feature name. | string | OPTIONAL. |
| description | The feature description. | string | OPTIONAL. |
| enabled | Whether the feature is enabled. | boolean | OPTIONAL. |
| activationDate | The feature activation date. | timestamp | OPTIONAL. |
The fs:Feature XML type is used to (de)serialize the http://familysearch.org/v1/Feature data type.
The fs:feature XML element is used to provide instances of the fs:Feature XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| name | The feature name. | fs:name | xsd:string |
| description | The feature description. | fs:description | xsd:string |
| enabled | Whether the feature is enabled. | fs:enabled | xsd:boolean |
| activationDate | The feature activation date. | fs:activationDate | xsd:dateTime |
The Feature JSON type is used to (de)serialize the http://familysearch.org/v1/Feature data type.
| name | description | JSON member | JSON object type |
|---|---|---|---|
| name | The feature name. | name | string |
| description | The feature description. | description | string |
| enabled | Whether the feature is enabled. | enabled | boolean |
| activationDate | The feature activation date. | activationDate | number (milliseconds since epoch) |
The FeedbackInfo data type defines a representation of feedback that can be submitted to
the FamilySearch places database.
Instances of FeedbackInfo can be reasonably expected as extension elements to the PlaceDescription Data Type.
The identifier for the FeedbackInfo data type is:
http://familysearch.org/v1/FeedbackInfo
| name | description | data type | constraints |
|---|---|---|---|
| resolution | Resolution of the feedback. | URI |
OPTIONAL. |
| status | Status of the feedback. | URI |
OPTIONAL. |
| place | Reference to the place that was created as a result of this feedback, if applicable. | URI |
OPTIONAL. If provided, MUST resolve to an instance of PlaceDescription. |
| details | Any notes or details provided as part of the feedback. | string | OPTIONAL. |
The fs:FeedbackInfo XML type is used to (de)serialize the http://familysearch.org/v1/FeedbackInfo data type.
The fs:feedbackInfo XML element is used to provide instances of the fs:FeedbackInfo XML type as extension elements.
| name | description | XML property | XML type |
|---|---|---|---|
| resolution | Resolution of the feedback. | resolution (attribute) | anyURI |
| status | Status of the feedback. | status (attribute) | anyURI |
| place | Reference to the place that was created as a result of this feedback, if applicable. | fs:place | gx:ResourceReference |
| details | Any notes or details provided as part of the feedback. | fs:details | xsd:string |
The ArtifactMetadata JSON type is used to (de)serialize the http://familysearch.org/v1/ArtifactMetadata data type.
The gx:FamilySearchPlatform XML type is used as a container for a set of FamilySearch data.
The gx:FamilySearchPlatform XML type extends the gx:Gedcomx data type.
| name | description | XML property | XML type | constraints |
|---|---|---|---|---|
| mergeAnalyses | The list of merge analysies contained in the data set. | fs:mergeAnalysis | fs:MergeAnalysis | OPTIONAL. |
| merges | The list of merges contained in the data set. | fs:merge | fs:Merge | OPTIONAL. |
| childAndParentsRelationships | The list of child-and-parents relationships contained in the data set. | fs:childAndParentsRelationship | fs:ChildAndParentsRelationship | OPTIONAL. |
| discussions | The list of discussions contained in the data set. | fs:discussion | fs:Discussion | OPTIONAL. |
| users | The list of users contained in the data set. | fs:user | fs:User | OPTIONAL. |
| features | The list of features contained in the data set. | fs:feature | fs:Feature | OPTIONAL. |
The FamilySearchPlatform JSON type is used as a container for a set of FamilySearch data.
The FamilySearchPlatform JSON type extends the Gedcomx data type.
| name | description | JSON property | JSON type | constraints |
|---|---|---|---|---|
| mergeAnalyses | The list of merge analysies contained in the data set. | mergeAnalyses | array of MergeAnalysis | OPTIONAL. |
| merges | The list of merges contained in the data set. | merges | array of Merge | OPTIONAL. |
| childAndParentsRelationships | The list of child-and-parents relationships contained in the data set. | childAndParentsRelationships | array of ChildAndParentsRelationship | OPTIONAL. |
| discussions | The list of discussions contained in the data set. | discussions | array of Discussion | OPTIONAL. |
| users | The list of users contained in the data set. | users | array of User | OPTIONAL. |
| features | The list of features contained in the data set. | features | array of Feature | OPTIONAL. |