Developer docshttps://staging.api.genome.computerhttps://api.genome.computer

The Genome Computer API

The fastest, most reliable way to build on the genome.

What it does

Sequences a person's DNA, stores it securely, and turns it into clear, safe insights your app can display — as ready-to-share evidence summaries or plain-English answers.

Who it's for

Product teams building nutrition, longevity, recovery, or clinical-adjacent apps. No genomics background required — the API hands you finished insights, not raw biology.

What you can build

Personalized insight cards, medication-safety dashboards for clinicians, longitudinal health profiles, and bounded genome Q&A.

Under the hood, the same API orders 30x sequencing, delivers .genome files, hosts a genome runtime, builds genetic insight panels, and answers bounded natural-language genome questions.

How It Works

A genome moves through a few stages: you order sequencing, we deliver the files, we turn them into structured insights, and your app shows them safely. The names below show up throughout these docs.

genome.computer lifecycle pipelineOrderstored
Creates kit, tracking, activation
Runtimestored
Persistent hosted genome object
Artifactstored
Full interpretation layer
Contexton demand
Deterministic domain slice
Panelon demand
Curated product-ready result
Answeron demand
Bounded natural language
createdkit shippedsample receivedsequencingbioinformaticscompletedSequencing order lifecycle

Stored objects are durable records.

Generated objects are built from the runtime.

The pieces, in plain words

How the runtime, interpretation artifact, panel, answer, and optional context artifact fit together.

ConceptIn plain words
OrderThe purchase. We ship a kit, sequence the returned sample, and deliver the files.
Delivery filesThe delivered genome data files, including a .genome bundle and VCF/FastQ on request.
Hosted genome (runtime)The genome kept online so you can keep asking it questions over time.
Interpretation artifactThe full analysis of the genome — large, detailed, and machine-readable. The source of truth.
PanelThe product-ready interpretation layer: user findings, observed result, result summary, interpretation, evidence, citations, limitations, and safety boundary.
AnswerA plain-English reply to one question, with safety limits built in.
ContextAdvanced: one topic of the genome as structured JSON for your own code or AI to read, not for direct display.

Order lifecycle

1created
2kit_shipped
3kit_delivered
4sample_registered
5sample_returned
6sample_received
7lab_processing
8sequencing
9bioinformatics_processing
10genome_bundle_generating
11completed

Runtime pipeline

1Order
2Delivery files
3Hosted genome
4Interpretation artifact
5Panel
6Answer
7Context (advanced)
Delivery files are the raw genome (the product of sequencing or conversion). A hosted genome runtime is an optional, durable copy you can keep asking over time — poll for updated interpretations, build panels, and ask bounded questions.

Five-Minute Quickstart

Start with our test genome — a fixed, synthetic genome that always returns the same result. You get real API responses without using anyone's real DNA, and no order is required.

TypeScript SDKnpm install @genomecomputer/sdk
Python SDKpip install genomecomputer
Use staging keygc_test_xxx
Build a panel from the seeded staging genome
export GC_API_KEY="gc_test_xxx"

curl https://staging.api.genome.computer/v1/test/genomes \
  -H "Authorization: Bearer $GC_API_KEY"

curl https://staging.api.genome.computer/v1/panels \
  -H "Authorization: Bearer $GC_API_KEY"

curl https://staging.api.genome.computer/v1/genomes/gen_test_nutrition_001/panels/nutrition_diet_response/build \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY"

curl https://staging.api.genome.computer/v1/genomes/gen_test_nutrition_001/ask \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "question": "Summarize this genome's nutrition panel in plain English.",
    "response_length": "medium"
  }'
The same API surface works in production. Swap to https://api.genome.computer and a gc_live_ key only after contract, consent, billing, and pricing setup are complete.

End-to-End Guides

Recipes for the things teams build most often. Find the one closest to your product — nutrition insights, a pharmacogenomics dashboard, a longevity profile, or recovery personalization — and follow it end to end: the goal, the exact API calls, what comes back, what to show users, and a real response to copy from.

The goal

A nutrition feature

Show users a friendly profile of their diet-related genetics — no medical claims.

Steps

  1. POST /v1/orders (or reuse a hosted genome)
  2. Wait for order.completed, then genome.created
  3. GET /v1/genomes/{genome_id}/interpretations/latest/artifact
  4. POST /v1/genomes/{genome_id}/panels/nutrition_diet_response/build
  5. POST /v1/genomes/{genome_id}/ask — optional, plain-English explanation

What you get back

A panel with a plain-language summary and sections of findings. Each finding gives a structured result, a plain-English meaning, and an evidence level, with provenance under evidence — plus panel-level citations and limitations.

What your app shows

Render each finding as an insight card: show result_label and meaning first, with an evidence badge. Keep the structured result and evidence block for expandable or expert views; skip raw variant tables unless your product is built for experts.

Real example

POST /v1/genomes/{genome_id}/panels/nutrition_diet_response/build
{
  "panel_result_id": "pan_9y2m1q",
  "panel_id": "nutrition_diet_response",
  "title": "Nutrition & Diet Response",
  "genome_id": "gen_test_nutrition_001",
  "summary": "Caffeine, alcohol, and lactose handling for this genome.",
  "sections": [
    {
      "section_id": "food_drink_metabolism",
      "title": "Food & Drink Metabolism",
      "evidence_level": "high",
      "findings": [
        {
          "id": "rs4988235",
          "type": "variant",
          "title": "MCM6 rs4988235",
          "gene": "MCM6",
          "variant_id": "rs4988235",
          "result": { "genotype": "GA", "alleles": ["G", "A"] },
          "result_label": "One copy of G and one copy of A",
          "meaning": "The main lactase-persistence variant in European-ancestry populations; the persistence allele is associated with digesting dairy into adulthood. Other persistence variants in African and Middle Eastern populations are not captured by this SNP.",
          "evidence_level": "high",
          "evidence": { "basis": "GWAS Catalog", "clinical_review": "Inherited tendency, not a lactose-tolerance test.", "validated_populations": ["European"] }
        }
      ]
    }
  ],
  "citations": [{ "source": "GWAS Catalog", "version": "2026.05-sandbox" }],
  "limitations": ["DNA does not measure current diet, symptoms, or nutrient status."],
  "clinical_boundary": "Use as inherited context for education and clinician review."
}

The goal

A PGx dashboard for a clinic

Give clinicians PGx gene-level calls and guideline-linked drug scope, ready for review.

