Skip to Content
ReferenceOverview

Reference

This section describes SeqDesk from the inside: the shape of the database, the layout of a running installation, and the HTTP endpoints you can call from a script instead of a browser. It is written for people who are integrating with SeqDesk, debugging it, or deciding whether it fits an existing infrastructure — not for people who are trying to submit an order.

Everything here is checked against the application source. Where a value is configurable, the page names the setting; where a value is derived, it names the code that derives it.

The mental model

There are two completely separate API surfaces, and confusing them is the most common source of wasted time:

seqdesk.org (public, read-only, unauthenticated) /api/registry ............ pipeline catalog + package payloads /api/registry/mixs ....... curated MIxS checklists /api/registry/sequencing-tech sequencing hardware catalog /api/version ............. latest release, consumed by the in-app updater │ your instance pulls from it (installs, syncs, update checks) your-host (your installation, session-authenticated) /api/orders, /api/studies, /api/samples ..... domain records /api/pipelines/** ........................... run control and monitoring /api/files/**, /api/orders/[id]/sequencing/** sequencing data /api/pipelines/weblog ....................... shared-secret webhook (no session)

The public endpoints are served by the seqdesk.org website and never see your data. The in-app endpoints only exist on your own host, sit behind a NextAuth session cookie, and are the ones that mutate anything.

Underneath both sits a single PostgreSQL database whose schema is defined in prisma/schema.prisma. Almost every API response is a projection of one or two models from that schema, so reading the Data Model first usually makes the API pages obvious.

Where to start

If you want to…Start here
Understand what a record means before querying itData Model
Know where files, settings, and the database live on diskArchitecture
Script order, sample, or pipeline operations against your instanceApp API
Mirror or extend the public pipeline catalogPipeline Registry API
Publish your own sequencing-hardware catalogSequencing Technology API

A naming trap worth reading once

The database model called Order is labelled Sequencing Order in the user interface. The model called SequencingRun is something else entirely — the physical run on the sequencer, with its barcode-to-sample assignment and QC metrics. One sequencing order contains zero or more sequencing runs.

The rename was display-text only, so every identifier you will meet in the API and the schema stays Order, orderId, orderNumber, /api/orders. Do not translate one into the other when reading these pages.

What this section is not

Reference pages describe mechanisms, not workflows. If you are looking for the task-oriented version: