Skip to content

API and schema navigation

VerifiedOwner Documentation integratorLast verified backend@efa38e04e2db37a444e9f17100323c2ad4b83647

This page is generated

Route lists are never hand-maintained. This page is rendered from manifest/api-surface.json, which was extracted from the backend's own route tables at the pinned commit and vendored into this repository. The build regenerates the page and fails if the committed copy no longer matches, so the list cannot drift away from the source it was read from.

A route appearing here means the backend defines it. It does not mean any particular deployment serves it, and it does not mean a caller is authorised to reach it. Availability is per node: read it from the node you are talking to through its own capability registry, never from this page. See the health and status contract.

Two API generations

The backend serves two generations side by side. They are not the same contract with a different prefix.

v1 v2
Liveness /health /v2/health
Condition and freshness /readiness /v2/status
A /readiness sibling yes no/v2/readiness is not a defined route
Routes defined 12 runtime, 7 fixture 32 GET, 11 POST, 24 parameterized

v1 splits transport liveness from condition. v2 does not repeat that split: its health document already carries readiness and degradation facts, so a v2 health response is not a socket-liveness ping. Reading /v2/health as though it were /health understates what it reports.

v1 runtime routes

/bars /catalog /chart-markers /engine-status /health /integration-capabilities /provenance /readiness /retirements /schemas /screener-rows /signals

v2 routes

Group Method Route Availability at the pin
Coverage GET /v2/coverage Published
Coverage GET /v2/coverage/failures Published
Coverage GET /v2/coverage/quiet Published
Coverage GET /v2/coverage/{id} Published
Execution read surface GET /v2/account Unavailable — Account state is unavailable: this release runs no execution engine.
Execution read surface GET /v2/accounts Unavailable — Account listing is unavailable: this release runs no execution engine.
Execution read surface GET /v2/connection Published
Execution read surface GET /v2/fills Unavailable — Fill history is unavailable: this release runs no execution engine.
Execution read surface GET /v2/orders Unavailable — Order history is unavailable: this release runs no execution engine.
Execution read surface GET /v2/portfolio Unavailable — Portfolio state is unavailable: this release runs no execution engine.
Execution read surface GET /v2/positions Unavailable — Positions are unavailable: this release runs no execution engine.
Health and status GET /v2/engine-pin Published
Health and status GET /v2/health Published
Health and status GET /v2/registry Published
Health and status GET /v2/status Published
Instruments and market data GET /v2/bars Published
Instruments and market data GET /v2/data/{id} Published
Instruments and market data GET /v2/facts Published
Instruments and market data GET /v2/hydration Published
Instruments and market data GET /v2/hydration/{id} Published
Instruments and market data GET /v2/instruments Published
Instruments and market data POST /v2/instruments/search Published
Instruments and market data GET /v2/instruments/search/{id} Published
Instruments and market data GET /v2/resolutions Published
Other GET /v2/selection Published
Parameter studies GET /v2/studies Published
Parameter studies POST /v2/studies Published
Parameter studies GET /v2/studies/{id} Published
Parameter studies GET /v2/studies/{id}/best Published
Parameter studies GET /v2/studies/{id}/holdout Published
Parameter studies GET /v2/studies/{id}/promote Published
Parameter studies GET /v2/studies/{id}/retry Published
Parameter studies GET /v2/studies/{id}/trials Published
Parameter studies GET /v2/studies/{id}/trials/{id} Published
Parameter studies GET /v2/studies/{id}/{pause|resume|cancel} Published
Sandbox POST /v2/sandbox/start Unavailable — The sandbox cannot be started: paper execution is deferred to a future release.
Sandbox GET /v2/sandbox/status Unavailable — Sandbox status is unavailable: paper execution is deferred to a future release.
Sandbox POST /v2/sandbox/stop Unavailable — The sandbox cannot be stopped: paper execution is deferred to a future release.
Screener GET /v2/screener/features Published
Screener GET /v2/screener/health Published
Screener GET /v2/screener/instrument/{id} Published
Screener GET /v2/screener/observations Published
Screener GET /v2/screener/rows Published
Screener POST /v2/screener/screen Published
Screener GET /v2/screener/snapshot Published
Strategies and backtests GET /v2/authoring/registry Published
Strategies and backtests GET /v2/backtests Published
Strategies and backtests POST /v2/backtests Published
Strategies and backtests GET /v2/backtests/{id} Published
Strategies and backtests GET /v2/backtests/{id}/cancel Published
Strategies and backtests GET /v2/backtests/{id}/report Published
Strategies and backtests GET /v2/conditions/registry Published
Strategies and backtests GET /v2/strategies Published
Strategies and backtests POST /v2/strategies Published
Strategies and backtests GET /v2/strategies/{id} Published
Strategies and backtests GET /v2/strategies/{id}/files/{path} Published
Strategies and backtests GET /v2/strategies/{id}/revisions Published
Strategies and backtests GET /v2/strategies/{id}/revisions/{id} Published
Strategies and backtests GET /v2/strategies/{id}/revisions/{id}/files/{path} Published
Strategies and backtests GET /v2/strategies/{id}/validate Published
Strategies and backtests GET /v2/strategy-templates Published
Strategies and backtests GET /v2/strategy-templates/{id} Published

