Pull requests and suggestions welcome!
npm install 23andme-node
var g23 = require('23andme-node');
g23.getProfiles({token: 'fdab6a6892b198e40c2484bf2121f761'}, function (err, data) {
console.log(utils.inspect(err || data, false, null));
});
All methods return a callback with the signature callback(error, data)
.
data
and error
are JavaScript objects.
All methods expect a params
object with at least the user's authentication token
.
All methods return the same data
object regardless of HTTP verb.
Possible error messages:
invalid_request
- The request is missing a required parameter, or includes an unsupported or incorrect parameter.
invalid_client
- Client authentication failed (e.g. unknown client, no client credentials included, multiple client credentials included, or unsupported credentials type).
unauthorized_client
- The client is not authorized to request an authorization code using this method.
access_denied
- The resource owner or authorization server denied the request.
invalid_scope
- The requested scope is invalid, unknown, or malformed.
unsupported_response_type
- The authorization server does not support obtaining an authorization code using this method.
Official API documentation.
- None!
{
first_name: "Gregor",
last_name: "Mendel",
id: "a42e94634e3f7683",
profiles: [
{
first_name: "Johann",
last_name: "Mendel",
id: c4480ba411939067
}, ...
]
}
profileId
- Optional. Filters names to just one profile.
{
id: "c4480ba411939067",
url_size_40_40: "https://...cfff05bbb_T.0_0_299_299.jpg",
url_size_60_60: "https://...cfff05bbb_S.0_0_299_299.jpg",
url_size_200_200: "https://...ff05bbb_M.0_0_299_299.jpg"
}
profileId
{
id: "c4480ba411939067",
url_size_40_40: "https://...cfff05bbb_T.0_0_299_299.jpg",
url_size_60_60: "https://...cfff05bbb_S.0_0_299_299.jpg",
url_size_200_200: "https://...ff05bbb_M.0_0_299_299.jpg"
}
profileId
featureId
- Values are'music'
,'neanderthal'
,'maternal'
,'paternal'
,'composition'
linkId
- Optional. Filters results to just one link.
{
id: "c4480ba411939067",
url: "https://www.23andme.com/published/.../",
link_id: "925v3n92424g4",
feature_id: "neanderthal",
status: "unpublished"
}
profileId
matchId
{
introduction: {
status: "received",
visibility: "genome",
message_text: "Hi! Want to explore?"
},
can_send: false
}
profileId
locations
- An array of SNP strings.unfiltered
- Optional. Possible values aretrue
orfalse
{
i3000001: "II",
rs3094315: "AA"
id: "c4480ba411939067"
}
profileID
unfiltered
- Optional. Possible values aretrue
orfalse
{
id: "c4480ba411939067",
genome: "ACTAGTAG__TTGADDAAIICCTT" // ... (2MB string!)
}
profileId
{
maternal_terminal_snps: [
{
rsid: "i3001424",
rcrs_position: "15874"
},
{
rsid: "i5050411",
rcrs_position: "15874"
}
],
paternal_terminal_snps: [
{
"rsid": "i3000015",
"snp": "M125"
}
],
maternal: "D4e2",
paternal: "D2a1",
id: "c4480ba411939067"
}
profileId
threshold
- A number in the interval (0.5, 1.0) exclusive. Default is 0.75.
{
id: "7ad467ea509080fb"
ancestry: {
label: "Total",
proportion: 1.0,
unassigned: 0.0,
sub_populations: [
{
label: "Sub-Saharan African",
proportion: 0.8227
},
{
label: "European"
proportion: 0.1773,
unassigned: 0.0193,
sub_populations: [
{
label: "Northern European",
proportion: 0.1579,
unassigned: 0.0725,
sub_populations: [
{
label: "French and German",
proportion: 0.0676
}, ...
],
}, ...
]
}, ...
]
}
}
profileId
{
id: "7ad467ea509080fb"
neanderthal: {
proportion: 0.0310,
}
}
profileId
filters
- An object with propertieslimit
,offset
,since
,share_status
,intro_status
.
share_status
can have the following values: 'Owned Profile'
, 'Sharing Genomes'
, 'Public Match'
intro_status
can have the following values: 'Introduction Sent'
, 'Introduction Received'
, 'Introduction Accepted'
, 'Introduction Declined'
, 'Introduction Cancelled'
{
id: "18974891hh1f3h",
count: 10,
relatives: [
{
match_id: "48f2489h294hf",
first_name: "Aodh",
last_name: "O'Donnell",
sex: "Male",
birth_year: 1977,
birthplace: "United States",
ancestry: "Northern Europe",
family_locations: [
"Arlington, VA",
"County Louth, Ireland"
],
family_surnames: [
"Lindell",
"Dillingham",
"Kelly"
],
shared_segments: 23,
relationship: "3rd Cousin",
predicted_relationship_code: 32,
user_relationship_code: null,
range: ["3rd Cousin", "6th Cousin"],
similarity: 0.24,
maternal_haplogroup: "K1b1a1",
paternal_haplogroup: "G2a5",
maternal_side: false,
paternal_side: true,
notes: "we have the same familiar surnames",
added: 1348699925,
updated: 1348699975,
residence: "North Carolina",
intro_status: "Introduction Accepted",
share_status: "Sharing Genomes",
profile_picture_urls: {
url_size_40_40: "https://...cfff05bbb_T.0_0_299_299.jpg",
...
}
}, ...
]
}
profileId
{
id: "c4480ba411939067",
risks: [
{
description: "Atrial Fibrillation",
report_id: "atrialfib",
population_risk: 0.2715,
risk: 0.4164
},
{
description: "Prostate Cancer",
report_id: "prostate",
population_risk: 0.1783,
risk: 0.2585
}, ...
]
}
profileId
{
id: "c4480ba411939067",
drug_responses: [
{
description: "Alcohol Consumption, Smoking and Risk of Esophageal Cancer",
report_id: "alcohol_esophageal_pgx",
status: "typical"
},
{
description: "Response to Hepatitis C Treatment",
report_id: "hepc_peginf_ribavirin",
status: "reduced"
}, ...
]
}
profileId
{
i"d: "c4480ba411939067",
traits: [
{
description: "Muscle Performance",
report_id: "muscleperformance",
possible_traits: [
"Likely Sprinter",
"Unlikely Sprinter"
],
trait: "Unlikely Sprinter"
},
{
description: "Resistance to HIV/AIDS",
report_id: "hiv",
possible_traits: [
"Not Resistant",
"Partially Resistant"
],
trait: "Not Resistant"
}, ...
],
}
profileId
image
- A buffer.
profileId
featureId
- Values are'music'
,'neanderthal'
,'maternal'
,'paternal'
,'composition'
profileId
featureId
- Values are'music'
,'neanderthal'
,'maternal'
,'paternal'
,'composition'
linkId
status
- Values are'published'
or'unpublished'
profileId
matchId
status
- Possible values are'accepted'
,'rejected'
,'read'
,'cancelled'
.visibility
- Possible values are'anonymous'
,'profile'
,'genome'
At least one of status
and visibility
has to be provided as parameters.
profileId
matchId
notes
- A string.relationshipCode
Possible values for relationshipCode
:
0
You
1
Identical Twin
2
Father
3
Mother
4
Son
5
Daughter
6
Brother
7
Sister
8
Half Brother
9
Half Sister
10
Grandfather
11
Grandmother
12
Grandson
13
Granddaughter
14
Uncle
15
Aunt
16
Nephew
17
Niece
18
Great Grandfather
19
Great Grandson
20
Great Grandmother
21
Great Granddaughter
22
Great Uncle
23
Great Aunt
24
Great Nephew
25
Great Niece
26
1st Cousin
27
1st Cousin, Once Removed
28
1st Cousin, Twice Removed
29
2nd Cousin
30
2nd Cousin, Once Removed
31
2nd Cousin, Twice Removed
32
3rd Cousin
33
3rd Cousin, Once Removed
34
3rd Cousin, Twice Removed
35
4th Cousin
38
5th Cousin
41
6th Cousin
44
Distant Cousin
- Tests