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/VCF/FASTQ 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 raw genome data files: .genome, VCF, and FASTQ.
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, genotype or score, meaning, 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_received
6lab_processing
7sequencing
8bioinformatics_processing
9completed

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_micronutrients/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. GET /v1/genomes/{genome_id}/interpretations/latest
  3. POST /v1/genomes/{genome_id}/panels/nutrition_micronutrients/build
  4. POST /v1/genomes/{genome_id}/ask — optional, plain-English explanation

What you get back

A panel with a plain-language summary and a list of sections. Each section holds the user's actual finding, an evidence level, citations, and limitations.

What your app shows

Render each section as an insight card (title, finding, evidence level, citations). Skip raw variant tables unless your product is built for experts.

Real example

POST /v1/genomes/{genome_id}/panels/nutrition_micronutrients/build
{
  "panel_id": "nutrition_micronutrients",
  "summary": "Folate processing, caffeine response, and lactose persistence for this genome.",
  "sections": [
    {
      "title": "Folate & methylation",
      "user_findings": "MTHFR C677T (rs1801133): one copy, moderately reduced enzyme activity.",
      "evidence_level": "moderate",
      "citations": ["ClinVar"],
      "limitations": "Not a diagnosis. Does not measure folate levels."
    }
  ]
}

The goal

A PGx dashboard for a clinic

Give clinicians medication-response markers, ready for review.

Steps

  1. POST /v1/orders with retention=hosted_runtime
  2. Wait for the genome.created webhook
  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 that groups the user's markers by gene and drug-response area, each with an evidence level and a clinical boundary.

What your app shows