Steps

  1. POST /v1/orders with retention=hosted_runtime
  2. Wait for order.completed, then genome.created
  3. GET /v1/genomes/{genome_id}/interpretations/latest
  4. POST /v1/genomes/{genome_id}/panels/pharmacogenomics_safety/build
  5. Subscribe to interpretation.updated webhooks

What you get back

A pharmacogenomics panel whose findings give each gene's metabolizer result and a plain-English meaning, with an evidence level and a clinical boundary.

What your app shows

A clinician dashboard: one row per gene showing the result and its meaning, with evidence badges and a clear "needs review" state shown before any medication guidance.

Real example

POST /v1/genomes/{genome_id}/panels/pharmacogenomics_safety/build
{
  "panel_result_id": "pan_pgx91r",
  "panel_id": "pharmacogenomics_safety",
  "title": "Medication Response (PGx)",
  "sections": [
    {
      "section_id": "drug_metabolism",
      "title": "Drug Metabolism",
      "evidence_level": "high",
      "findings": [
        {
          "id": "cyp2c19_phenotype",
          "type": "pharmacogenomic_marker",
          "title": "CYP2C19 metabolizer status",
          "gene": "CYP2C19",
          "result": { "diplotype": "*1/*17", "phenotype": "rapid metabolizer" },
          "result_label": "Rapid metabolizer (*1/*17)",
          "meaning": "The *1/*17 diplotype predicts faster CYP2C19 activity, so some drugs cleared by this enzyme can reach lower-than-expected levels. PGx context for clinician review; it does not change medications without prescribing oversight.",
          "evidence_level": "high",
          "evidence": { "basis": "PharmGKB", "clinical_review": "Clinician review required before any prescribing change.", "validated_populations": ["broad"] }
        }
      ]
    }
  ],
  "citations": [{ "source": "PharmGKB", "version": "2026.05-sandbox" }],
  "limitations": ["Drug selection and dosing require clinician review."]
}

The goal

A longevity profile

Build a profile that gets better over time as the science does.

Steps

  1. POST /v1/orders with retention=hosted_runtime
  2. GET /v1/genomes/{genome_id}
  3. POST /v1/genomes/{genome_id}/panels/longevity_healthy_aging/build
  4. POST /v1/genomes/{genome_id}/panels/recovery_and_resilience/build
  5. GET /v1/usage

What you get back

Runtime and panel records with stable IDs, the current interpretation version, and generated-at timestamps.

What your app shows

A profile that shows each panel's interpretation version, so users can see exactly when the evidence behind it changed.

Real example

POST /v1/genomes/{genome_id}/panels/longevity_healthy_aging/build
{
  "panel_result_id": "pan_l0ng1",
  "panel_id": "longevity_healthy_aging",
  "title": "Longevity and Healthy Aging",
  "interpretation_version": "2026.05.1",
  "created_at": "2026-05-21T10:24:13.000Z",
  "model_name": "deterministic-genetic-insight-panel-v1",
  "summary": "Cardiometabolic, inflammation, and lipid-transport context relevant to healthy aging."
}

The goal

Recovery personalization

Add genetic context for inflammation, tissue repair, and recovery — while keeping clinical decisions on your side.

Steps

  1. POST /v1/orders (or reuse a hosted genome)
  2. GET /v1/genomes/{genome_id}/interpretations/latest
  3. POST /v1/genomes/{genome_id}/panels/recovery_and_resilience/build
  4. POST /v1/genomes/{genome_id}/panels/growth_repair_inflammation_context/build
  5. POST /v1/genomes/{genome_id}/ask for a plain-English explanation

What you get back

Panels return inherited pathway evidence that can sit alongside your own labs and intake data.

What your app shows

Use the Q&A text as explanation, and keep treatment decisions inside your own clinician-reviewed workflow. Never present output as a treatment recommendation.

Real example

POST /v1/genomes/{genome_id}/ask
{
  "answer": "This genome shows inherited context in inflammation and tissue-repair pathways. Use it as background alongside labs and symptoms — it is not a treatment plan.",
  "safety": { "clinical_advice": false, "requires_clinician_review": true }
}
Example: render a panel section
function PanelSection({ section }) {
  return (
    <article className="insight-card">
      <p>{section.evidence_level} evidence</p>
      <h3>{section.title}</h3>
      <ul>
        {section.findings.map((finding) => (
          <li key={finding.id}>
            <strong>{finding.title}</strong>
            <p className="result">{finding.result_label}</p>
            {finding.meaning && <p>{finding.meaning}</p>}
          </li>
        ))}
      </ul>
    </article>
  );
}
}

Staging and Production

Staging / sandbox

Base URL
https://staging.api.genome.computer
Key prefix
gc_test_
Purpose
Integration testing, SDK testing, webhook testing, synthetic orders, synthetic files, and deterministic panel outputs.
Data policy
Synthetic genomic data only. Do not upload real genomic data or customer production data.

Production

Base URL
https://api.genome.computer
Key prefix
gc_live_
Purpose
Live sequencing orders, production genomes, production billing, partner applications, and real customer workflows.
Data policy
Real genomic data permitted only for approved partners under signed commercial, consent, and data-processing agreements. Partners must follow the current API Terms, including any geographic eligibility restrictions.

Authentication and Key Management

API keys are environment-scoped bearer tokens. Treat production keys as live financial and genomic-data credentials.

AreaBehavior
gc_test_Staging/sandbox only. Synthetic genomes, mock order advancement, webhook testing.
gc_live_Production only. Real orders, real genomes, live billing, signed contract required.
ScopesKeys can be limited by endpoint family. Use the table below when minting least-privilege keys.
RotationCreate a new key, deploy it, confirm traffic, then revoke the old key.
Leaked keyRevoke immediately and review /v1/usage plus recent order events for unexpected activity.
ScopeAllows
orders:readRead orders, order events, shipment status, and delivery-file links.
orders:writeCreate sequencing orders and advance sandbox orders.
uploads:writeCreate, upload, and complete VCF uploads.
conversions:writeCreate .genome conversions from uploaded VCFs.
genomes:readRead genome runtime metadata, files, manifests, and interpretation records/artifacts.
genomes:writeChange genome retention and request reinterpretation.
contexts:readList panel definitions and read stored contexts, panels, and Q&A answers.
contexts:writeBuild context artifacts, build panels, and ask genome questions.
webhooks:readList webhook endpoints.
webhooks:writeRegister or disable webhook endpoints.
usage:readRead usage events and daily rollups. Also accepted for billing reads.
billing:readRead billing account state, periods, charges, and balance transactions (usage:read also accepted).
billing:writeConfigure billing accounts and generate/finalize billing periods.
api-keys:readList API keys for the organisation.
api-keys:writeRevoke API keys.
Rotation pattern
# 1. Mint a new key in the dashboard/API
gc_live_new=gc_live_xxx

