Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Find the API you need

There are two different meanings of API in this documentation:

  • Rust API: the framework types, traits, functions and Cargo features your application imports. Use the versioned rustdoc references below for exact signatures and follow the book for application-level context.
  • HTTP API: the endpoints your application exposes to a browser, mobile client or another service. Start with the REST learning path below; an OpenAPI document describes your endpoints, not the entire Rust framework.

The Rust reference links target the published 13.0.0-alpha.4 prerelease packages; the v12 line reached end of life on 16 October 2026 (see the release record). Versioned docs.rs pages become available after registry publication and rustdoc builds. This book is built from main, which can be ahead of that prerelease; for unreleased APIs, build local documentation from the checkout. The index connects existing guides without certifying every public symbol or v13 roadmap item. Check capability boundaries before interpreting a provider or blueprint name as complete product support.

Rust reference: start with a task

What you needApplication guideExact v13 prerelease Rust reference
Choose imports and start an applicationFirst applicationrullst facade
Route requests and compose middlewareRouting, Corerullst-core
Query data and manage persistenceORM, CRUD, backend boundariesrullst-orm
Authenticate users and authorize accessAuth, ownership and rolesrullst-auth
Compose request defensesSecurity, security architecturerullst-security
Integrate social sign-inConnectrullst-connect
Integrate payments and signed webhooksCapital, billing tutorialrullst-capital
Call local or cloud language modelsAIrullst-ai
Send transactional emailMailrullst-mail
Publish and consume messagesMessagingrullst-messaging
Inspect the local app or compose an admin interfaceStudio, Nexusrullst-studio, rullst-nexus
Generate code or prepare a framework upgradeCLI reference, assisted upgradescargo-rullst

Search within the selected crate’s rustdoc page for an exact symbol. Read its module context and feature requirements as well as its signature. A facade re-export and a direct dependency can expose different features; enabling a feature does not configure credentials, an external service or authorization. For your application’s selected feature set, cargo doc --no-deps --open builds its local documentation; remove --no-deps to include dependency APIs. Run Cargo commands only in a trusted checkout: build scripts and procedural macros can execute code during documentation builds too.

HTTP/REST: a connected learning path

  1. Return typed JSON. Run the endpoint and inspect its status, headers and body with curl.
  2. Compose routing and middleware. Understand which layer receives or rejects a request first.
  3. Validate input. This guide is form-oriented; its validation principles do not turn it into a complete JSON validation/error-handling tutorial. Define the JSON error contract explicitly.
  4. Persist records and manage migrations. Design bounded pagination and test failed writes as well as successful reads.
  5. Choose session or token authentication and enforce ownership/role authorization. Authentication alone must not grant access to another user’s records.
  6. Expose a reviewed OpenAPI specification. The viewer does not infer a complete specification or security policy from arbitrary handlers. Read its CSP, asset and missing-specification boundaries.
  7. Review deployment and security boundaries and the compatibility policy before exposing the app.

For your own API, test malformed and oversized input, authentication failure, cross-owner/tenant denial, missing records, bounded pagination and error responses that do not expose credentials or database details. Public demos and a compiling example are not substitutes for these application tests.

The v13 prerelease schema-first API candidate adds an explicit bounded OpenAPI profile, generated Rust codecs and a compiled TypeScript HTTP consumer. Its authenticated fixture proves the stated wire/ownership boundary; it does not close the broader CRUD/documentation programme below.

What still needs improvement

The existing chapters are useful but are not yet one complete, consistently tested REST product walkthrough. A coherent CRUD example with JSON validation, typed error responses, pagination, authorization negatives and matching OpenAPI is still needed. Per-symbol reference reviews also need explicit feature, error, concurrency and migration coverage. The API documentation plan tracks that work separately from this navigation index.