A clinician dashboard: gene rows 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_id": "pharmacogenomics_safety",
  "sections": [
    {
      "gene": "CYP2C19",
      "drug_response_area": "Clopidogrel, some SSRIs",
      "user_findings": "*1/*2 — intermediate metabolizer.",
      "evidence_level": "high",
      "clinical_boundary": "Clinician review required before any prescribing change."
    }
  ]
}

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/cardiovascular_safety/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",
  "interpretation_version": "2026.05.1",
  "generated_at": "2026-05-21T10:24:13Z",
  "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/inflammation_recovery/build
  4. POST /v1/genomes/{genome_id}/panels/connective_tissue_repair/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>
      <p>{section.summary}</p>
      <p>{section.interpretation}</p>
      <ul>
        {section.user_findings.map((finding) => (
          <li key={finding.variant_id}>
            <strong>{finding.gene}</strong> {finding.user_result}:{" "}
            {finding.interpretation}
          </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.

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, for example orders:read or webhooks:write.
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.
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", "vcf", "fastq"],
    "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 integrations
WindowDuplicate keys return the original order for at least 24 hours
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

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_id": "ACT-7HD2-9QK4",
  "activation_url": "https://sample.bio/activate/ACT-7HD2-9QK4",
  "deliverables": ["genome_bundle", "vcf", "fastq"],
  "retention": "hosted_runtime",
  "price_cents": 69900,
  "currency": "usd"
}

File delivery response

JSON
{
  "order_id": "ord_01JZ8N8A4P2Y",
  "status": "completed",
  "expires_at": "2026-05-21T12:30:00.000Z",
  "files": [
    {
      "type": "genome_bundle",
      "filename": "gen_test_nutrition_001.genome.zip",
      "url": "https://signed-download-url.example/..."
    },
    {
      "type": "vcf",
      "filename": "gen_test_nutrition_001.vcf.gz",
      "url": "https://signed-download-url.example/..."
    },
    {
      "type": "fastq",
      "filename": "gen_test_nutrition_001_R1.fastq.gz",
      "url": "https://signed-download-url.example/..."
    }
  ]
}

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.

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 is the product-ready interpretation layer. It runs a curated use-case definition against the hosted genome and returns the user's relevant variants, PGx markers, scores, interpretation text, evidence level, citations, and safety boundaries.

What it returns

Render sections as evidence summaries: the user's genotype or score, the panel-specific meaning, evidence basis, citations, limitations, and a clear boundary against diagnosis or treatment guidance.

Panel build response
{
  "panel_result_id": "pan_9y2m1q",
  "panel_id": "nutrition_micronutrients",
  "genome_id": "gen_test_nutrition_001",
  "interpretation_version": "2026.05.1",
  "summary": "This panel found user-specific nutrition and metabolic context with moderate evidence. It is suitable for an evidence summary card, not diagnosis or treatment advice.",
  "sections": [
    {
      "title": "Metabolic Context",
      "summary": "1 user-specific finding relevant to glucose handling.",
      "interpretation": "For this user, TCF7L2 rs7903146 CT is relevant to glucose handling and diet-adjacent metabolic context.",
      "evidence_level": "moderate",
      "user_findings": [
        {
          "gene": "TCF7L2",
          "variant_id": "rs7903146",
          "user_result": "CT",
          "interpretation": "The user carries one T allele at rs7903146, a common variant associated with glucose and type 2 diabetes risk in population studies.",
          "relevance": "Useful as inherited metabolic context alongside diet, labs, history, and clinician review.",
          "evidence_basis": "Moderate evidence based on GWAS Catalog and gnomAD."
        }
      ]
    }
  ],
  "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 glucose, insulin sensitivity, diet, or symptoms.",
    "This panel does not diagnose diabetes or recommend a nutrition protocol."
  ],
  "clinical_boundary": "Use as inherited context for education and clinician review. Do not present as diagnosis, treatment, or dosing guidance."
}

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.

PX

Peptide Pathway Context

peptide_pathway_context

Metabolism, inflammation, recovery, tissue repair, cardiovascular safety, endocrine pathways, and PGx context.

Help a clinician-facing app explain inherited pathway context before peptide decisions.

MH

Metabolic Health

metabolic_health

Glucose handling, insulin signaling, lipid metabolism, body composition, and energy balance.

Power metabolic profile cards for nutrition and longevity products.

IR

Inflammation and Recovery

inflammation_recovery

Inflammatory signaling, oxidative stress, immune tone, endurance, and recovery-adjacent traits.

Support recovery, training, and protocol-personalization workflows.

CT

Connective Tissue Repair

connective_tissue_repair

Collagen, extracellular matrix, tendon, ligament, and wound-repair pathway context.

Surface inherited tissue repair context without making treatment claims.

CV

Cardiovascular Safety

cardiovascular_safety

Lipid transport, cardiometabolic context, medication-response markers, and safety signals.

Add safety context before apps discuss intensive interventions.

HE

Hormone and Endocrine

hormone_endocrine

Hormone-binding, endocrine signaling, thyroid-adjacent, and stress-axis genetic context.

Show inherited endocrine pathway context alongside labs and symptoms.

PGx

Pharmacogenomics Safety

pharmacogenomics_safety

CYP, transporter, guideline-linked, and medication safety markers.

Build medication response dashboards and clinician review queues.

NM

Nutrition and Micronutrients

nutrition_micronutrients

Folate, methylation, caffeine response, lactose persistence, and diet-adjacent traits.

Create nutrition intelligence cards with evidence boundaries.

LA

Longevity and Healthy Aging

longevity_healthy_aging

Cardiometabolic, inflammation, recovery, lipid transport, and age-related pathway context.

Combine multiple panels into a longitudinal healthy-aging profile.

Genome Q&A

Ask a genome a question in plain English and get a plain-English answer back. You send the question; we handle the AI and the safety rules behind the scenes.

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": "How should my app explain peptide-related genetic context?",
  "response_length": "medium"
}

Natural-language answer

Response
{
  "answer_id": "ans_4az91r",
  "genome_id": "gen_test_nutrition_001",
  "response_length": "medium",
  "answer": "This genome can support peptide-related decision making indirectly. The relevant genetic context is around metabolic handling, inflammation and recovery pathways, connective tissue repair, cardiovascular safety, endocrine signaling, and medication response. It should be presented as inherited pathway context for clinician review, not as a peptide prescription, deficiency assessment, or yes/no treatment recommendation.",
  "citations": [
    {
      "source": "interpretation_artifact",
      "version": "2026.05.1"
    }
  ],
  "safety": {
    "clinical_advice": false,
    "requires_clinician_review": true
  },
  "usage": {
    "input_tokens": 2190,
    "output_tokens": 142,
    "model_name": "gpt-5.5"
  }
}
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",
  "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.",
  "safety": {
    "clinical_advice": false,
    "refusal_reason": "treatment_recommendation"
  }
}

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.

Request

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

Response