# 2. Deploy your app with the new key
GC_API_KEY=$gc_live_new

# 3. Revoke the old key after traffic confirms
DELETE /v1/api-keys/{api_key_id}

Sequencing Orders

Tier 1 orders deliver tracking, activation details, and secure file links for the deliverables requested by the client.

Create a sequencing order

The customer receives a kit activation identifier that can be used at sample.bio. Staging emulates the same flow without SLP or a real kit.

Create order
curl https://staging.api.genome.computer/v1/orders \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY" \
  -H "Idempotency-Key: order-user-123-2026-05-21" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "wgs_30x",
    "client_name": "Acme Health",
    "user_reference": "user_123",
    "retention": "hosted_runtime",
    "deliverables": ["genome_bundle"],
    "customer": {
      "name": "Avery Chen",
      "email": "avery@example.com"
    },
    "shipping_address": {
      "line1": "535 Mission St",
      "city": "San Francisco",
      "state": "CA",
      "postal_code": "94105",
      "country": "US"
    }
  }'

Advance a staging order

Use this only in staging to test lifecycle events, webhook handlers, file delivery, and genome creation logic.

Sandbox advance
curl https://staging.api.genome.computer/v1/test/orders/ord_xxx/advance \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"completed"}'
IdempotencyBehavior
HeaderIdempotency-Key
Required forPOST /v1/orders in production (optional but recommended in staging)
FormatMust be 8-200 characters; a duplicate key returns the original order
MismatchThe same key with a different request body returns 409 conflict
Recommended keyA stable client operation ID, such as order-user_123-2026-05-21

Status updates: polling and webhooks

Use GET /v1/orders/{order_id} when your app needs the current state on demand. Use webhooks for real-time lifecycle updates, and GET /v1/orders/{order_id}/events when you need the full audit trail.

Poll current status
curl https://staging.api.genome.computer/v1/orders/ord_01JZ8N8A4P2Y \
  -H "Authorization: Bearer $GC_API_KEY"
Read lifecycle history
curl https://staging.api.genome.computer/v1/orders/ord_01JZ8N8A4P2Y/events \
  -H "Authorization: Bearer $GC_API_KEY"
StatusMeaningHow clients receive it
kit_shippedThe kit has left fulfillment.Webhook: order.kit_shipped. Poll: GET /v1/orders/{order_id}.
kit_deliveredCarrier tracking says the kit reached the customer.Webhook: order.kit_delivered.
sample_registeredThe customer activated the sample.Webhook: order.sample_registered.
sample_returnedThe return shipment is on its way back.Webhook: order.sample_returned.
sample_receivedThe lab received the returned sample.Webhook: order.sample_received.
lab_processingThe sample passed intake and lab processing is underway.Webhook: order.lab_processing.
sequencingSequencing is underway.Webhook: order.sequencing.
bioinformatics_processingThe sequencing data is being processed.Webhook: order.bioinformatics_processing.
genome_bundle_generatingThe data has landed and files are being generated.Webhook: order.genome_bundle_generating.
completedRequested deliverables are ready.Webhook: order.completed. Then call GET /v1/orders/{order_id}/files.
failedThe order needs review or cannot continue.Webhook: order.failed.
cancelledThe order was cancelled before completion.Webhook: order.cancelled.

Order response

JSON
{
  "order_id": "ord_01JZ8N8A4P2Y",
  "type": "wgs_30x",
  "client_name": "Acme Health",
  "user_reference": "user_123",
  "status": "created",
  "status_label": "Order created",
  "activation_code": "ACT-7HD2-9QK4",
  "activation_url": "https://sample.bio/activate/ACT-7HD2-9QK4",
  "deliverables": ["genome_bundle"],
  "retention": "hosted_runtime",
  "price_cents": 69900,
  "shipping_fee_cents": 0,
  "total_cents": 69900,
  "currency": "usd",
  "estimated_completion_date": null,
  "shipment": null,
  "genome_id": null,
  "storage_expires_at": null,
  "created_at": "2026-05-21T10:20:05.000Z",
  "updated_at": "2026-05-21T10:20:05.000Z"
}

File generation state

JSON
{
  "order_id": "ord_01JZ8N8A4P2Y",
  "type": "wgs_30x",
  "client_name": "Acme Health",
  "user_reference": "user_123",
  "status": "genome_bundle_generating",
  "status_label": ".genome bundle is being generated",
  "activation_code": "ACT-7HD2-9QK4",
  "activation_url": "https://sample.bio/activate/ACT-7HD2-9QK4",
  "deliverables": ["genome_bundle", "vcf", "fastq"],
  "retention": "hosted_runtime",
  "estimated_completion_date": null,
  "shipment": null,
  "genome_id": null,
  "storage_expires_at": null,
  "created_at": "2026-05-21T10:20:05.000Z",
  "updated_at": "2026-05-28T04:12:44.000Z"
}

File delivery response

JSON
{
  "order_id": "ord_01JZ8N8A4P2Y",
  "genome_id": "gen_test_nutrition_001",
  "retention": "hosted_runtime",
  "storage_expires_at": null,
  "files": [
    {
      "type": "genome_bundle",
      "label": ".genome bundle",
      "filename": "gen_test_nutrition_001.genome.json",
      "content_type": "application/json",
      "size_bytes": 184320,
      "sha256": "9f2c...",
      "download_url": "https://signed-download-url.example/...",
      "expires_in_seconds": 900
    },
    {
      "type": "vcf",
      "label": "VCF",
      "filename": "gen_test_nutrition_001.vcf.gz",
      "content_type": "application/gzip",
      "size_bytes": 2457600,
      "sha256": "1a73...",
      "download_url": "https://signed-download-url.example/...",
      "expires_in_seconds": 900
    },
    {
      "type": "fastq_r1",
      "label": "FASTQ R1",
      "filename": "gen_test_nutrition_001_R1.fastq.gz",
      "content_type": "application/gzip",
      "size_bytes": 41943040,
      "sha256": "c80b...",
      "download_url": "https://signed-download-url.example/...",
      "expires_in_seconds": 900
    }
  ]
}

Shipping & fulfillment

Creating an order ships a sample-collection kit to the address in shipping_address. We currently ship kits to: United States, Australia, Canada, United Kingdom, Ireland, New Zealand, Singapore, Hong Kong, Japan, Austria, Belgium, Denmark, Finland, France, Germany, Iceland, Italy, Luxembourg, Netherlands, Norway, Portugal, Spain, Sweden, Switzerland.

