---
title: "Unknown plasmid: what is it and what do I plate on"
method: POST
path: "/plasmid_dossier"
tags: ["Enzymes & cloning"]
---

# Unknown plasmid: what is it and what do I plate on

`POST /plasmid_dossier`

## Request

- Base URL: `https://seqbench.com/api/v1`
- URL: `https://seqbench.com/api/v1/plasmid_dossier`
- Auth: none required

Answer the question someone holding an unlabelled tube actually has, rather than returning another feature list: which antibiotic to select on, which host will carry it and at roughly what copy number, which curated backbone it resembles, and what on it will bite you later (duplicate markers, two origins for the same host, internal Type IIS sites that stop it being a Golden Gate part, long direct repeats a recA+ host can recombine out). Reads features from an annotated GenBank record when you paste one, otherwise runs the built-in signature scan. EVERY ABSENCE TRAVELS WITH THE VOCABULARY IT WAS DECIDED AGAINST: an empty marker list means nothing matched the families this screen knows, never that the plasmid cannot be selected — run plasmid_deep_annotate, whose library is far larger, before concluding that.

## Request body

- object
  - `sequence` string, required: Nucleotide sequence (raw or FASTA; IUPAC accepted).
  - `circular` boolean: Treat the query as a circular molecule (most plasmids are).
  - `minRepeatLength` integer: Shortest direct repeat (bp) to raise as a recombination hazard. Below ~20 bp chance matches multiply and recombination has little to work with.
  - `goldenGateEnzymes` string[]: Type IIS enzymes you intend to assemble with (e.g. ["BsaI"]). Internal sites are ALWAYS reported in typeIISSites — random sequence carries them and so does nearly every real plasmid — but they only become a hazard for an enzyme named here, so the hazard list stays worth reading.

## Response `200`

Tool ran successfully.

- SuccessResponse: Standard success envelope returned by every single-tool call.
  - `ok` unknown, required
  - `tool` string, required: The tool slug that ran.
  - `result` object, required: Tool-specific output object. Its shape depends on the tool — call `GET /{tool}` or see the docs for each tool's fields.
  - `gate` GateResult
    - `pass` boolean, required: True if and only if every hard check passed.
    - `checks` GateCheck[], required
      - `id` string, required
      - `label` string, required
      - `severity` 'hard' | 'soft', required
      - `pass` boolean, required
      - `message` string, required
      - `value` number
      - `threshold` string
    - `notChecked` string[], required: Honest list of what this gate does NOT verify.
  - `provenance` Provenance, required
    - `apiVersion` string, required
    - `tool` union, required: Tool slug, or an array of slugs (one per step) for a workflow.
      - string
      - string[]
    - `generatedAt` string, date-time, required: ISO 8601 timestamp of when the result was generated.

## Other responses

- `400`: Invalid argument or the tool could not run.
- `404`: Unknown tool.
- `429`: Rate limited (metered tools only). Body carries code `rate_limited` and retryable `true`; honor the Retry-After header.
- `503`: A metered tool is momentarily at capacity. The identical request should succeed after Retry-After; body carries code `upstream_unavailable`.

---

[API](https://skmtc.dev/seqbench/apis/seqbench-api.md) · [All operations](https://skmtc.dev/seqbench/apis/seqbench-api/llms.txt) · [OpenAPI document](https://skmtc.dev/seqbench/apis/seqbench-api/revisions/132575216865?raw)