Context artifact
{
  "context_id": "ctx_7v1a9k",
  "genome_id": "gen_test_nutrition_001",
  "domain": "nutrition",
  "detail_level": "standard",
  "summary": "Nutrition context includes folate handling, caffeine response, lactose persistence, lipid metabolism, and selected cardiometabolic markers.",
  "structured_findings": [
    {
      "id": "nutr_folate_mthfr",
      "title": "Folate and methylation context",
      "evidence_level": "moderate",
      "genes": ["MTHFR", "MTR", "MTRR"],
      "client_display": "Show as inherited folate-pathway context, not as a diagnosis or supplement instruction."
    }
  ],
  "citations": [
    {
      "source": "ClinVar",
      "accessed_at": "2026-05-20",
      "url": "https://www.ncbi.nlm.nih.gov/clinvar/"
    }
  ],
  "interpretation_version": "2026.05.1"
}

API Reference

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

Orders and delivery files

POST/v1/orders

Create a 30x sequencing order.

GET/v1/orders

List recent orders.

GET/v1/orders/{order_id}

Read order status and activation details.

GET/v1/orders/{order_id}/events

Read order lifecycle events.

GET/v1/orders/{order_id}/shipment

Read shipment carrier and tracking data.

GET/v1/orders/{order_id}/files

Return signed links for completed deliverables.

Uploads, conversions, and genomes

POST/v1/uploads/vcf

Upload an existing VCF.

POST/v1/conversions

Convert an uploaded VCF into a .genome bundle.

GET/v1/genomes

List hosted genomes.

GET/v1/genomes/{genome_id}

Read hosted genome runtime metadata.

GET/v1/genomes/{genome_id}/bundle

Download a signed .genome bundle link.

PATCH/v1/genomes/{genome_id}/retention

Change whether the genome is hosted or deleted.

Interpretations, panels, Q&A, and advanced context

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

Read the latest interpretation record.

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

Read the full underlying interpretation artifact.

GET/v1/panels

List genetic insight panel definitions.

POST/v1/genomes/{genome_id}/panels/{panel_id}/build

Build a curated genetic insight panel.

POST/v1/genomes/{genome_id}/ask

Ask a bounded natural-language genome question.

POST/v1/context/build

Advanced: build deterministic structured context.

Webhooks, usage, and staging controls

POST/v1/webhooks

Register lifecycle webhook endpoints.

GET/v1/webhooks

List webhook endpoints.

DELETE/v1/webhooks/{webhook_id}

Disable a webhook endpoint.

GET/v1/usage

Inspect metered events.

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

Advance a staging-only sandbox order.

POST/v1/test/genomes/seed

Seed the synthetic staging genome fixture.

GET/v1/test/genomes

List seeded synthetic staging genomes.

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.
403forbiddenAPI 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.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
  }
}
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-100, 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.completed", "genome.created", "panel.generated"]
  }'

Example payload

order.completed
{
  "id": "evt_7c991x",
  "type": "order.completed",
  "created_at": "2026-05-21T10:22:11.000Z",
  "data": {
    "order_id": "ord_01JZ8N8A4P2Y",
    "genome_id": "gen_test_nutrition_001",
    "deliverables": ["genome_bundle", "vcf", "fastq"],
    "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"
    }
  }
}
EventWhen it firesPayload
order.createdImmediately after an API sequencing order is accepted.order
order.kit_shippedWhen fulfillment records outbound kit shipment.order, shipment
order.kit_deliveredWhen carrier tracking reports kit delivery.order, shipment
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.completedWhen sequencing/conversion deliverables are ready.order, genome_id, files_url
conversion.completedWhen an uploaded VCF has produced a .genome bundle.conversion, genome_id
genome.createdWhen a hosted genome runtime is created.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.kit_shippedorder.kit_deliveredorder.sample_returnedorder.sample_receivedorder.lab_processingorder.completedconversion.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

Staging records metered events for testing. Production usage is billable under the organisation pricing configured during onboarding.

30x WGS$699/order
.genome conversion$99
Hosted runtime$3/mo
Context/panels/Q&A$0.02
Contexts, panels, and Q&A are billed per successful generation, not per token. Internally we still record model name, input tokens, output tokens, cost, and latency for margin monitoring.

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 much heavier than a VCF or .genome 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, actual result or score, meaning, 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.