Skip to Content
⚠️ Under construction.
Get StartedGuidesWorking with DNA kits

Working with DNA Kits

If a customer bought DNA kits from LifeNome, the provisioned DNA kits can be managed using Core API. Core API provides endpoints to list DNA kits, retrieve DNA kit details, and register DNA kits.

DNA Kit lifecycle

DNA kit lifecycle consists of following states:

  • provisioned - DNA kit is provisioned and ready to be registered
  • registered - DNA kit is registered (linked to end-user’s gender) and can be sent to DNA processing lab
  • received_by_lab - DNA kit is received by DNA processing lab
  • receipt_error - there was an error during DNA kit receipt at DNA processing lab (eg. DNA kit is damaged or not properly registered)
  • processing - DNA kit is in processing at DNA processing lab
  • processed - DNA kit is processed and genotype data is available
  • processing_error - there was an error during DNA kit processing at DNA processing lab (eg. insufficient DNA quantity or quality)
  • genotype_available - genotype data from DNA kit processing is available and can be used to create Genotype object
  • error - DNA kit processing failed

DNA Kit registration

DNA kit registration is a process of linking DNA kit to an end-user data and should be done once customer use the DNA kit to collect a sample from the end-user. Once DNA kit is registered, it can be sent to DNA Kit processing lab for processing. The mandatory data that needs to be provided during DNA kit registration is gender of end-user. Optionally, you can provide lifenome Sample ID, in which case DNA kit will be linked to the Sample and all data collected from the DNA kit will be associated with the Sample’s genotype.

If you don’t provide lifenome Sample ID during DNA kit registration, you can link the DNA kit to a Sample later by invoking Link Sample operation.

Core API endpoints

Following Core API endpoints are used to manage DNA kits:

List available DNA kits

To list available DNA kits, invoke List DNA Kits operation.

curl --request GET \ --url https://myportal.lifenome.com/api/core-api/dna-kits/ \ --header "Authorization: Bearer ${ACCESS_TOKEN}" \

Successful response will return a list of DNA kits:

{ "count": 2, "next": null, "previous": null, "results": [ { "kit_id": "string", "platform_id": "string", "provider": "labcorp|gxg", "state": "provisioned|registered|received_by_lab|receipt_error|processing|processed|processing_error|genotype_available|error", "registration_data": { "gender": "male|female", "sample_id": "string" } }, { "kit_id": "string", "platform_id": "string", "provider": "labcorp|gxg", "state": "provisioned|registered|received_by_lab|receipt_error|processing|processed|processing_error|genotype_available|error", "registration_data": null } ] }

Retrieve DNA kit details

To retrieve details of a specific DNA kit, invoke Retrieve DNA Kit operation.

curl --request GET \ --url https://myportal.lifenome.com/api/core-api/dna-kits/${KIT_ID}/ \ --header "Authorization: Bearer ${ACCESS_TOKEN}" \

Successful response will return details of the specified DNA kit:

{ "kit_id": "string", "platform_id": "string", "provider": "labcorp|gxg", "state": "provisioned|registered|received_by_lab|receipt_error|processing|processed|processing_error|genotype_available|error", "registration_data": { "gender": "male|female", "sample_id": "string|null" } }

Register DNA kit

To register a DNA kit, invoke Register DNA Kit operation.

curl --request POST \ --url https://myportal.lifenome.com/api/core-api/dna-kits/${KIT_ID}/register/ \ --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header "Content-Type: application/json" \ --data '{ "gender": "male|female", "sample_id": "string|null" }'

Successful response will return DNA kit details with updated state and registration data:

{ "kit_id": "string", "platform_id": "string", "provider": "labcorp|gxg", "state": "registered", "registration_data": { "gender": "male|female", "sample_id": "string|null" } }

To link a DNA kit to a Sample, invoke Link Sample operation.

curl --request PUT \ --url https://myportal.lifenome.com/api/core-api/dna-kits/${KIT_ID}/sample/ \ --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header "Content-Type: application/json" \ --data '{ "sample_id": "string" }'

Successful response will an object with sample ID from request:

{ "sample_id": "string" }

It is important to note that DNA kit can be linked to a Sample only if:

  • the DNA kit is in not in provisioned state.
  • sample with provided Sample ID exists and does not already have a genotype associated with it.