# oRPC > Typesafe APIs Made Simple 🪄 Easy to build APIs that are end-to-end type-safe and adhere to OpenAPI standards ## Table of Contents ### RPC - [RPC Protocol](/docs/rpc/protocol.md) - [RPC Serializer](/docs/rpc/serializer.md) - [RPC Handler](/docs/rpc/handler.md) - [RPC Link](/docs/rpc/link.md) ### OpenAPI - [OpenAPI Routing](/docs/openapi/routing.md) - [OpenAPI Input and Output Mapping](/docs/openapi/input-and-output-mapping.md) - [Bracket Notation](/docs/openapi/bracket-notation.md) - [OpenAPI Serializer](/docs/openapi/serializer.md) - [OpenAPI Handler](/docs/openapi/handler.md) - [OpenAPI Link](/docs/openapi/link.md) - [OpenAPI Specification](/docs/openapi/specification.md) - [Scalar (Swagger)](/docs/openapi/scalar.md) ### Contract - [Procedure Contract](/docs/contract/procedure.md) - [Router Contract](/docs/contract/router.md) - [Contract Implementation](/docs/contract/implementation.md) ### Client - [Server-Side Clients](/docs/client/server-side.md) - [Client-Side Clients](/docs/client/client-side.md) - [Client Error Handling](/docs/client/error-handling.md) - [Event Iterator in Client](/docs/client/event-iterator.md) - [DynamicLink](/docs/client/dynamic-link.md) ### Adapters - [Untitled](/docs/adapters/fetch-api.md) - [Node HTTP Adapter](/docs/adapters/node-http.md) - [WebSocket Adapters](/docs/adapters/websocket.md) - [Message Port Adapter](/docs/adapters/message-port.md) ### Plugins - [Batch Plugin](/docs/plugins/batch.md) - [Body Compression Plugin](/docs/plugins/body-compression.md) - [Body Limit Plugin](/docs/plugins/body-limit.md) - [CORS Handler Plugin](/docs/plugins/cors.md) - [CSRF Guard Plugin](/docs/plugins/csrf-guard.md) - [Dedupe Plugin](/docs/plugins/dedupe.md) - [OpenAPI Reference Plugin (Swagger/Scalar)](/docs/plugins/openapi-reference.md) - [Request Headers Plugin](/docs/plugins/request-headers.md) - [Request Validation Plugin](/docs/plugins/request-validation.md) - [Response Headers Plugin](/docs/plugins/response-headers.md) - [Response Validation Plugin](/docs/plugins/response-validation.md) - [Retry After Plugin](/docs/plugins/retry-after.md) - [Retry Plugin](/docs/plugins/retry.md) - [Smart Coercion Plugin](/docs/plugins/smart-coercion.md) ### Helpers - [Base64Url Helpers](/docs/helpers/base64url.md) - [Cookie Helpers](/docs/helpers/cookie.md) - [Encryption Helpers](/docs/helpers/encryption.md) - [Form Data Helpers](/docs/helpers/form-data.md) - [Publisher Helpers](/docs/helpers/publisher.md) - [Rate Limit Helpers](/docs/helpers/ratelimit.md) - [Signing Helpers](/docs/helpers/signing.md) ### Integrations - [Effect Integration](/docs/integrations/effect.md) - [Evlog Integration](/docs/integrations/evlog.md) - [Next.js Integration](/docs/integrations/next.md) - [OpenTelemetry Integration](/docs/integrations/opentelemetry.md) - [Pino Integration](/docs/integrations/pino.md) - [TanStack Query Integration](/docs/integrations/tanstack-query.md) ### Best Practices - [Dedupe Middleware](/docs/best-practices/dedupe-middleware.md) - [Monorepo Setup](/docs/best-practices/monorepo-setup.md) - [No Throw Literal](/docs/best-practices/no-throw-literal.md) - [Optimizing Server-Side Rendering (SSR) for Fullstack Frameworks](/docs/best-practices/optimizing-ssr.md) ### Advanced - [Exceeds the Maximum Length Problem](/docs/advanced/exceeds-the-maximum-length-problem.md) - [Expanding Type Support for OpenAPI Link](/docs/advanced/expanding-type-support-for-openapi-link.md) - [Publish Client to NPM](/docs/advanced/publish-client-to-npm.md) - [Scaling Large Projects](/docs/advanced/scaling-large-projects.md) - [Testing and Mocking](/docs/advanced/testing-and-mocking.md) - [Validation Errors](/docs/advanced/validation-errors.md) ### Migrations - [Migrating from tRPC](/docs/migrations/from-trpc.md) ### Mini oRPC - [Overview of Mini oRPC](/learn-and-contribute/mini-orpc/overview.md): A brief introduction to Mini oRPC, a simplified version of oRPC designed for learning purposes. - [Procedure Builder in Mini oRPC](/learn-and-contribute/mini-orpc/procedure-builder.md): Learn how Mini oRPC's procedure builder provides an excellent developer experience for defining type-safe procedures. - [Server-side Client in Mini oRPC](/learn-and-contribute/mini-orpc/server-side-client.md): Learn how to turn a procedure into a callable function in Mini oRPC, enabling server-side client functionality. - [Client-side Client in Mini oRPC](/learn-and-contribute/mini-orpc/client-side-client.md): Learn how to implement remote procedure calls (RPC) on the client side in Mini oRPC. - [Beyond the Basics of Mini oRPC](/learn-and-contribute/mini-orpc/beyond-the-basics.md): Explore advanced features you can implement in Mini oRPC. ### Other - [Binary Data](/docs/binary-data.md) - [Context](/docs/context.md) - [Error Handling](/docs/error-handling.md) - [Event Iterator (SSE)](/docs/event-iterator.md) - [Getting Started](/docs/getting-started.md) - [Metadata](/docs/metadata.md) - [Middleware](/docs/middleware.md) - [Playgrounds](/docs/playgrounds.md) - [Procedure](/docs/procedure.md) - [Router](/docs/router.md) - [Untitled](/shared/common-error-status-map-table.md) - [Untitled](/shared/common-plugin-handler-compatibility.md) - [Untitled](/shared/common-plugin-link-compatibility.md) - [Untitled](/shared/router-keys-compatibility-warning.md) - [Untitled](/shared/standard-server-cors-warning.md)