Skip to content

emulebb-rust /api/v1 Contract

REST-API-OPENAPI.yaml here is the source of truth for the forward emulebb-rust /api/v1 contract.

This is not a shared emulebb-mfc/Rust superset. The frozen emulebb-mfc contract lives separately at EMULEBB_WORKSPACE_ROOT\repos\emulebb-tooling\docs\products\emulebb-mfc\api\REST-API-OPENAPI.yaml.

Current Stability Audience

The near-term stability audience is first-party only:

  • emulebb-rust
  • embedded SPA WebUI
  • first-party tests and release tooling

Breaking route or schema changes are allowed while the Rust daemon and embedded SPA WebUI move in lockstep. A later third-party API promise needs a separate freeze and compatibility decision.

Sharing Contract

Sharing management is folder-tree only:

  • configure roots with /api/v1/shared-directories;
  • every root is recursively scanned and monitored;
  • single-file share/unshare/delete-sharing routes are not part of the Rust public contract.

Conformance

Change this spec in the same change as the implementation. The Rust conformance gate is tracked by RUST-CI-003.

Every /api/v1 response carries X-Contract-Version, matching info.x-contract-version and GET /capabilities.data.contractVersion, so first-party adapters can gate on the contract without parsing the body first.

Adapter surfaces (/api/v2 qBit-compat, Torznab) must not broaden or weaken the native route shape.