I noticed that the API now returns two undocumented items on a profile: parent_unions and partner_unions.
1) Is this a step on removing the need for the immediate-family record?
2) Will partner_unions replace the unions element?
What I am missing most in getting an effective caching of loaded profiles is that there is absolutely no way to detect changes in a profiles connections (i.e changes in parents, children, spouses), so you cannot cache immediate-family records.
3) Will any changes in the parent_unions or partner_unions solve this problem by updating the updated_at element on a profile?
I also notice that a lot of elements in v0 of the API like big_tree now is marked with "This field has been deprecated and will no longer be supported in the future versions".
4) Does this mean that those elements will be removed for v1 as well?
Kenneth, - you only need to load immediate-family records when following a line since immediate-family also contains the profile records, so parent_unions is not needed, but as you say: you have an overload since you also get all spouses and siblings, but that is needed if you want to process a descendants line.
I am able to load 10 generations of ancestors in 29 seconds now and I am not finished fine tuning my code yet.
When reading the immediate-family record and have sorted out the union-id for the partner union you want the details on you do a new get for that specific union as https://www.geni.com/api/union (-XXXX for union id)
On some profiles, I get HTTP response 403 as response to my immediate-family request. These are marked as private I assume.
What I do then is to make the simplest possible request i.e. "https://www.geni.com/api/<xrefname>".
Is that expected behaviour, and am I using the correct procedure when it happens? I don't get any relations at all with the fallback request, so it's not ideal...
Need an example on this.
The syntax is https://www.geni.com/api/profile/immediate-family, - where you use /profile-nnnn/ for specific profile-ID's
This is my full request:
"https://www.geni.com/api/" + xrefName + "/immediate-family?only_ids=true&fields=first_name,middle_name,nicknames,last_name,maiden_name,name,suffix,occupation,gender,birth,baptism,death,burial,cause_of_death,unions,id,about_me,is_alive,profile_url,mugshot_urls,public";
and this is my "simple" request:
"https://www.geni.com/api/" + xrefName
Hmm.. I just see that pasting gave some strange quotes not present in the real world...
This is my full request:
"https://www.geni.com/api/"; + xrefName + "/immediate-family?only_ids=true&fields=first_name,middle_name,nicknames,last_name,maiden_name,name,suffix,occupation,gender,birth,baptism,death,burial,cause_of_death,unions,id,about_me,is_alive,profile_url,mugshot_urls,public";
and this is my "simple" request:
"https://www.geni.com/api/" + xrefName
That specific profile is a private living profile outside your family which you would get an access denied of when trying to get immediate family by using for example
https://www.geni.com/api/profile-g6000000012926735630/immediate-family
When not being a curator I get.
{
error: {
type: "ApiException",
message: "Access Denied"
}
}
If you have found a way to bypass this it should be reported and stopped.
For this specific profile however, he should probably be marked as deceased public since he is born in 1908. If you have documentation that he is deceased I can fix this, but for now we can keep it as an example.
OK, as when viewing the profile in a browser?
Usually you don't even come so far in the browser unless you know the profile id. The only useful information you can get is number of children.
At some point the API should stop you processing and I think this is such a case. The union object might reveal the profile-ids of the children.
You can discuss if even listig the children as "<private> Isaksson". when viewing the private profiles as you can do on Knut Emanuel Nordgren on is allowed according to GDPR.
We had a situation some years ago when a person added his out of wedlock child to the tree and forgot that the family did not know about it and could see his tree.. He had to go through several rounds of explanations and excuses...