Documentation menu
API reference
RSFQ logic
https://api.cogitan.ai/v1/fluxus; a local engine serves the same route under /api. GET routes are free on the hosted API; every POST consumes one call of quota./v1/fluxus/chip/analyze
engine path /api/chip/analyze · metered
Combined chip analysis: ONE call -> verify + timing + yield + bias.
What it does, in full
Combined chip analysis: ONE call -> verify + timing + yield + bias.
The PRIMARY endpoint for the unified chip-analysis UI. Bundles all four sub-analyses over the same composed circuit, each keeping its own source / confidence / caveats. Yield is timing-gated only when the nominal timing analysis closed. If a sub-analysis errors, its slot carries {"error": {...}} and the others still return -- the call never 500s on a sub-failure (only a malformed top-level request is a 400). Sync def so the (CPU-bound) engines run in the threadpool.
Request
Body: ChipAnalyzeRequest
Combined chip analysis: one call bundling verify + timing + yield + bias.
The PRIMARY endpoint for the unified chip-analysis UI.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/chip/analyze" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}], "n_trials": 200, "seed": 1}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/bias
engine path /api/chip/bias · metered
First-order RSFQ bias-network sizing for a composed circuit.
What it does, in full
First-order RSFQ bias-network sizing for a composed circuit.
Reads every standing DC bias source in the merged deck and reports total + per-cell bias current, resistor-bias sizing (Rb = Vsupply/Ibias), and an honest static-power figure with the ERSFQ/eSFQ zero-static-power note. Returns the engine contract incl. source / caveat (HONEST: first- order, NOT a routed/extracted bias network). Bad input -> 400 envelope.
Request
Body: ChipBiasRequest
First-order RSFQ bias-network sizing for a composed circuit.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/chip/bias" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/extract
engine path /api/chip/extract · metered
Emit an extraction-ready handoff manifest for a real extractor.
What it does, in full
Emit an extraction-ready handoff manifest for a real extractor.
The HONEST path to real inductances: a human/tool-readable manifest of the composed circuit's instances + wires for InductEx/FastHenry on the laid-out GDS, rather than a faked field solve. Returns {manifest}; bad input -> 400 envelope.
Request
Body: ChipExtractRequest
Extraction-ready handoff manifest for a real inductance extractor.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/chip/extract" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "u0", "name": "jtl"}], "wires": []}'No CLI command answers this route.
Example body: one jtl cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/margin
engine path /api/chip/margin · metered
Assembled GLOBAL bias-rail (and Ic) margin for a composed passive circuit.
What it does, in full
Assembled GLOBAL bias-rail (and Ic) margin for a composed passive circuit.
A real chip shares ONE bias rail across every cell, so the band that matters at tapeout is where the WHOLE composed chain still works -- always tighter than any single cell, and pinned by whichever stage gives out first. Walks one global scale on every standing bias source (and, by default, every JJ Ic), re-judging the end-to-end functional verdict, and returns the assembled band + the limiting stage + honest caveats. Passive dataflow only; a clocked circuit returns supported: False (HTTP 200). Sync def so the (CPU-bound) margin walk runs in the threadpool. Bad input -> 400 envelope.
Request
Body: ChipMarginRequest
Assembled global bias-rail (and Ic) margin for a composed passive circuit.
Walks ONE shared scale on every bias source out from nominal until the WHOLE chain stops working, reporting the assembled band and the limiting stage.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/chip/margin" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/parasitics
engine path /api/chip/parasitics · metered
First-order inductance ESTIMATE for one wire / route segment.
What it does, in full
First-order inductance ESTIMATE for one wire / route segment.
L = Ls_per_sq * (length/width) squares rule on a process sheet inductance. geometry is a length in um (number) or a {length_um, width_um?, n_squares?} dict; process is a process-registry name (the same record /api/process serves; an unknown name is a 400 unknown_process, never a silent default) or an override dict. Returns L_pH + sheet_L_status + the method / caveat that say this is an order-of-magnitude estimate, NEVER extraction. Bad input -> 400 envelope.
Request
Body: ChipParasiticsRequest
First-order inductance ESTIMATE for one wire / route segment.
geometry is a length in microns (number) or a {length_um, width_um?, n_squares?} dict; process is a preset name or an override dict.
Example
curl -s "$FLUXUS_API/chip/parasitics" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"geometry": {"length_um": 100, "width_um": 1}}'No CLI command answers this route.
Example body: a 100 um by 1 um wire
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/process-compare
engine path /api/chip/process-compare · metered
Assembled bias margin of the SAME chip retargeted across fab processes.
What it does, in full
Assembled bias margin of the SAME chip retargeted across fab processes.
Retargets the composed netlist to each named process (JJ model swap + junction-area renorm to hold the design Ic) and recomputes the assembled bias band (coarse, bias-only). The margin shift across nodes reflects each process's IcRn / gap / specific-capacitance differences plus an un-reoptimized design. Passive dataflow only. Sync def (CPU-bound margin walks run in the threadpool). Bad input -> 400 envelope.
Request
Body: ChipProcessCompareRequest
Assembled bias margin of the same chip across several fab processes.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/chip/process-compare" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/processes
engine path /api/chip/processes · free
List the literature-anchored RSFQ process records (for the UI selector).
What it does, in full
List the literature-anchored RSFQ process records (for the UI selector).
Each record carries its source / confidence / caveat (the honesty contract) verbatim -- these are order-of-magnitude ANCHORS, not fab-calibrated PDK data.
Request
No parameters.
Example
curl -s "$FLUXUS_API/chip/processes" -H "Authorization: Bearer $COGITAN_API_KEY"No CLI command answers this route.
Example body: no parameters
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/validate-point
engine path /api/chip/validate-point · metered
Three-way operating-point validation: surrogate vs analytic vs JoSIM.
What it does, in full
Three-way operating-point validation: surrogate vs analytic vs JoSIM.
The trust handle: pick an operating point (global bias_factor / ic_factor on the shared rail + JJ Ic) and get, side by side, the FAST surrogate verdict, the EXACT analytic verdict, and REAL JoSIM on the SAME flattened deck (degrading cleanly to available: False when no JoSIM binary is installed), with agreement flags. Scaled points are passive-only; clocked circuits validate at nominal. A missing JoSIM binary is a clean 200 (agreement exact_vs_josim: None); only a malformed request is a 400, including a custom-cell cir with a file-touching JoSIM directive (refused before JoSIM runs, see josim_confirm.check_deck). Sync def so the (subprocess + CPU) work runs in the threadpool.
Request
Body: ChipValidatePointRequest
Three-way validation at ONE operating point: surrogate vs analytic vs JoSIM.
Scales the composed deck to (bias_factor, ic_factor) and reports the fast surrogate verdict, the exact analytic verdict, and (when a JoSIM binary is present) real JoSIM on the SAME flattened deck, with agreement flags.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/chip/validate-point" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/chip/yield
engine path /api/chip/yield · metered
Chip-level RSFQ yield by analytic Monte Carlo over a composed circuit.
What it does, in full
Chip-level RSFQ yield by analytic Monte Carlo over a composed circuit.
Under per-junction Ic (area) + per-inductor L Gaussian process variation, what fraction of dies keep EVERY cell functional end to end? This is the CORRECT RSFQ-logic yield model and REPLACES the misapplied transmon frequency-collision model for RSFQ layouts. Returns yield_fraction, per-cell pass rates, limiting cell(s), and intact source / caveats (HONEST: analytic-engine yield over a process-variation MODEL, not fab- measured). Sync def so the (CPU-bound) Monte Carlo runs in the threadpool. Bad input -> 400 envelope.
Request
Body: ChipYieldRequest
Chip-level RSFQ yield by analytic Monte Carlo over a composed circuit.
This is the CORRECT RSFQ-logic yield model (it replaces the misapplied transmon frequency-collision model for RSFQ layouts).
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/chip/yield" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}], "n_trials": 200, "seed": 1}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/circuit/deck
engine path /api/circuit/deck · metered
Export the composed circuit as a JoSIM-runnable .cir deck.
What it does, in full
Export the composed circuit as a JoSIM-runnable .cir deck.
The honest handoff: every instance's bare cell is built, nets/designators prefixed per instance, wired ports unified, and the whole thing emitted as one deck behind a single shared jmitll model. driven (default True) adds the same stimulus + .tran / .print the analytic verify uses, so JoSIM runs the identical experiment. Returns {deck, driven, format}; bad input -> 400 envelope. format="wrspice" translates the same deck to WRspice (see /api/sfq/cir).
Request
Body: CircuitDeckRequest
JoSIM-ready .cir export of a composed circuit (the honest handoff).
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/circuit/deck" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/circuit/josim
engine path /api/circuit/josim · metered
Confirm a composed circuit (or raw deck) against REAL JoSIM.
What it does, in full
Confirm a composed circuit (or raw deck) against REAL JoSIM.
Accepts either cells (+ optional wires) -- the driven deck is built via composed_deck_cir -- or a raw deck string (wins if supplied). Shells out to a JoSIM binary under a hard timeout when one is on PATH / FLUXUS_JOSIM; otherwise degrades cleanly to available: False / source: "analytic". NEVER hangs and NEVER 500s when JoSIM is absent. A deck using a file-touching directive (.include, .file, .iv, .control, a cus(...) source, or any directive off the allowlist in josim_confirm.check_deck) is refused with a 400 naming it, before JoSIM runs. binary is the bare executable name, never its path. Returns the josim_confirm contract plus josim_available; the confirmed deck text comes back only when JoSIM ran (otherwise deck_withheld names /api/circuit/deck). timeout_s above JOSIM_TIMEOUT_MAX_S (the request budget) is a 422. Sync def so the (subprocess-bound) call runs in the threadpool.
Request
Body: CircuitJosimRequest
Confirm a composed circuit OR a raw deck against real JoSIM.
Supply either cells (+ optional wires) -- the driven deck is built and confirmed -- or a raw deck string (wins if both are present). Degrades cleanly to available: False when no JoSIM binary is installed; never hangs (hard subprocess timeout) and never 500s.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/circuit/josim" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/circuit/timing
engine path /api/circuit/timing · metered
Analytic (nominal-inductance) timing analysis of a composed circuit.
What it does, in full
Analytic (nominal-inductance) timing analysis of a composed circuit.
Composes the cells+wires, drives + simulates once on the analytic engine, and reports per-path propagation delay, clock arrival + worst-case skew, per-stage setup/hold margins, fmax (passive circuits only; refused with a caveat when clocked cells are present), and a closure verdict against the optional clock_period_ps. A stage that should fire and did not is a violation, so a dead circuit never closes. Returns the engine's stable contract incl. source / confidence / caveats (HONEST: nominal, NOT post-layout). Interconnect delay is added only for wires given a length_um: each becomes a PTL hop of driver + length / v + receiver, with v from the stripline geometry, eps_r and the London depth (fluxus.sfq.ptl, Swihart 1961), reported under ptl and in each path's ptl_delay_ps. Bad input -> 400 envelope.
Request
Body: CircuitTimingRequest
Analytic (nominal-inductance) timing analysis of a composed circuit.
A wire may carry length_um (and driver_delay_ps / receiver_delay_ps) to make it a PTL hop; ptl sets the line.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Object: PTLConfig
PTL line for wires that carry length_um (see fluxus.sfq.ptl).
eps_r is required whenever a wire has a length: no process record in the repository carries a dielectric constant. Geometry defaults to the process record's wiring stack (mitll_sfq5ee: M6 between M4 and M7, Tolpygo et al. 2021); any field given here overrides it. Driver and receiver junction delays have no default; give them here or per wire.
Example
curl -s "$FLUXUS_API/circuit/timing" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/circuit/verify
engine path /api/circuit/verify · metered
Compose wired RSFQ cells into ONE netlist and verify it end-to-end.
What it does, in full
Compose wired RSFQ cells into ONE netlist and verify it end-to-end.
Builds each cell's bare graph, prefixes its nets by instance id, unifies wired ports into shared nodes, merges into a single deck behind one shared jmitll model, drives the detected input with a single SFQ pulse, and simulates on the analytic SPICE engine to confirm the pulse propagates stage-to-stage to the output. Returns per-stage slip counts, the end-to-end output pulse count, the input->output propagation delay, and a functional verdict. Un-clocked SFQ dataflow (jtl / splitter / custom) composes; clocked cells (dff / and2 / or2) are scoped out of v1 with a clear note. Sync def so the (CPU-bound) engine runs in the threadpool. Bad input (no cells, malformed wires, unknown cells/ports, clocked cells) yields a 400 with the structured error envelope.
Request
Body: CircuitVerifyRequest
Compose wired cells into one netlist and verify it end-to-end.
cells are the placed instances; wires connect them as {"from": [cellId, port], "to": [cellId, port]}. The service composes the full deck, drives the detected input with one SFQ pulse, and checks the pulse propagates stage-to-stage to the output on the analytic SPICE engine.
Object: CircuitCell
One placed cell instance in a circuit-verify request.
name selects the cell type (jtl / splitter / custom); params overrides its spec knobs. A custom cell additionally supplies cir (raw netlist) and ports (logical port name -> net name in that netlist).
Example
curl -s "$FLUXUS_API/circuit/verify" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cells": [{"id": "J1", "kind": "sfq", "name": "jtl", "params": {}}, {"id": "S1", "kind": "sfq", "name": "splitter", "params": {}}, {"id": "J2", "kind": "sfq", "name": "jtl", "params": {}}], "wires": [{"from": ["J1", "out"], "to": ["S1", "in"]}, {"from": ["S1", "outa"], "to": ["J2", "in"]}]}'No CLI command answers this route.
Example body: the RSFQ test suite's library chain
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/process
engine path /api/process · free
Named, literature-anchored RSFQ process / PDK parameter sets.
What it does, in full
Named, literature-anchored RSFQ process / PDK parameter sets.
Returns {processes: [record, ...]} for every node in the registry (MIT-LL SFQ5ee-style, AIST STP-style, generic teaching node). Each record carries source (citation), confidence ({low, medium} -- never high) and caveat (NOT fab-calibrated PDK data) verbatim. Treat values as order-of-magnitude anchors.
Request
No parameters.
Example
curl -s "$FLUXUS_API/process" -H "Authorization: Bearer $COGITAN_API_KEY"No CLI command answers this route.
Example body: no parameters
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/sfq/cir
engine path /api/sfq/cir · metered
Export the JoSIM .cir netlist for one RSFQ cell + experiment.
What it does, in full
Export the JoSIM .cir netlist for one RSFQ cell + experiment.
Builds the cell deck for the given experiment (default = the cell's canonical active case) with optional params overrides and emits it as JoSIM-runnable .cir text. Powers the "download .cir" button. Bad cell/param/experiment yields a 400 with the structured error envelope.
format="wrspice" returns the same circuit in WRspice syntax under the same cir key, plus probes (each JoSIM .print and the WRspice vector it became), untranslated, notes and verified (true only for a deck that was itself run in WRspice). The default format="josim" response is unchanged apart from format.
Both formats carry tests: the exported experiment as a /api/sfq/netlist/margins test (inputs empty because the deck drives its own stimulus, expected the library experiment's per-junction slip counts; postable as is), deck_pulses_ps (the stimulus times the deck already drives) and experiments (the cell's experiments, each its own deck).
Request
Body: SFQCirRequest
JoSIM (or WRspice) .cir export for one RSFQ cell + experiment.
Example
curl -s "$FLUXUS_API/sfq/cir" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/sfq/netlist
engine path /api/sfq/netlist · metered
Score a user-supplied SFQ netlist (custom-cell live feedback).
What it does, in full
Score a user-supplied SFQ netlist (custom-cell live feedback).
Request
Body: NetlistRequest
Score a raw SFQ netlist with the Margo surrogate.
Example
curl -s "$FLUXUS_API/sfq/netlist" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cir": ".model jmitll jj(rtype=1, vg=2.8mV, cap=0.07pF, r0=160, rN=16, icrit=0.1mA)\nLIN in s1 2p\nB01 s1 g1 jmitll area=2.16\nLP01 g1 0 0.086p\nLRB01 g1 q1 0.086p\nRB01 q1 s1 5.23\nIB01 0 b1 pwl(0 0 50p 150u)\nLPR01 s1 b1 0.278p\nL01 s1 s2 2.425p\nB02 s2 g2 jmitll area=2.16\nLP02 g2 0 0.086p\nLRB02 g2 q2 0.086p\nRB02 q2 s2 5.23\nIB02 0 b2 pwl(0 0 50p 150u)\nLPR02 s2 b2 0.278p\nLOUT s2 out 2.031p\nROUT out 0 2\nVIN in 0 pwl(0 0 197.5p 0 200p 827.132u 202.5p 0)\n.tran 0.25p 400p 0 0.25p\n.print PHASE B01\n.print PHASE B02\n.print DEVI ROUT\n.end\n"}'No CLI command answers this route.
Example body: the starter netlist from fluxus.cell_library.example_netlist()
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/sfq/netlist/margins
engine path /api/sfq/netlist/margins · metered
Margins of a user netlist under a user functional test.
What it does, in full
Margins of a user netlist under a user functional test.
Runs the analytic engine (the one behind every exact-engine library margin) on the caller's netlist. Each knob (global bias, global ic, or each_bias / each_inductor / each_ic one element at a time) is walked out from nominal in bracket_step steps until a test fails, then bisected to resolution. Returns per-knob low / high (last passing factors), the first failing factors, censoring, what limited each edge, the critical (nearest-edge) element, and run counts. confirm="josim" reruns the boundary points of the global knobs and the critical element in JoSIM where a binary is found.
These are analytic-engine margins, not surrogate output. A netlist the engine cannot simulate (transmission lines, unsupported sources, symbolic values, too large) is a 400 naming the reason. Runtime is capped by budget_s (default and maximum: the request budget); the response echoes the budget_s used (budget_from says whether it was the request's or the server default) and elapsed_s. Knobs left when the budget runs out are listed in not_swept. Every response carries estimate (points, transients and seconds the sweep can take, counted and timed from the nominal run); estimate_only=true returns only that. Sync def so the CPU-bound sweep runs in the threadpool.
Request
Body: NetlistMarginsRequest
Bias / Ic / inductance margins of a user netlist (analytic engine).
Object: NetlistTest
One functional test of a user netlist.
inputs maps a port (a key of the request's ports) to the centre times in ps of the SFQ pulses driven into it; a driven port missing from a test is held quiet. expected maps a junction name (B01) or a port name to the SFQ pulse count that junction must show; a port resolves to the junction nearest its net through inductors.
Object: NetlistDrive
How a port is driven: an ideal Phi0 voltage pulse (the library testbench convention) or a current trigger of peak_ua into the port net, for a netlist that carries its own feeder junction there.
Example
curl -s "$FLUXUS_API/sfq/netlist/margins" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cir": ".model jmitll jj(rtype=1, vg=2.8mV, cap=0.07pF, r0=160, rN=16, icrit=0.1mA)\nLIN in s1 2p\nB01 s1 g1 jmitll area=2.16\nLP01 g1 0 0.086p\nLRB01 g1 q1 0.086p\nRB01 q1 s1 5.23\nIB01 0 b1 pwl(0 0 50p 150u)\nLPR01 s1 b1 0.278p\nL01 s1 s2 2.425p\nB02 s2 g2 jmitll area=2.16\nLP02 g2 0 0.086p\nLRB02 g2 q2 0.086p\nRB02 q2 s2 5.23\nIB02 0 b2 pwl(0 0 50p 150u)\nLPR02 s2 b2 0.278p\nLOUT s2 out 2.031p\nROUT out 0 2\n", "ports": {"in": "in"}, "tests": [{"name": "one", "inputs": {"in": [200]}, "expected": {"B01": 1, "B02": 1}}], "knobs": ["bias"], "ranges": {"bias": [0.9, 1.1]}, "resolution": 0.01}'No CLI command answers this route.
Example body: the library JTL as a bare netlist, one pulse in, one out
What it refuses
- a netlist the engine cannot simulate (transmission lines, unsupported sources, symbolic values) -> HTTP 400 unsupported
- over a cap in
envelope, an unknown port, junction or bias source, or a bad test definition -> HTTP 400 bad_request naming it - the nominal run alone exceeds the budget -> HTTP 400 budget
- budget_s above envelope.budget_s.max, or a field out of range -> HTTP 422
- the netlist fails its own test at nominal -> HTTP 200 with refused_reason and no margins
- the run cap or the time budget is spent -> HTTP 200 with
stoppedand every knob not finished innot_swept; a knob cut off mid-walk is dropped, not served as an edge
Responses: 200 Successful Response; 422 Validation Error.
Validated for
fidelity analytic_transient_engine
the library margin walk (spice_cells.bias_margin) on the library JTL: the bisected high bias edge lands inside the walk's last 0.05 bracket (tests/test_sfq_netlist_margins.py). That is agreement with the same engine, not with JoSIM.
The full sfq_netlist_margins card/v1/fluxus/sfq/optimize
engine path /api/sfq/optimize · metered
Maximize the analytic bias-margin width over a cell's knobs.
What it does, in full
Maximize the analytic bias-margin width over a cell's knobs.
Coordinate-ascent inverse design, functional-gated, bounded to <= 60 analytic margin evaluations. Sync def so the (CPU-bound) search runs in the threadpool. Bad cell name yields a 400 envelope.
Request
Body: SFQOptimizeRequest
Coordinate-ascent margin maximization for one RSFQ cell.
Example
curl -s "$FLUXUS_API/sfq/optimize" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/sfq/physics
engine path /api/sfq/physics · metered
Physics-unit knobs (bias% / βL / βc) for one cell -- read and set.
What it does, in full
Physics-unit knobs (bias% / βL / βc) for one cell -- read and set.
READ: returns each defined physics knob's current value and the raw spec field it maps to. SET: when targets is supplied (e.g. {"betac": 1.0}), also returns applied_params -- the raw spec overrides that realize those targets with the junction Ic held fixed, ready to post back as params. Fast (pure arithmetic). Bad cell / param / target -> 400 envelope.
Request
Body: SFQPhysicsRequest
Physics-unit knobs (bias% / βL / βc) for one cell; optionally set targets.
Example
curl -s "$FLUXUS_API/sfq/physics" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/sfq/predict
engine path /api/sfq/predict · metered
Fast surrogate margin prediction for an RSFQ cell or raw netlist.
What it does, in full
Fast surrogate margin prediction for an RSFQ cell or raw netlist.
Accepts a named cell (+ optional params) or a raw cir netlist. Returns the surrogate's functional verdict and bias/Ic band factors (or abstains). Sync def so model inference runs in the threadpool. Bad input yields a 400 with the structured error envelope.
Request
Body: SFQPredictRequest
Surrogate margin prediction: a named cell (+params) OR a raw cir netlist.
Example
curl -s "$FLUXUS_API/sfq/predict" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "dff"}'CLI: fluxus sfq
Example body: the dff library cell at its defaults
What it refuses
- outside the trained envelope -> abstained=true with null band factors, rather than a guess
- unknown cell name or knob -> HTTP 400 with the structured error
Responses: 200 Successful Response; 422 Validation Error.
Validated for
fidelity surrogate_of_josim
JoSIM margin characterization under the FED drive (current-triggered feeder, reference feeder F0), which is what a real SFQ cell sees. The previous corpus used an ideal-voltage source that forces a 2*pi phase advance regardless of bias and censored the lower edge of every margin; it was regenerated on 2026-08-20, 4800 designs per cell, zero censored.
The full sfq_predict card/v1/fluxus/sfq/predict/batch
engine path /api/sfq/predict/batch · metered
Predict many designs of one cell in a single call.
What it does, in full
Predict many designs of one cell in a single call.
Each entry in specs is the same param object /api/sfq/predict takes, and each result is byte-identical to what that endpoint would return for the same design -- same envelope gate, same conformal escalation, same per-quantity refusal. The gate is the same function the single path calls, including the graph check on the built deck (the batch skipped that until 2026-10-11, audit RC-023). results is positionally aligned with specs; a spec that fails validation becomes an error object in its own slot rather than failing the batch. A value that is not a finite number is refused for the whole request by the schema, with a 422 naming specs[i].knob, like any other wrongly typed value.
This exists because per-call overhead dominates: 11.2 ms/spec one at a time versus 0.25-0.30 ms/spec batched (measured 2026-10-11 over 1000 specs, deck build and graph check included), so a 1000-cell sweep goes from about 11 s to about 0.3 s. Requests over 5000 specs are TRUNCATED and say so in a clamped block rather than being rejected.
Request
Body: SFQPredictBatchRequest
Many designs of ONE cell in a single call.
Example
curl -s "$FLUXUS_API/sfq/predict/batch" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl", "specs": [{}, {"bias_ua": 140}]}'No CLI command answers this route.
Example body: the jtl library cell, two biases
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/sfq/schema
engine path /api/sfq/schema · free
Real per-cell knob schema (the UI's single source of truth).
What it does, in full
Real per-cell knob schema (the UI's single source of truth).
Knob keys are the exact dataclass field names (so the UI posts them straight back as params); ranges come from the cell_problems / comparator knob dicts and defaults from the validated base specs. DFF exposes a curated subset of its search knobs.
Request
No parameters.
Example
curl -s "$FLUXUS_API/sfq/schema" -H "Authorization: Bearer $COGITAN_API_KEY"No CLI command answers this route.
Example body: no parameters
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/spice/cell
engine path /api/spice/cell · metered
Analytic SPICE engine margins for one RSFQ cell (jtl/splitter/dff).
What it does, in full
Analytic SPICE engine margins for one RSFQ cell (jtl/splitter/dff).
Runs the JoSIM-validated, WSL-free analytic engine: functional verdict, per-JJ slip counts, and coarse-step bias/Ic margin bands. Sync def so the (CPU-bound) engine runs in the threadpool. A bad cell name or unknown param yields a 400 with the structured error envelope.
Request
Body: SpiceCellRequest
Run the analytic SPICE engine on a named RSFQ cell.
Example
curl -s "$FLUXUS_API/spice/cell" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'CLI: fluxus spice
Example body: the `fluxus spice` example in the CLI help
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/spice/characterize
engine path /api/spice/characterize · metered
One-call single-cell datasheet: margins + timing + yield + surrogate.
What it does, in full
One-call single-cell datasheet: margins + timing + yield + surrogate.
Runs the standard characterization battery for one RSFQ cell and bundles it: exact-engine functional verdict + bias/Ic margins, propagation delay + max toggle rate (fmax), process-variation yield, and a fast surrogate cross-check (surrogate_agrees). Each section keeps its own source / note; a section the exact engine cannot serve fast (e.g. the DRO latch) passes an unsupported payload instead of failing the datasheet. Sync def so the (CPU-bound, ~1-2 min) battery runs in the threadpool. Only a malformed request (bad cell / param) is a 400.
Request
Body: SpiceCharacterizeRequest
One-call single-cell datasheet: margins + timing + yield + surrogate check.
Example
curl -s "$FLUXUS_API/spice/characterize" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
- unknown cell name or knob -> HTTP 400 with the structured error
Responses: 200 Successful Response; 422 Validation Error.
Validated for
fidelity analytic_transient_engine
JoSIM. The quality gate (fluxus.neural.validate_spice_cells) requires per-JJ slip counts to match JoSIM exactly, and bias/Ic margin bands to agree within one sweep step, on JTL, splitter and comparator-DFF.
The full spice_characterize card/v1/fluxus/spice/shmoo
engine path /api/spice/shmoo · metered
2D bias x Ic operating-region (shmoo) map for one RSFQ cell.
What it does, in full
2D bias x Ic operating-region (shmoo) map for one RSFQ cell.
Sweeps an n x n grid (n clamped 5..13, default 9) of bias x Ic scale factors through the analytic engine, marking each point functional iff the full truth table passes. Sync def so the (CPU-bound) sweep runs in the threadpool. COST: n*n analytic transients (~1 s each); default n=9 is ~81 sims (~1-2 min). Bad input yields a 400 envelope.
Request
Body: SpiceShmooRequest
2D bias x Ic operating-region (shmoo) sweep for one RSFQ cell.
Example
curl -s "$FLUXUS_API/spice/shmoo" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl", "n": 5}'No CLI command answers this route.
Example body: the jtl library cell on a 5 x 5 grid
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/spice/sweep
engine path /api/spice/sweep · metered
1-D sensitivity curve: one knob vs. one metric for an RSFQ cell.
What it does, in full
1-D sensitivity curve: one knob vs. one metric for an RSFQ cell.
Varies knob across its schema range in n points (clamped 5..21) and computes metric (bias_margin / ic_margin band width, delay ps, or functional 1/0) at each via the analytic engine; non-evaluable points are null rather than failing the sweep. Sync def so the (CPU-bound) sweep runs in the threadpool. Bad cell/knob/metric yields a 400 envelope.
Request
Body: SpiceSweepRequest
1-D sensitivity sweep of one knob vs. one metric for an RSFQ cell.
Example
curl -s "$FLUXUS_API/spice/sweep" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl", "knob": "bias_ua", "metric": "functional", "n": 5}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/spice/timing
engine path /api/spice/timing · metered
Propagation delay + max operating frequency for one RSFQ cell.
What it does, in full
Propagation delay + max operating frequency for one RSFQ cell.
Runs the analytic engine on the cell's canonical active experiment (or a named one): propagation_delay_ps (slips timed at their voltage peak; passive cells: input-JJ first slip -> output-JJ first slip; clocked dff/and2/or2: clock edge -> output-JJ first slip, the same reference /api/circuit/verify uses) and fmax_ghz (bounded pulse/clock-train scan for the minimum functional period). Either may be null for cell types that do not support a metric. Sync def so the (CPU-bound) engine runs in the threadpool. Bad input yields a 400 envelope.
Request
Body: SpiceTimingRequest
Propagation delay + max operating frequency for one RSFQ cell.
Example
curl -s "$FLUXUS_API/spice/timing" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/spice/trapped-flux
engine path /api/spice/trapped-flux · metered
How much static trapped flux a cell's loop tolerates, or the yield under a drawn trapped flux (plus optional Ic spread).
What it does, in full
How much static trapped flux a cell's loop tolerates, or the yield under a drawn trapped flux (plus optional Ic spread).
mode="tolerance" (default): for each target inductor, the contiguous working window of static flux around zero, in Phi0, on the analytic engine with the full truth table as the gate, plus the pulse counts at the first failure on each side. mode="yield": the fraction of n_trials drawn devices that work with flux ~ N(0, trap_sigma_phi0) per target and per-junction Ic ~ N(1, ic_sigma_pct). The response states what is modelled, what is assumed (the target loop and the flux size) and what is not modelled (the probability of trapping a vortex). Bad input -> 400.
Request
Body: SpiceTrappedFluxRequest
Trapped-flux tolerance (or yield) for one RSFQ library cell.
Example
curl -s "$FLUXUS_API/spice/trapped-flux" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/spice/waveform
engine path /api/spice/waveform · metered
Per-JJ phase(t) traces + slip-event times for one RSFQ experiment.
What it does, in full
Per-JJ phase(t) traces + slip-event times for one RSFQ experiment.
Runs the analytic engine on the named experiment (default = the cell's canonical active case) and returns the phase trace (downsampled to <= 400 points) and slip-event times per junction (each at the slip's voltage peak). Sync def so the engine runs in the threadpool. Bad input yields a 400 envelope.
Request
Body: SpiceWaveformRequest
Per-JJ phase(t) traces for one RSFQ cell + experiment.
Example
curl -s "$FLUXUS_API/spice/waveform" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl"}'No CLI command answers this route.
Example body: the jtl library cell
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
/v1/fluxus/spice/yield
engine path /api/spice/yield · metered
Process-variation Monte Carlo yield (the tapeout question).
What it does, in full
Process-variation Monte Carlo yield (the tapeout question).
Each trial perturbs EVERY junction's critical current independently (Gaussian on each JJ area; effective Ic = icrit*area) and optionally each inductor, then checks the full truth table; yield_fraction = functional / n_trials from a seeded RNG. Sync def so the (CPU-bound) Monte Carlo runs in the threadpool. COST: n_trials * #experiments analytic transients (~1 s each); n_trials clamped <= 120, default 40 (~40 s). Bad input yields a 400 envelope.
Request
Body: SpiceYieldRequest
Per-junction process-variation Monte Carlo yield for one RSFQ cell.
Example
curl -s "$FLUXUS_API/spice/yield" -H "Authorization: Bearer $COGITAN_API_KEY" \
-H 'content-type: application/json' \
-d '{"cell": "jtl", "n_trials": 20}'No CLI command answers this route.
Example body: the jtl library cell, 20 trials
What it refuses
No refusal list is served for this route. Invalid input is a 400 or 422 with the error envelope; any refusal it makes is described above.
Responses: 200 Successful Response; 422 Validation Error.
Validated for
This route has no card in the capability manifest; read its description above for what it rests on.
Generated from Fluxus 0.3.0 at commit b9aa57d on 2026-10-20 by python -m fluxus.docs_bundle.