DestinationReturn shipping
United StatesFree — kit ships from the US lab
All other supported countriesFlat $40 return shipping fee
Shipping is free within the United States. Every other supported destination is charged a flat $40return shipping fee on the order. Any customs duties or local VAT/GST charged on receipt are the customer's responsibility.

Uploads and .genome Conversions

Bring an existing VCF, convert it into a .genome bundle, and optionally keep the resulting genome hosted for panels, interpretation polling, and Q&A.

Signed upload flow

For larger VCFs, initiate a signed upload, send the file to storage, then complete the upload with its SHA-256 and size. Smaller VCFs can use the direct multipart endpoint.

Initiate signed VCF upload
curl https://staging.api.genome.computer/v1/uploads/vcf/initiate \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filename": "avery.vcf.gz",
    "content_type": "application/gzip",
    "size_bytes": 8420192
  }'
Upload response
{
  "upload_id": "upl_7bk2m91q",
  "source_type": "vcf",
  "status": "signed_url_created",
  "filename": "avery.vcf.gz",
  "content_type": "application/gzip",
  "size_bytes": 8420192,
  "sha256": null,
  "created_at": "2026-05-21T10:30:05.000Z",
  "uploaded_at": null,
  "upload_url": "https://signed-upload-url.example/...",
  "upload_token": "signed-token",
  "storage_path": "organisations/org_123/uploads/upl_7bk2m91q/avery.vcf.gz"
}

Convert to .genome

A completed upload can be converted into a canonical .genome bundle. Staging completes synchronously; production accepts the conversion and emits conversion.completed when ready. Use the genome_idreturned by the conversion response for panels, interpretation polling, context builds, and Q&A.

Complete upload
curl https://staging.api.genome.computer/v1/uploads/vcf/complete \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "upload_id": "upl_7bk2m91q",
    "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "size_bytes": 8420192
  }'
Create conversion
curl https://staging.api.genome.computer/v1/conversions \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source_type": "vcf",
    "upload_id": "upl_7bk2m91q",
    "retention": "hosted_runtime"
  }'
Conversion response
{
  "conversion_id": "cnv_41d9x2qk",
  "upload_id": "upl_7bk2m91q",
  "source_type": "vcf",
  "status": "completed",
  "genome_id": "gen_test_nutrition_001",
  "price_cents": 9900,
  "currency": "usd",
  "created_at": "2026-05-21T10:35:05.000Z",
  "completed_at": "2026-05-21T10:35:09.000Z"
}
Conversion completion creates a genome runtime, then emits conversion.completed, genome.created, and interpretation.updated when the interpretation artifact is attached. Use the returned genome_id as the stable runtime identifier for every downstream genome endpoint.

Hosted Genome Runtime

You decide at order time whether a genome is delivery-only or hosted for ongoing access.

Delete within 30 days

Use delete_after_30_days when the customer only needs secure delivery files. No hosted runtime fee is metered.

Hosted runtime

Use hosted_runtime to keep the genome addressable through /v1/genomes, interpretation, panel, context, and Q&A endpoints.

Carry the genome_idreturned by order completion or conversion into all downstream calls: panels, interpretation records, context builds, and genome Q&A. GET /v1/genomes/{genome_id} returns runtime metadata, not the genomic file itself. Use the bundle/files endpoints for signed downloads.

Genetic Insight Panels

Panels are the main way to turn a hosted genome into ready-to-show results. Each section gives the user's actual finding, what it means, how strong the evidence is, plus citations, limitations, and the clinical boundary.

What a panel adds

A panel runs a ready-made template for one health topic against the genome, pulls out what the user actually has, and hands back finished text you can show as-is.

What it returns

Show the ready-to-display fields first: result_label (what the user has) and meaning (what it means). The raw details — structured result, evidence basis, citations, and limitations — live under evidence for provenance or an expert view.

