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", "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
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
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
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" }