62 routes are published above.

Withheld routes

These routes exist in the backend and are deliberately not documented here. The list is an allowlist by omission: a route the backend adds later is withheld until someone reviews it, rather than published by default.

Route Why it is withheld
GET /v2/commands/{id} Internal command inspection.
POST /v2/orders Order submission is a private operator surface, not a documented public route.
POST /v2/orders/cancel Order cancellation is a private operator surface, not a documented public route.
POST /v2/selection Operator-only instrument roster management.
POST /v2/selection/remove Operator-only instrument roster management.

Deferred operations

The backend publishes an explicit table of operations this release does not serve. A node that defers one answers 501 CAPABILITY_DEFERRED, which is different from 404 NOT_SUPPORTED_ON_THIS_NODE: the first says not yet, the second says not here, ever, on this node.

Operation The backend's own reason
spine.account.get Account state is unavailable: this release runs no execution engine.
spine.accounts.list Account listing is unavailable: this release runs no execution engine.
spine.execution.stream The execution event stream is unavailable: this release runs no execution engine.
spine.fills.list Fill history is unavailable: this release runs no execution engine.
spine.orders.list Order history is unavailable: this release runs no execution engine.
spine.portfolio.get Portfolio state is unavailable: this release runs no execution engine.
spine.positions.list Positions are unavailable: this release runs no execution engine.
spine.sandbox.start The sandbox cannot be started: paper execution is deferred to a future release.
spine.sandbox.status Sandbox status is unavailable: paper execution is deferred to a future release.
spine.sandbox.stop The sandbox cannot be stopped: paper execution is deferred to a future release.

These ten are deferred on the nodes that defer them, not build-wide. The execution read surface is served by at least one node in the deployment shape the backend documents, so a client must read availability per node.

JSON Schemas

The backend publishes 58 JSON Schema documents at this pin. Each is served by name through the schema index route rather than by file path.

onix.account_state_summary, onix.backtest_job_detail, onix.backtest_job_event, onix.backtest_job_summary, onix.backtest_run_result, onix.bar_envelope, onix.capability_registry, onix.chart_marker, onix.condition_registry, onix.engine_command, onix.engine_status, onix.execution_config, onix.execution_report_page, onix.feature_row, onix.feature_row_delta, onix.feature_spec, onix.feature_state, onix.fill_summary, onix.instrument_ref, onix.integration_capability, onix.optuna_study, onix.optuna_trial, onix.order_summary, onix.pattern_observation, onix.position_summary, onix.projection_frame, onix.quote_tick, onix.run_receipt, onix.sandbox_start_request, onix.sandbox_status, onix.screen_definition, onix.screen_result, onix.screener_health, onix.screener_row, onix.screener_snapshot, onix.series_coverage, onix.signal_event, onix.signal_retirement, onix.strategy_authoring_registry, onix.strategy_file, onix.strategy_file_put_request, onix.strategy_mutation_conflict, onix.strategy_project, onix.strategy_revision, onix.strategy_revision_save_request, onix.strategy_summary, onix.strategy_template, onix.trade_tick, onix.validation_receipt.

A further 9 schema documents are nested under an integration-specific directory and are not part of the venue-neutral set.

Evidence and source pins for this page

Verified. Current behaviour, confirmed in source at the pinned commit.

Verified on against the following immutable sources:

  • backend:python/src/onix_engine/spine/gateway_v2.py#blob=496e140b03f6885c3f4e5edeff28da9a2a36178f
  • backend:python/src/onix_engine/spine/deferred.py#blob=9e7124febde2b3054ad97c1cea5d1d733a377a06
  • backend:python/src/onix_engine/gateway.py#blob=c470c9425035c038384bf37fa8eaa7447a838d81
  • onix-docs:manifest/api-surface.json

Status tokens are defined on the documentation and status model page. Every pin on this site is listed under versions and source pins.