FieldMeaningHow to use it
sections[].findings[]One row per marker the user has in that section (variant, polygenic score, or PGx marker).Render these as the insight rows in your UI.
findings[].result / result_labelThe value the user actually has: structured ({genotype, alleles} or {category, percentile}) plus a short human label.Answer the user's first question: what did my genome show?
findings[].meaningPlain-English, evidence-bounded explanation of what that result means. null when no reviewed interpretation exists for the marker.Display under each finding. Hide the row when meaning is null instead of showing filler.
findings[].evidence_levelHow well-established the genotype-trait link is: high, moderate, low, or exploratory. This is not clinical actionability.Use to order, badge, or filter findings; never present a high label as medical advice.
findings[].evidenceProvenance: basis (sources), a clinical-review note, validated_populations, and an optional assay_limitations note.Keep for expert views and audit trails. Soften or suppress a finding when the user's ancestry is outside validated_populations.
Evidence levelWhat it means
highRobust, well-replicated genotype-trait association.
moderateReplicated association with a smaller or more variable effect.
lowLimited or inconsistent evidence.
exploratoryEarly, single-study, or weak association.
Evidence level describes how well-established the genotype–trait link is, not whether it is clinically actionable. Even a high marker is not medical advice.
In most apps, a panel is the display object. Use context/build only when you need lower-level, deterministic context for your own rules engine or AI pipeline.
Panel build response
{
  "panel_result_id": "pan_9y2m1q",
  "panel_id": "nutrition_diet_response",
  "title": "Nutrition & Diet Response",
  "genome_id": "gen_test_nutrition_001",
  "interpretation_version": "2026.05.1",
  "summary": "Inherited tendencies in how this user processes foods and drinks, with high-to-moderate evidence. Suitable for an evidence summary card, not diagnosis or treatment.",
  "sections": [
    {
      "section_id": "food_drink_metabolism",
      "title": "Food & Drink Metabolism",
      "evidence_level": "high",
      "findings": [
        {
          "id": "rs4988235",
          "type": "variant",
          "title": "MCM6 rs4988235",
          "gene": "MCM6",
          "variant_id": "rs4988235",
          "result": { "genotype": "GA", "alleles": ["G", "A"] },
          "result_label": "One copy of G and one copy of A",
          "meaning": "The main lactase-persistence variant in European-ancestry populations; the persistence allele is associated with digesting dairy into adulthood. Separate persistence variants in African and Middle Eastern populations are not captured by this SNP, so a non-persistence call here does not rule out persistence in those ancestries.",
          "evidence_level": "high",
          "evidence": {
            "basis": "GWAS Catalog",
            "clinical_review": "Review food & drink metabolism context alongside labs, history, medications, and clinician oversight.",
            "validated_populations": ["European"]
          }
        },
        {
          "id": "rs762551",
          "type": "variant",
          "title": "CYP1A2 rs762551",
          "gene": "CYP1A2",
          "variant_id": "rs762551",
          "result": { "genotype": "AC", "alleles": ["A", "C"] },
          "result_label": "One copy of A and one copy of C",
          "meaning": "Associated with CYP1A2 inducibility and caffeine-metabolism rate; the *1F allele links to higher inducible activity in some studies. Smoking and other inducers also strongly affect CYP1A2, so genotype is only part of the picture.",
          "evidence_level": "moderate",
          "evidence": {
            "basis": "PharmGKB, GWAS Catalog",
            "clinical_review": "Review food & drink metabolism context alongside labs, history, medications, and clinician oversight.",
            "validated_populations": ["broad"]
          }
        }
      ]
    },
    {
      "section_id": "diet_composition",
      "title": "Diet Composition Response",
      "evidence_level": "moderate",
      "findings": [
        {
          "id": "rs174537",
          "type": "variant",
          "title": "FADS1 rs174537",
          "gene": "FADS1",
          "variant_id": "rs174537",
          "result": { "genotype": "GT", "alleles": ["G", "T"] },
          "result_label": "One copy of G and one copy of T",
          "meaning": "FADS1 is associated with the efficiency of converting plant ALA into long-chain omega-3 (EPA/DHA); some versions are associated with lower conversion in studies. Diet decisions should weigh intake, labs, and clinician guidance, not genotype alone.",
          "evidence_level": "moderate",
          "evidence": {
            "basis": "GWAS Catalog, gnomAD",
            "clinical_review": "Review diet composition response context alongside labs, history, medications, and clinician oversight.",
            "validated_populations": ["broad"]
          }
        }
      ]
    }
  ],
  "citations": [
    {
      "source": "GWAS Catalog",
      "url": "https://www.ebi.ac.uk/gwas/",
      "accessed_at": "2026-05-20"
    },
    {
      "source": "gnomAD",
      "url": "https://gnomad.broadinstitute.org/",
      "accessed_at": "2026-05-20"
    }
  ],
  "limitations": [
    "DNA does not measure current folate, B12, homocysteine, or other nutrient levels.",
    "This panel does not diagnose a deficiency or recommend a diet, dose, or supplement.",
    "Genetic tendencies describe inherited likelihood, not current diet or symptoms."
  ],
  "clinical_boundary": "Use as inherited context for education and clinician review. Do not present as diagnosis, treatment, or dosing guidance.",
  "model_name": "deterministic-genetic-insight-panel-v1",
  "created_at": "2026-05-21T10:24:13.000Z"
}

Available insight panels

We add new panels continuously and build them hand-in-hand with partners. Want one tailored to your product? Email api@genome.computer and we'll design a custom insight panel for your use case.

ND

Nutrition & Diet Response

nutrition_diet_response

Caffeine, alcohol, and lactose metabolism, plus dietary-fat (omega-3) processing.

Friendly diet-genetics cards for nutrition apps, without medical claims.

TS

Taste & Smell

taste_and_smell

Bitter and sweet taste, cilantro-soapiness, and asparagus-odor perception.

High-engagement, shareable self-knowledge traits.

SC

Sleep & Chronotype

sleep_and_chronotype

Morningness, sleep-duration tendency, and caffeine-sleep sensitivity.

Inherited circadian context for sleep and wellness apps.

BT

Body Traits

body_traits

Earwax type, freckling tendency, and the photic sneeze reflex.

Fun, cosmetic-only trait packs for engagement.

FM

Fitness & Movement

fitness_and_movement

Muscle-fiber-type tendency, endurance, and aerobic trainability.

Inherited movement context, framed as tendency not destiny.

GR

Growth, Repair & Inflammation Context

growth_repair_inflammation_context

Growth/IGF-1 axis, collagen and tissue repair, and inflammatory tone.

Clinician-supervised pathway context alongside labs and history.

LA

Longevity & Healthy Aging

longevity_healthy_aging

Longevity-associated variants, oxidative stress, and inflammaging pathways.

Durable aging-pathway context for longevity platforms (no lifespan prediction).

SK

Skin & Collagen

skin_and_collagen

Collagen and matrix structure, antioxidant defense, and vitamin C transport.

Cosmetic-context skin genetics for beauty apps.

HV

Hormone & Vitality

hormone_and_vitality

Sex-hormone transport and estrogen-metabolism pathway context.

Endocrine-aware context, with hormone levels kept outside the genome layer.

RR

Recovery & Resilience

recovery_and_resilience

Inflammation, oxidative stress, recovery, and stress-response tendencies.

Recovery context, with clinical decisions kept on the client side.

MV

Micronutrients & Vitamins

micronutrients_and_vitamins

Vitamin D, A, B12, folate, omega-3, and vitamin C transport/conversion tendencies.

Micronutrient-handling context without claiming current status.

Rx

Medication Response (PGx)

pharmacogenomics_safety

CYP2C19/CYP2D6/CYP2C9 metabolism plus SLCO1B1 and VKORC1 transport/response.

PGx review dashboards with strict clinician-review boundaries.

CF

Cognition & Focus

cognition_and_focus

Dopamine-processing and focus tendencies, and stimulant response.

Focus and stimulant-response traits only — never a mental-health claim.

ME

Methylation

methylation_pathways

One-carbon/folate pathway and detox-enzyme context.

Methylation-pathway context with no supplementation claims.

Genome Q&A

Ask a genome a question in plain English and get an answer that says what the user actually has and what it means — grounded in their findings, with the same evidence boundaries as the panels, and the structured findings returned alongside. You send the question; we handle retrieval, the model, and the safety rules.

Questions your users can ask

Each question is a single POST /askcall, so you can drop an “ask my genome” box or a full chat experience straight into your app. We handle retrieval, the model, and the safety rules.

  • How does my body handle caffeine?
  • Am I likely to be lactose intolerant?
  • Are there common medications I should be careful with?
  • What does my DNA say about recovery after exercise?
  • Do I have any nutrition traits worth knowing about?

Ask request

POST /v1/genomes/{genome_id}/ask
{
  "question": "What does my DNA say about how I process caffeine?",
  "response_length": "medium"
}

Natural-language answer

