# Rydantic > Typed data, APIs and AI in Rust. A practical guide to Rydantic and RydanticAI. - [One model. Every boundary.](https://rydantic.mintlify.app/introduction.md): A field guide to typed data, APIs and AI in Rust. - [Quickstart](https://rydantic.mintlify.app/quickstart.md): Install the crate and parse, validate and serialize your first Rust model. - [Fields and validation](https://rydantic.mintlify.app/models/validation.md): Supported types, normalization, constraints, missing values and custom rules. - [Model structure](https://rydantic.mintlify.app/models/structure.md): Use enums, tuple types, flattened models and extra fields. - [Domain types](https://rydantic.mintlify.app/domain-types.md): Optional, versioned phone, country and currency validation - [Dates and decimals](https://rydantic.mintlify.app/models/dates-decimal.md): Validate chrono date/time values and exact decimal numbers. - [Model lifecycle](https://rydantic.mintlify.app/models/lifecycle.md): Validate mutations and use read-only validated wrappers. - [Settings](https://rydantic.mintlify.app/models/settings.md): Explicit source layers, typed validation, and redacted loading errors. - [Asynchronous validation](https://rydantic.mintlify.app/models/async.md): Await field and model checks at application boundaries. - [Per-call business context](https://rydantic.mintlify.app/models/validation-context.md): Explicit request data for owned model validation - [Validator extensions](https://rydantic.mintlify.app/models/validator-extensions.md): Explicit callback composition and typed pipelines - [JSON Schema](https://rydantic.mintlify.app/models/schema.md): Generate separate input and output contracts with Draft 2020-12. - [Borrowed models](https://rydantic.mintlify.app/models/borrowed.md): Borrow strings and slices directly from JSON input. - [Streaming JSON](https://rydantic.mintlify.app/models/streaming.md): Parse sequences, arrays and borrowed records incrementally. - [Partial JSON snapshots](https://rydantic.mintlify.app/models/partial-json.md): Opt-in bounded previews without numeric precision loss. - [RydanticAI](https://rydantic.mintlify.app/integrations/ai.md): Build typed agents, resumable graphs and a three-protocol gateway with the independent rydantic-ai crate. - [API providers](https://rydantic.mintlify.app/integrations/api-providers.md): Connect Responses, Chat Completions and Anthropic Messages with BASEURL and APIKEY. - [Structured output streams](https://rydantic.mintlify.app/integrations/structured-output.md): Stream partial JSON previews and validated list elements with bounded correction, cancellation and usage accounting. - [Image inputs](https://rydantic.mintlify.app/integrations/images.md): Send ordered text and images through Responses, Chat Completions and Anthropic Messages. - [PDF inputs](https://rydantic.mintlify.app/integrations/pdf.md): Mix PDFs, images and text with typed prompts and native protocol conversion. - [Gateway protocols](https://rydantic.mintlify.app/integrations/gateway-protocols.md): Use Responses, Chat Completions or Messages clients with any supported upstream protocol. - [TypeSafe Jev SDK](https://rydantic.mintlify.app/integrations/jev.md): Typed Noul, Choice and Score decisions with configurable BASEURL and APIKEY. - [From model to application](https://rydantic.mintlify.app/integrations/overview.md): Choose the HTTP, SQL or binary integration for your next boundary. - [Axum and Tokio](https://rydantic.mintlify.app/integrations/axum.md): Validated JSON requests and responses for asynchronous Rust APIs. - [HTTP + database example](https://rydantic.mintlify.app/integrations/http-database.md): Run the same validated Axum API against three database backends. - [Database models](https://rydantic.mintlify.app/integrations/sql.md): Add validated CRUD and SQLx row decoding to your model. - [PostgreSQL and MySQL](https://rydantic.mintlify.app/integrations/databases.md): Use independent SQL drivers and native database representations. - [Queries and transactions](https://rydantic.mintlify.app/integrations/queries.md): Filter, paginate and persist validated rows with SQLx. - [Automatic migrations](https://rydantic.mintlify.app/integrations/migrations.md): Upgrade table schemas from model definitions without writing migration SQL. - [Native Cap’n Proto](https://rydantic.mintlify.app/integrations/capnp.md): Generate .capnp schemas, official Rust bindings and validated codecs from models. - [Existing Cap’n Proto schemas](https://rydantic.mintlify.app/integrations/existing-capnp.md): Connect external schema bindings through typed readers and builders. - [Learn by building](https://rydantic.mintlify.app/tutorials/overview.md): Four guided projects, from your first validated model to an API and a streaming AI agent. - [Your first data contract](https://rydantic.mintlify.app/tutorials/first-model.md): Turn messy signup JSON into a validated Rust value and inspect failures field by field. - [Build a CRUD API](https://rydantic.mintlify.app/tutorials/http-api.md): Use one model for validated HTTP input, JSON responses and SQLite persistence. - [Build a typed agent](https://rydantic.mintlify.app/tutorials/typed-agent.md): Classify a support request with a validated output model and one bounded correction. - [Stream structured results](https://rydantic.mintlify.app/tutorials/streaming-ai.md): Display partial JSON previews and collect validated list items with explicit attempt boundaries. - [Example library](https://rydantic.mintlify.app/examples/overview.md): Runnable Rust programs for models, APIs, databases, typed agents and structured streams. - [Models and protocols](https://rydantic.mintlify.app/examples/models.md): Small programs for validation, schemas, borrowed input, streaming JSON and native binary codecs. - [APIs and storage](https://rydantic.mintlify.app/examples/services.md): Run validated CRUD endpoints and model-driven migrations against SQLite, PostgreSQL or MySQL. - [Agents and streaming](https://rydantic.mintlify.app/examples/agents.md): Run offline agents and graphs, then connect live APIs, typed tools, images and PDFs. - [Cargo features](https://rydantic.mintlify.app/reference/features.md): Select only the integrations your application needs. - [Release notes](https://rydantic.mintlify.app/reference/releases.md): Release history and the current migration path. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.