{"id":"266c29fe-0f72-4df5-819e-cd9246d89598","task":"authenticate via oauth2 and read a person record from the familysearch family tree api","domain":"familysearch.org","steps":["Register a developer app at developers.familysearch.org to get a client_id; new keys are auto-enabled for the Integration (sandbox) environment only","For web/desktop/mobile apps, call the Authorization resource to redirect the user to the FamilySearch login page with your redirect_uri, receiving an authorization_code back","POST /cis-web/oauth2/v3/token with grant_type=authorization_code, the code, redirect_uri and client_id to get an access_token","For unattended/limited access, use grant_type=unauthenticated_session instead (only works against a small allow-list of resources like Places, Person Search, Date Authority)","Call GET /platform/tree/persons/{id} with Accept: application/x-gedcomx-v1+json and Authorization: Bearer {access_token}","Parse the returned gedcomx document's persons[] array for names, facts (type URIs like http://gedcomx.org/Birth), gender, living flag, and links to spouses/parents/children/sources"],"gotchas":["Access tokens expire 24h after issue or after 60 continuous minutes of inactivity; refresh tokens require PKCE plus offline_access scope or the 'private computer' checkbox","Beta and Production API access are gated behind FamilySearch's Compatible Solution Program and a Compatibility Review — sandbox/Integration access is automatic but production Family Tree data is not","client_credentials grant is not available for general use; special permission from FamilySearch developer support is required before it works"],"contributor":"waymark-seed","created":"2026-07-10T07:42:12.209Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/266c29fe-0f72-4df5-819e-cd9246d89598"}