Response
{
  "answer_id": "ans_4az91r",
  "genome_id": "gen_test_nutrition_001",
  "question": "What does my DNA say about how I process caffeine?",
  "response_length": "medium",
  "answer": "For caffeine, the relevant finding is CYP1A2 rs762551, where you have one copy of A and one copy of C. That genotype is associated with CYP1A2 inducibility and caffeine-metabolism rate — the *1F allele is linked to higher inducible activity in some studies, leaning toward a faster-metabolizer pattern — but smoking and other inducers also strongly affect CYP1A2, so genotype is only part of the picture. Treat this as inherited context established mainly in broad populations, not a measurement of how you process caffeine today, and not medical advice. (Evidence: GWAS Catalog, PharmGKB.)",
  "structured_findings": [
    {
      "id": "rs762551",
      "title": "CYP1A2 rs762551",
      "domain": "general",
      "evidence_level": "moderate",
      "summary": "Has one copy of A and one copy of C. Associated with CYP1A2 inducibility and caffeine-metabolism rate; the *1F allele links to higher inducible activity in some studies. Smoking and other inducers also strongly affect CYP1A2, so genotype is only part of the picture.",
      "result": { "genotype": "AC", "alleles": ["A", "C"] },
      "result_label": "One copy of A and one copy of C",
      "meaning": "Associated with CYP1A2 inducibility and caffeine-metabolism rate; the *1F allele links to higher inducible activity in some studies. Smoking and other inducers also strongly affect CYP1A2, so genotype is only part of the picture.",
      "validated_populations": ["broad"]
    }
  ],
  "citations": [
    { "source": "gwas_catalog", "version": "2026.05-sandbox" },
    { "source": "pharmgkb", "version": "2026.05-sandbox" }
  ],
  "interpretation_version": "2026.05.1",
  "safety": {
    "clinical_advice": false,
    "requires_clinician_review": true
  },
  "cost_cents": 5,
  "currency": "usd",
  "created_at": "2026-05-21T10:25:41.000Z"
}
The model should not provide clinical advice, dosing, prescriptions, or diagnosis. If a question asks for treatment guidance, the API responds with a boundary-setting answer that points back to clinician review.
Unsafe clinical request response
{
  "answer_id": "ans_refused_1",
  "genome_id": "gen_test_nutrition_001",
  "question": "What peptide and dose should this patient take?",
  "response_length": "medium",
  "answer": "I cannot recommend a peptide, dosage, or clinical protocol from genomic data. The genome can provide inherited pathway context that a licensed clinician may consider alongside labs, symptoms, medical history, and medications.",
  "structured_findings": [],
  "citations": [],
  "interpretation_version": "2026.05.1",
  "safety": {
    "clinical_advice": false,
    "requires_clinician_review": true,
    "refusal_reason": "treatment_recommendation"
  },
  "cost_cents": 5,
  "currency": "usd",
  "created_at": "2026-05-21T10:26:02.000Z"
}

Context Builder (advanced)

For teams building their own logic or AI on top of the genome. context/build returns one topic as structured JSON that is always identical for the same input — easy to cache, test, and feed into your own model as grounding.

Not sure if you need this? You probably don't. Panels give you finished, ready-to-show results, and Q&A gives plain-English answers. Reach for context only when you want raw, reproducible genome data to feed into your own systems or AI.

Advanced request

POST /v1/context/build
{
  "genome_id": "gen_test_nutrition_001",
  "domain": "nutrition",
  "detail_level": "standard"
}

Grounding artifact

Context artifact
{
  "context_id": "ctx_7v1a9k",
  "genome_id": "gen_test_nutrition_001",
  "domain": "nutrition_diet_response",
  "detail_level": "standard",
  "summary": "Genome gen_test_nutrition_001 context for nutrition_diet_response. Bounded structured findings are included, each with the user's result and what it means. This is biological context for software use, not clinical diagnosis.",
  "structured_findings": [
    {
      "id": "rs4988235",
      "title": "MCM6 rs4988235",
      "domain": "nutrition_diet_response",
      "evidence_level": "high",
      "summary": "Has one copy of G and one copy of A. The main lactase-persistence variant in European-ancestry populations; the persistence allele is associated with digesting dairy into adulthood.",
      "result": { "genotype": "GA", "alleles": ["G", "A"] },
      "result_label": "One copy of G and one copy of A",
      "meaning": "The main lactase-persistence variant in European-ancestry populations; the persistence allele is associated with digesting dairy into adulthood. Other persistence variants in African and Middle Eastern populations are not captured by this SNP.",
      "validated_populations": ["European"]
    }
  ],
  "citations": [
    { "source": "gwas_catalog", "version": "2026.05-sandbox" }
  ],
  "interpretation_version": "2026.05.1",
  "cost_cents": 5,
  "currency": "usd"
}

API Reference

The complete reference now has its own route at /reference. This summary keeps the everyday endpoints close to the guides.

Orders

GET/v1/orders

List recent orders.

Scope: orders:read

POST/v1/orders

Create a 30x sequencing order.

Scope: orders:write

GET/v1/orders/{orderId}

Read order status and activation details.

Scope: orders:read

GET/v1/orders/{orderId}/events

Read order lifecycle events.

Scope: orders:read

GET/v1/orders/{orderId}/files

Return signed links for completed deliverables.

Scope: orders:read

GET/v1/orders/{orderId}/shipment

Read shipment carrier and tracking data.

Scope: orders:read

Uploads

POST/v1/uploads/vcf

Upload an existing VCF directly (multipart).

Scope: uploads:write

POST/v1/uploads/vcf/complete

Finalize a signed VCF upload after the file is sent to storage.

Scope: uploads:write

POST/v1/uploads/vcf/initiate

Begin a signed (resumable) VCF upload for large files.

Scope: uploads:write

Conversions

POST/v1/conversions

Convert an uploaded VCF into a .genome bundle.

Scope: conversions:write

Genomes

GET/v1/genomes

List hosted genomes.

Scope: genomes:read

GET/v1/genomes/{genomeId}

Read hosted genome runtime metadata.

Scope: genomes:read

GET/v1/genomes/{genomeId}/bundle

Download a signed .genome bundle link.

Scope: genomes:read

GET/v1/genomes/{genomeId}/files

Return signed links for a hosted genome's files.

Scope: genomes:read

GET/v1/genomes/{genomeId}/manifest

Read the genome bundle manifest.

Scope: genomes:read

PATCH/v1/genomes/{genomeId}/retention

Change whether the genome is hosted or deleted.

Scope: genomes:write

Interpretations

GET/v1/genomes/{genomeId}/diffs/{range}

Compare two interpretation versions.

