Skip to Content
ReferenceSequencing Technology API

Sequencing Technology API

SeqDesk maintains a curated registry of supported sequencing technologies: platforms, devices, flow cells, kits, barcode metadata, and software.

There are two related but different use cases:

  • Query your local SeqDesk instance for data that has already been synced and filtered for users
  • Provide a custom remote registry endpoint that SeqDesk can consume from the admin UI

Base URL

  • Public: https://seqdesk.com/api
  • Self-hosted: https://<your-host>/api

Endpoints

MethodPathPurpose
GET/registry/sequencing-techFull registry dataset suitable as a sync source
GET/sequencing-techLocal available-data view used by the order form

Local Available Data

On a SeqDesk instance, GET /api/sequencing-tech returns the currently stored configuration after local filtering:

  • technologies and devices with available: true
  • technologies and devices not marked comingSoon
  • available flow cells, kits, and software
  • barcode schemes and barcode sets as stored locally
curl -s https://<your-host>/api/sequencing-tech

Response shape:

{ "technologies": [ { "id": "ont-minion", "name": "MinION", "manufacturer": "Oxford Nanopore", "shortDescription": "Portable nanopore sequencing platform", "platformFamily": "oxford-nanopore", "readLengthClass": "long", "supportedReadLayouts": ["single"], "specs": [{ "label": "Read length", "value": "real-time" }], "pros": [{ "text": "Portable" }], "cons": [{ "text": "Lower per-run throughput than PromethION" }], "bestFor": ["Rapid turnaround"], "available": true, "order": 10 } ], "devices": [ { "id": "ont-minion-mk1d", "platformId": "ont-minion", "name": "MinION Mk1D", "manufacturer": "Oxford Nanopore", "productOverview": "Portable nanopore sequencer", "shortDescription": "Portable nanopore sequencing device", "specs": [], "compatibleFlowCells": ["flo-min114"], "compatibleKits": ["sqk-lsk114"], "compatibleSoftware": ["minknow"], "available": true, "order": 10 } ], "flowCells": [], "kits": [], "software": [], "barcodeSchemes": [], "barcodeSets": [] }

Field Reference

FieldTypeDescription
technologiesarrayAvailable platform definitions
devicesarrayAvailable devices linked by platformId
flowCellsarrayAvailable flow cells
kitsarrayAvailable kits
softwarearrayAvailable software
barcodeSchemesarrayOptional barcode scheme metadata
barcodeSetsarrayOptional barcode-set metadata

Full Registry / Sync Source

curl -s https://seqdesk.com/api/registry/sequencing-tech

This endpoint returns the full registry dataset and is the same contract that SeqDesk accepts when you configure a custom sync URL in Admin → Sequencing Technology.

SeqDesk accepts either:

{ "config": { "version": 6, "technologies": [] } }

or the raw config object directly.

Response shape:

{ "version": 6, "technologies": [], "devices": [], "flowCells": [], "kits": [], "software": [], "barcodeSchemes": [], "barcodeSets": [] }

Required Fields

FieldTypeDescription
versionintegerRegistry version used for update detection
technologiesarrayPlatform definitions; this is the only required collection

Common Collections

FieldTypeNotes
devicesarrayDevice entries linked to a platform with platformId
flowCellsarrayFlow cells linked from devices[].compatibleFlowCells
kitsarrayKits linked from devices[].compatibleKits
softwarearraySoftware linked from devices[].compatibleSoftware
barcodeSchemesarrayOptional barcode scheme metadata
barcodeSetsarrayOptional barcode set metadata

Important Object Fields

Each platform in technologies[] should include:

FieldTypeDescription
idstringStable unique identifier
namestringDisplay name
manufacturerstringVendor or platform owner
shortDescriptionstringShort summary used in UI
platformFamilystringCompatibility family used by pipeline gating
readLengthClassstringshort, long, both, or unknown
supportedReadLayoutsarraySupported read layouts, e.g. single, paired
specsarrayTechnical specs as { label, value, unit? }
prosarrayBenefit bullets as { text, tooltip? }
consarrayLimitation bullets as { text, tooltip? }
bestForarrayUse-case labels
availablebooleanLocal instances can still override this
comingSoonbooleanWhen true, the platform is excluded from GET /api/sequencing-tech (preview/teaser only)
orderintegerDisplay order

Each device in devices[] should include:

FieldTypeDescription
idstringStable unique identifier
platformIdstringMust match a technologies[].id
namestringDisplay name
manufacturerstringVendor
productOverviewstringLonger description
shortDescriptionstringShort summary
specsarrayTechnical specs
compatibleFlowCellsarrayFlow-cell IDs
compatibleKitsarrayKit IDs
compatibleSoftwarearraySoftware IDs
availablebooleanWhether the item should be selectable by default
comingSoonbooleanWhen true, the device is excluded from GET /api/sequencing-tech
orderintegerDisplay order

Caching and CORS

  • The public seqdesk.com endpoints use CDN caching: s-maxage=300, stale-while-revalidate=600.
  • Custom registry sync in the app is a simple server-side GET with Accept: application/json.
  • SeqDesk does not send authentication headers to a custom registry URL.

Update Detection and Merging

When SeqDesk checks a custom registry for updates:

  • It compares the remote version against the local version.
  • It also treats newly introduced IDs as updates, even if the version was not bumped.
  • Existing items are merged by id.
  • Items with localOverrides: true keep their local values.
  • For items without local overrides, SeqDesk still preserves the local available flag.

Error Responses

If a local instance cannot load or fetch sequencing technology data, the API returns 500:

{ "error": "Failed to fetch technologies" }