2016 - September Newsletter
New Change Process
We have changed to a new release process that batches incompatible changes into release dates that happen once per quarter. These changes will be rolled out in March, June, September, and December. In addition to this new schedule, we will also be sending out notifications at specific intervals that coincide with these quarterly release dates.
For more information, please see the API Evolution Guide
September Changes
New APIs
API Resources | Prototype | Beta | Release |
---|---|---|---|
Genealogies | September 2016 | October 2016 | December 2016 |
Pending Modification Changes
No pending modifications will go live in September.
Certification Changes
There are no certification changes due in September.
Upcoming December Changes
The following changes will be released on December 6, 2016.
Pending Modifications Changes
For information regarding pending modifications, please see the API Evolution Guide.
Pending Modification | Description |
---|---|
include-non-subject-persons-and-relationships | When reading a person and/or relationship(s), additional persons and relationships are available to be included at minimal cost, but are currently being dropped to preserve compatibility. This pending modification will include the extra "non-subject" persons and relationships. For more information see details below |
consolidate-redundant-resources |
Resources that have been made redundant will be consolidated by returning a 303 (redirect) to the appropriate resources. These resources include: Person With Relationships, Spouse Relationships, Child Relationships, Parent Relationships, Source References, Discussion References, and Memory References. For more information see details below |
current-person-401 | Changes the response code for an attempt to read the current person from 404 to 401. For more information see details below |
new-name-form-langs | Enables support for new, more specific languages on name forms. For details, see the Names guide in the developer documentation. For more information see details below |
New APIs
The Genealogies API and Ordinances API will be moved to the "Release" phase, which means that future changes will conform to changes according to the API Evolution Guide.
Certification Changes
No required certification changes will be due in December.
Pending Modification Details
include-non-subject-persons-and-relationships
Relationships are now returned on this resource, including relationships that may be non-subject relationships.
Currently, when a person call is made, only the person object of the ID in the call will be returned. When enabling the include-non-subject-persons-and-relationships experiment, the relationships to those that are a child, spouse, or parent of the person will also be included. In addition, if you include a URL Param ?relatives=true with the call, those non “subject” person objects will also be included.
/platform/tree/persons/:id
Before Example
This is how the call currently works with no additional experiments or url params.
{ "persons":[ {"id": "KWCK-85X", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X/spouses"…} ], "relationships":[], "sourceDescriptions":[ {"id": "SD-KWCK-85X", "links":{"description":{"href": "https://familysearch.org/platform/sources/descriptions/SD-KWCK-85X"…} ], "description": "#SD-KWCK-85X" }
After Example
After enabling the include-non-subject-persons-and-relationships experiment, you are now able to see the additional relationships of the subject person.
{ "persons":[{"id": "KWCK-85X", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X/spouses"…], "relationships":[ {"id": "MHTH-PWX", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/couple-relationships/MHTH-PWX"…}, {"id": "FMMLL-YRP", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NLV"…}, {"id": "MMMLL-YRP", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NL2"…}, {"id": "FMMHK-581", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MMMHK-581", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FMM2Q-3CG", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MMM2Q-3CG", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FMMPM-DK2", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MMMPM-DK2", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FM9K8-976", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MM9K8-976", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FM79Z-MW1", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MM79Z-MW1", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FM718-DZW", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MM718-DZW", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FMWBH-69K", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MMWBH-69K", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FM4Q5-62Y", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MM4Q5-62Y", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FMHQ6-KM4", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MMHQ6-KM4", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…}, {"id": "FMZYW-D63", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X"…}, {"id": "MMZYW-D63", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F"…} ], "sourceDescriptions":[{"id": "SD-KWCK-85X", "links":{"description":{"href": "https://familysearch.org/platform/sources/descriptions/SD-KWCK-85X"…], "childAndParentsRelationships":[ {"id": "MMLL-YRP", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MMLL-YRP"…}, {"id": "MMHK-581", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MMHK-581"…}, {"id": "MM2Q-3CG", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MM2Q-3CG"…}, {"id": "MMPM-DK2", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MMPM-DK2"…}, {"id": "M9K8-976", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/M9K8-976"…}, {"id": "M79Z-MW1", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/M79Z-MW1"…}, {"id": "M718-DZW", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/M718-DZW"…}, {"id": "MWBH-69K", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MWBH-69K"…}, {"id": "M4Q5-62Y", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/M4Q5-62Y"…}, {"id": "MHQ6-KM4", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MHQ6-KM4"…}, {"id": "MZYW-D63", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MZYW-D63"…} ], "description": "#SD-KWCK-85X" }
/platform/tree/persons/:id?relatives=true
Same as /persons/:id but now includes `person` objects for all persons mentioned in the relationships.
Before Example
This call without the experiment includes all of the non subject related persons, but does not include the relationship information.
{ "persons":[ {"id": "KWCK-85X", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X/spouses"…}, {"id": "KWZB-8V8", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWZB-8V8/spouses"…}, {"id": "KWCV-7S6", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCV-7S6/spouses"…}, {"id": "KWJP-7HD", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWJP-7HD/spouses"…}, {"id": "KWZW-J6X", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWZW-J6X/spouses"…}, {"id": "KWCK-85F", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F/spouses"…}, {"id": "KWCC-NL2", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NL2/spouses"…}, {"id": "KWCX-MZV", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCX-MZV/spouses"…}, {"id": "KWJP-7H8", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWJP-7H8/spouses"…}, {"id": "KWZ8-57V", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWZ8-57V/spouses"…}, {"id": "KWCV-H9Y", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCV-H9Y/spouses"…}, {"id": "KWCK-LPS", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-LPS/spouses"…}, {"id": "KW8Z-M2L", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KW8Z-M2L/spouses"…}, {"id": "KWCC-NLV", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NLV/spouses"…} ], "relationships":[ ], "sourceDescriptions":[{"id": "SD-KWCK-85X", "links":{"description":{"href": "https://familysearch.org/platform/sources/descriptions/SD-KWCK-85X"…], "description": "#SD-KWCK-85X" }
After Example
Once the experiment is applied in conjunction with the url param, you are now able to see the related individuals, as well as the various relationships.
{ "persons":[ {"id": "KWCK-85X", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X/spouses"…}, {"id": "KWZB-8V8", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWZB-8V8/spouses"…}, {"id": "KWCV-7S6", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCV-7S6/spouses"…}, {"id": "KWJP-7HD", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWJP-7HD/spouses"…}, {"id": "KWZW-J6X", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWZW-J6X/spouses"…}, {"id": "KWCK-85F", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F/spouses"…}, {"id": "KWCC-NL2", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NL2/spouses"…}, {"id": "KWCX-MZV", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCX-MZV/spouses"…}, {"id": "KWJP-7H8", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWJP-7H8/spouses"…}, {"id": "KWZ8-57V", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWZ8-57V/spouses"…}, {"id": "KWCV-H9Y", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCV-H9Y/spouses"…}, {"id": "KWCK-LPS", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCK-LPS/spouses"…}, {"id": "KW8Z-M2L", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KW8Z-M2L/spouses"…}, {"id": "KWCC-NLV", "links":{"spouses":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NLV/spouses"…} ], "relationships":[ {"id": "MHTH-PWX", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/couple-relationships/MHTH-PWX"…}, {"id": "FMMLL-YRP", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NLV?relatives=true"…}, {"id": "MMMLL-YRP", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCC-NL2?relatives=true"…}, {"id": "FMZYW-D63", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MMZYW-D63", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FMMPM-DK2", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MMMPM-DK2", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FM9K8-976", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MM9K8-976", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FM718-DZW", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MM718-DZW", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FMM2Q-3CG", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MMM2Q-3CG", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FM79Z-MW1", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MM79Z-MW1", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FM4Q5-62Y", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MM4Q5-62Y", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FMMHK-581", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MMMHK-581", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FMHQ6-KM4", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MMHQ6-KM4", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…}, {"id": "FMWBH-69K", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85X?relatives=true"…}, {"id": "MMWBH-69K", "links":{"person1":{"href": "https://familysearch.org/platform/tree/persons/KWCK-85F?relatives=true"…} ], "sourceDescriptions":[{"id": "SD-KWCK-85X", "links":{"description":{"href": "https://familysearch.org/platform/sources/descriptions/SD-KWCK-85X"…], "childAndParentsRelationships":[{"id": "MMLL-YRP", "links":{"relationship":{"href": "https://familysearch.org/platform/tree/child-and-parents-relationships/MMLL-YRP"…], "description": "#SD-KWCK-85X" }
consolidate-redundant-resources
Due to relationship information being returned on the person call, we have now deprecated various relationship calls. This experiment should be used in conjunction with the include-non-subject-persons-and-relationships experiment.
Persons with Relationships Redirect
/platform/tree/persons-with-relationships?person=:id
Returns 303 redirect to /platform/tree/persons/:id
/platform/tree/persons-with-relationships?person=:id&persons=true
Returns 303 redirect to /platform/tree/persons/KW69-89X?relatives=true
Spouse Relationships Resource (not Spouses Resource)
/platform/tree/persons/:id/spouse-relationships
Returns 303 redirect to /platform/tree/persons/:id
Child Relationships (not Children Resource)
/tree/persons/:id/child-relationships
Returns 303 redirect to /platform/tree/persons/:id
Parent Relationships (not Parents Resource)
/tree/persons/:id/parent-relationships
Returns 303 redirect to /platform/tree/persons/:id
Source References (not Sources Query)
/platform/tree/persons/:id/source-references
Returns 303 redirect to /platform/tree/persons/:id
Discussion References
/platform/tree/persons/:id/discussion-references
Returns 303 redirect to /platform/tree/persons/:id
Memory References (not Person Memories Resource)
/platform/tree/persons/:id/memory-references
Returns 303 redirect to /platform/tree/persons/:id
Additionally, If your application was following links to these link rel's, the rel's will not be there:
- child-relationships
- parent-relationships
- person-with-relationships
- spouse-relationships
new-name-form-langs
Enables support for new, more specific languages on name forms. For details, see the Names guide in the developer documentation.
current-person-401
When reading the current person, if you are unauthenticated, or your session is expired, you currently get a 404 not found response. This change will return a 401 not authorized response.