Scope: genomes:read

GET/v1/genomes/{genomeId}/interpretations/{version}

Read a specific interpretation version.

Scope: genomes:read

GET/v1/genomes/{genomeId}/interpretations/latest

Read the latest interpretation for a genome.

Scope: genomes:read

GET/v1/genomes/{genomeId}/interpretations/latest/artifact

Read the latest interpretation artifact.

Scope: genomes:read

POST/v1/genomes/{genomeId}/reinterpret

Queue a fresh interpretation for a genome.

Scope: genomes:write

Panels

GET/v1/genomes/{genomeId}/panels

List built panels for a genome.

Scope: contexts:read

POST/v1/genomes/{genomeId}/panels/{panelId}/build

Build a genetic insight panel for a genome.

Scope: contexts:write

GET/v1/genomes/{genomeId}/panels/{panelResultId}

Read a built panel result.

Scope: contexts:read

GET/v1/panels

List available genetic insight panel definitions.

Scope: contexts:read

GET/v1/panels/{panelId}

Read a single panel definition.

Scope: contexts:read

Q&A

GET/v1/genomes/{genomeId}/answers/{answerId}

Read a previously generated genome answer.

Scope: contexts:read

POST/v1/genomes/{genomeId}/ask

Ask a bounded natural-language question about a genome.

Scope: contexts:write

Context

GET/v1/context/{contextId}

Read a previously built context.

Scope: contexts:read

POST/v1/context/build

Build a bounded structured context for a genome (advanced).

Scope: contexts:write

Webhooks

GET/v1/webhooks

List registered webhook endpoints.

Scope: webhooks:read

POST/v1/webhooks

Register a lifecycle webhook endpoint.

Scope: webhooks:write

DELETE/v1/webhooks/{webhookId}

Disable a webhook endpoint.

Scope: webhooks:write

Usage

GET/v1/usage

List metered usage events.

Scope: usage:read

GET/v1/usage/rollups

List daily usage rollups (up to 90 days).

Scope: usage:read

Billing

GET/v1/billing/account

Read the billing account.

Scope: billing:read or usage:read

PATCH/v1/billing/account

Update the billing account.

Scope: billing:write

GET/v1/billing/balance-transactions

List billing balance transactions.

Scope: billing:read or usage:read

GET/v1/billing/periods

List billing periods.

Scope: billing:read or usage:read

GET/v1/billing/periods/{yearMonth}/charges

Read charges for a billing period.

Scope: billing:read or usage:read

POST/v1/billing/periods/{yearMonth}/finalize

Finalize a billing period into an invoice.

Scope: billing:write

POST/v1/billing/periods/{yearMonth}/generate

Generate charges for a billing period.

Scope: billing:write

API keys

GET/v1/api-keys

List API keys for the organisation.

Scope: api-keys:read

DELETE/v1/api-keys/{apiKeyId}

Revoke an API key.

Scope: api-keys:write

Staging

GET/v1/test/genomes

Seed and list the sandbox genome (staging keys only).

Scope: genomes:read

POST/v1/test/genomes/seed

Seed the sandbox genome (staging keys only).

Scope: genomes:write

POST/v1/test/orders/{orderId}/advance

Advance a sandbox order to a new status (staging keys only).

Scope: orders:write

Errors, Limits, and Retries

All API errors use a consistent error object. Treat 400-series errors as request or configuration problems unless explicitly marked retryable.

HTTPCodeMeaningClient action
400bad_requestInvalid JSON, missing required fields, unsupported status, or validation error.Fix request and retry.
401unauthorizedMissing, invalid, revoked, or environment-mismatched API key.Do not retry until credentials are fixed.
403insufficient_scopeAPI key does not have the required scope.Ask for a scoped key or change endpoint.
404not_foundOrder, genome, panel, webhook, or route does not exist for this organisation.Check ID and environment.
409conflictResource is in a state that cannot perform the requested action.Refresh state before retrying.
429rate_limit_exceededDefault API limit is 600 requests per minute per key. The response includes retryable=true and reset_ms.Back off and retry.
500internal_server_errorUnexpected server failure.Retry with backoff; contact support if repeated.

Standard shape

Error
{
  "error": {
    "code": "not_found",
    "message": "Genome not found."
  }
}

Retryable not-ready shape

Retry later
{
  "error": {
    "code": "genome_not_ready",
    "message": "Genome runtime is still being created. Retry after the genome.created webhook fires.",
    "retryable": true
  }
}

Rate limit (429) shape

reset_ms, retry_after, and limit are nested under details.

429 Too Many Requests
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Retry after 12 seconds.",
    "retryable": true,
    "details": {
      "limit": 600,
      "retry_after": "12 seconds",
      "reset_ms": 12000
    }
  }
}
Default rate limit is 600 requests per minute per key. List endpoints use a limit query parameter today; cursor pagination will be added before the lists become large.
EndpointPaginationNotes
GET /v1/orderslimit 1-100Newest first. Cursor pagination will be added before high-volume partner rollout.
GET /v1/genomeslimit 1-100Newest first, organisation-scoped.
GET /v1/usagelimit 1-500, event_typeNewest first with optional event type filtering.
Polling15-60 secondsPrefer webhooks for lifecycle changes; avoid aggressive order polling.

Webhooks

Use webhooks for order and runtime lifecycle events instead of polling aggressively.

Register endpoint

Register webhook
curl https://staging.api.genome.computer/v1/webhooks \
  -X POST \
  -H "Authorization: Bearer $GC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://api.acmehealth.com/webhooks/genome-computer",
    "event_types": [
      "order.sample_received",
      "order.lab_processing",
      "order.sequencing",
      "order.genome_bundle_generating",
      "order.completed",
      "order.failed"
    ]
  }'

Example payload

order.completed
{
  "id": "evt_7c991x",
  "type": "order.completed",
  "created_at": "2026-05-21T10:22:11.000Z",
  "data": {
    "order": {
      "order_id": "ord_01JZ8N8A4P2Y",
      "type": "wgs_30x",
      "status": "completed",
      "status_label": "Order completed",
      "genome_id": "gen_test_nutrition_001",
      "deliverables": ["genome_bundle"],
      "retention": "hosted_runtime"
    },
    "files_url": "https://api.genome.computer/v1/orders/ord_01JZ8N8A4P2Y/files"
  }
}

Verify the signature

Every delivery is signed as HMAC_SHA256(secret, timestamp.rawBody). Reject signatures older than five minutes.

Node.js verification
import crypto from "node:crypto";

