---
title: "Private beta — any consumer raw DNA file → normalised variants"
method: POST
path: "/dna/parse"
tags: ["dna"]
---

# Private beta — any consumer raw DNA file → normalised variants

`POST /dna/parse`

## Request

- Base URL: `https://deepdna.ai/api/v1`
- URL: `https://deepdna.ai/api/v1/dna/parse`
- Auth: HTTP bearer

Designed for 23andMe, AncestryDNA and MyHeritage exports; VCF planned later in the beta. Detects the format from the header, normalises chromosome labels and no-calls, and states the genome build explicitly in the response instead of assuming it. Nothing is stored: the file is parsed in memory and discarded when the response is sent. Not yet deployed.

## Response `200`

Parsed file

- ParsedDna
  - `format` '23andme' | 'ancestrydna' | 'myheritage' | 'vcf'
  - `build` 'GRCh37' | 'GRCh38'
  - `raw_count` integer
  - `normalized_count` integer
  - `variants` Genotype[]
    - `rsid` string, required
    - `chromosome` string
    - `position` integer
    - `genotype` string, required

## Other responses

- `400`: Unrecognised format or unreadable file
- `401`: Missing or invalid API key

---

[API](https://skmtc.dev/deepdna/apis/deepdna-api.md) · [All operations](https://skmtc.dev/deepdna/apis/deepdna-api/llms.txt) · [OpenAPI document](https://skmtc.dev/deepdna/apis/deepdna-api/revisions/e33e002594ea?raw)