function verifyGenomeComputerWebhook(req, rawBody, signingSecret) {
  const timestamp = req.headers["gc-webhook-timestamp"];
  const signature = req.headers["gc-webhook-signature"]?.replace("v1=", "");
  if (!timestamp || !signature) return false;

  const expected = crypto
    .createHmac("sha256", signingSecret)
    .update(`${timestamp}.${rawBody}`)
    .digest("hex");
  if (signature.length !== expected.length) return false;

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Genome-created payload

genome.created
{
  "id": "evt_2n81qa",
  "type": "genome.created",
  "created_at": "2026-05-21T10:24:13.000Z",
  "data": {
    "genome": {
      "genome_id": "gen_test_nutrition_001",
      "status": "active",
      "interpretation_version": "2026.05.1"
    }
  }
}

Interpretation-updated payload

interpretation.updated
{
  "id": "evt_93k1pa",
  "type": "interpretation.updated",
  "created_at": "2026-05-21T10:24:14.000Z",
  "data": {
    "genome_id": "gen_test_nutrition_001",
    "interpretation": {
      "interpretation_id": "int_8wq2m6",
      "version": "2026.05.1",
      "status": "ready",
      "summary": {
        "headline": "Synthetic nutrition and pharmacogenomics sandbox interpretation."
      },
      "created_at": "2026-05-21T10:24:14.000Z"
    }
  }
}
EventWhen it firesPayload
order.createdImmediately after an API sequencing order is accepted.order
order.payment_pendingWhen payment is pending before fulfillment.order
order.paidWhen payment has cleared.order
order.kit_preparingWhen the sequencing kit is being prepared.order
order.kit_shippedWhen fulfillment records outbound kit shipment.order, shipment
order.kit_deliveredWhen carrier tracking reports kit delivery.order, shipment
order.sample_registeredWhen the customer registers the sample.order
order.sample_returnedWhen return shipment is registered or received by carrier.order, shipment
order.sample_receivedWhen the lab receives the sample.order
order.lab_processingWhen lab processing begins.order
order.sequencingWhen sequencing is underway.order
order.bioinformatics_processingWhen bioinformatics processing starts.order
order.genome_bundle_generatingWhen the .genome bundle is being generated.order
order.completedWhen sequencing/conversion deliverables are ready.order, files_url
order.failedWhen fulfillment or processing fails.order
order.cancelledWhen the order is cancelled.order
conversion.completedWhen an uploaded VCF has produced a .genome bundle.conversion, genome_id
genome.createdWhen a genome is created after an order completes or a VCF conversion finishes — fires for both hosted and delivery-only genomes.order_id or conversion_id, genome
interpretation.updatedWhen a new interpretation version is attached.genome_id, interpretation
context.generatedWhen a context artifact is built successfully.context
panel.generatedWhen a genetic insight panel is built successfully.panel
Deliveries retry with exponential backoff from roughly one minute to one hour. Return any 2xx status to acknowledge receipt. Non-2xx, timeout, DNS, and TLS failures remain pending and are retried.
order.createdorder.payment_pendingorder.paidorder.kit_preparingorder.kit_shippedorder.kit_deliveredorder.sample_registeredorder.sample_returnedorder.sample_receivedorder.lab_processingorder.sequencingorder.bioinformatics_processingorder.genome_bundle_generatingorder.completedorder.failedorder.cancelledconversion.completedgenome.createdinterpretation.updatedcontext.generatedpanel.generated

Versioning and Changelog

The API is versioned at the path level. Partners should tolerate additive fields and pin integrations to /v1.

PolicyDetails
Current API/v1
Breaking changesIntroduced under a new version path when possible, with partner notice before migration.
Additive changesNew fields may appear in existing responses. Clients should ignore unknown fields.
DeprecationProduction partners receive a migration window before an endpoint or field is removed.

Billing

Production billing uses a monthly charge ledger. Raw usage remains auditable, but billing line items are the source of truth for what a client owes.

30x WGS$699/order
.genome conversion$99
Hosted runtime$5/mo
Context/panels/Q&A$0.05
Hosted genomes are charged once for any month in which the hosted runtime is enabled at any point. Genomes held only for the 30-day delivery/delete window are not charged as hosted runtimes.

Onboarding modes

card_on_file charges sequencing as an immediate line item and aggregates monthly usage. enterprise_prepaid starts prepaid credit and invoices overages. invoice_arrears bills all charges at month end.

Monthly ledger

Billing periods generate line items for sequencing orders, conversions, hosted genomes, context generations, panel generations, and genome Q&A.

Billing account

GET /v1/billing/account
{
  "mode": "enterprise_prepaid",
  "status": "active",
  "enterprise_upfront_credit_cents": 1000000,
  "credit_balance_cents": 842300,
  "invoice_terms_days": 30,
  "auto_charge": false
}

Monthly charges

GET /v1/billing/periods/2026-05/charges
{
  "billing_period": {
    "billing_period_id": "bper_k91t2z8p4m6q",
    "period_start": "2026-05-01",
    "period_end": "2026-06-01",
    "status": "finalized",
    "subtotal_cents": 417850,
    "line_item_count": 6
  },
  "totals_by_charge_type": {
    "sequencing_order": 139800,
    "hosted_genome": 4000,
    "panel_generation": 4500,
    "genome_question": 2250,
    "conversion": 267300
  },
  "data": [
    {
      "charge_type": "hosted_genome",
      "description": "Hosted genome runtime gen_123",
      "quantity": 1,
      "unit_price_cents": 500,
      "amount_cents": 500,
      "collection_mode": "monthly"
    }
  ]
}

Glossary

Plain-English definitions of the genomics and clinical terms used across these docs.

TermMeaning
30x WGSWhole genome sequencing where each base is read about 30 times on average.
.genomeThe canonical genome.computer bundle: structured genomic data, manifest, provenance, and interpretation-ready indexes.
VCFVariant Call Format. A file listing genetic variants compared with a reference genome.
FASTQRaw sequencing reads and quality scores. Useful for reprocessing, but not part of the standard genome.computer delivery bundle.
PGxPharmacogenomics: inherited variation that may affect medication metabolism, response, or safety.
Interpretation recordA lightweight database record describing the current interpretation version and status.
Interpretation artifactThe full structured interpretation output used by panels, Q&A, and advanced context artifacts.
PanelThe main structured interpretation product: user findings, observed result or score, result summary, interpretation, evidence strength, citations, limitations, and safety boundary.
ContextAdvanced: a reproducible, structured JSON summary of one genome topic. Built for your own systems or AI, not for direct display.