# OPRA Documentation > Open Platform for Rich APIs — full reference for building type-safe HTTP, Socket.IO, and MQ services with TypeScript. This file contains links to documentation sections following the llmstxt.org standard. ## Table of Contents - [Express](https://oprajs.com/docs/adapters/express): Connect an OPRA ApiDocument to an Express application using ExpressAdapter, which handles routing, request validation, and response serialization a... - [Kafka](https://oprajs.com/docs/adapters/kafka): Integrate an OPRA ApiDocument with a Kafka consumer using KafkaAdapter for schema-driven message decoding, topic subscription, and lifecycle manage... - [RabbitMQ](https://oprajs.com/docs/adapters/rabbitmq): Connect an OPRA ApiDocument to RabbitMQ over AMQP using RabbitmqAdapter for schema-driven message decoding, queue subscription, and connection mana... - [Socket.IO](https://oprajs.com/docs/adapters/socketio): Integrate an OPRA ApiDocument with a Socket.IO server using SocketioAdapter for schema-driven event decoding, handler dispatch, and response encoding. - [CHANGELOG](https://oprajs.com/docs/changelog): Release notes for every OPRA minor version, covering new features, API changes, bug fixes, and breaking changes. - [oprimp CLI](https://oprajs.com/docs/cli/oprimp-cli): Full command reference for oprimp: arguments, options, and the directory structure produced when generating typed TypeScript clients from an OPRA s... - [Overview](https://oprajs.com/docs/cli/overview): Generate typed TypeScript models and controller proxies from a live OPRA service schema, keeping the client layer always in sync with the backend. - [Angular Integration](https://oprajs.com/docs/client/angular-integration): Use @opra/angular to route OPRA HTTP requests through Angular's HttpClient, enabling Angular interceptors, HttpContext, and dependency injection fo... - [HTTP Client](https://oprajs.com/docs/client/http-client): Lightweight, framework-agnostic HTTP client for consuming OPRA services with typed requests, configurable headers, and support for all standard HTT... - [Interceptors](https://oprajs.com/docs/client/interceptors): Apply authentication, logging, or retry logic to every OPRA request using class-based or functional interceptors, without modifying individual call... - [Overview](https://oprajs.com/docs/client/overview): Typed HTTP client for OPRA-powered APIs supporting both Promise and Observable usage, with pluggable backends, interceptors, and structured error h... - [Array Types](https://oprajs.com/docs/data-models/array-types): Use ArrayType to declare typed array fields in OPRA, wrapping any SimpleType, ComplexType, or EnumType with optional occurrence constraints. - [Complex Types](https://oprajs.com/docs/data-models/complex-types): Define structured API types in OPRA using @ComplexType and @ApiField — the foundation for request bodies, response shapes, and database entities. - [Enum Types](https://oprajs.com/docs/data-models/enum-types): Register closed sets of allowed values as named OPRA types using EnumType, supporting TypeScript enums, plain objects, and string arrays. - [Mapped Types](https://oprajs.com/docs/data-models/mapped-types): Derive projected types from an existing ComplexType using PickType, OmitType, PartialType, and RequiredType without manually redeclaring fields. - [Mixin Types](https://oprajs.com/docs/data-models/mixin-types): Compose fields from multiple ComplexTypes into one class using MixinType — OPRA's equivalent of multiple inheritance for structured data models. - [Overview](https://oprajs.com/docs/data-models/overview): Understand OPRA's unified type system — one definition drives runtime validation, serialization, scope-based field security, and API schema publica... - [Simple Types](https://oprajs.com/docs/data-models/simple-types): Reference built-in scalar types and learn how to define custom domain primitives with validation, coercion, and constraint attributes in OPRA. - [Getting Started](https://oprajs.com/docs/data-services/elasticsearch/getting-started): Connect OPRA to Elasticsearch in four steps: define a ComplexType, extend ElasticCollectionService, attach a client, and use for() per request. - [Interceptors](https://oprajs.com/docs/data-services/elasticsearch/interceptors): Add cross-cutting behavior — logging, retries, access control — to every Elasticsearch service operation using the service-level interceptor option. - [Lifecycle Hooks](https://oprajs.com/docs/data-services/elasticsearch/lifecycle-hooks): Override _before* and _after* hook methods in ElasticCollectionService to inject timestamps, validation, and audit logic around each Elasticsearch ... - [Mutations](https://oprajs.com/docs/data-services/elasticsearch/mutations): Index, partially update, and delete Elasticsearch documents using ElasticCollectionService — with options for bulk updates, document replacement, a... - [Overview](https://oprajs.com/docs/data-services/elasticsearch/overview): Integrate Elasticsearch into an OPRA application using @opra/elastic — covers service hierarchy, key differences from MongoDB, and links to all fea... - [Querying](https://oprajs.com/docs/data-services/elasticsearch/querying): Filter, project, sort, and paginate Elasticsearch results using OPRA filter strings or raw query DSL, with built-in support for multi-tenancy via d... - [Getting Started](https://oprajs.com/docs/data-services/mongodb/getting-started): Set up your first MongoCollectionService in OPRA: define a data type, connect a MongoDB database, and wire request-scoped service instances using f... - [Interceptors](https://oprajs.com/docs/data-services/mongodb/interceptors): Wrap every MongoDB service operation with a single interceptor function for logging, tracing, retries, and access control — including comparison wi... - [Lifecycle Hooks](https://oprajs.com/docs/data-services/mongodb/lifecycle-hooks): Override _before* and _after* hook methods in MongoCollectionService to stamp timestamps, enforce validation, and emit events around each database ... - [Mutations](https://oprajs.com/docs/data-services/mongodb/mutations): Create, update, replace, and delete MongoDB documents using MongoCollectionService — covering PatchDTO, raw UpdateFilter, array push/pull, and bulk... - [Nested Arrays](https://oprajs.com/docs/data-services/mongodb/nested-arrays): Manage embedded array elements inside a MongoDB document using MongoNestedService — full CRUD on nested items without replacing the entire parent d... - [Overview](https://oprajs.com/docs/data-services/mongodb/overview): Choose the right @opra/mongodb service class for your data shape — MongoCollectionService, MongoSingletonService, or MongoNestedService — and explo... - [Querying](https://oprajs.com/docs/data-services/mongodb/querying): Master filtering, projection, sorting, and pagination options shared by MongoCollectionService and MongoNestedService read methods. - [Transactions](https://oprajs.com/docs/data-services/mongodb/transactions): Execute multiple MongoDB service operations atomically using withTransaction, covering single-service and multi-collection transaction patterns. - [Getting Started](https://oprajs.com/docs/data-services/sql/getting-started): Set up your first SQL data service with @opra/sqb: define a typed model, extend SqbCollectionService, connect a database, and wire it per-request. - [Interceptors](https://oprajs.com/docs/data-services/sql/interceptors): Add cross-cutting logic — logging, access control, retries — to every SQL service operation using the service-level interceptor option. - [Lifecycle Hooks](https://oprajs.com/docs/data-services/sql/lifecycle-hooks): Override _before* and _after* hooks in SqbEntityService subclasses to inject timestamps, validation, and audit logic around SQL operations. - [Mutations](https://oprajs.com/docs/data-services/sql/mutations): Reference for create, update, updateMany, and delete operations on SqbCollectionService, including SQL expressions and patch semantics. - [Overview](https://oprajs.com/docs/data-services/sql/overview): Overview of @opra/sqb: install the package, choose between SqbCollectionService and SqbSingletonService, and navigate the SQL data service guides. - [Querying](https://oprajs.com/docs/data-services/sql/querying): Filter, project, sort, and paginate results on SqbCollectionService using SQB operator methods, plain object shorthand, and commonFilter constraints. - [Transactions](https://oprajs.com/docs/data-services/sql/transactions): Run multi-table SQL operations atomically with withTransaction, covering single-service, multi-service, and service-internal transaction patterns. - [INTRODUCTION](https://oprajs.com/docs/introduction): Learn how OPRA unifies type definition, validation, transformation, and multi-transport encoding into a single schema-driven contract for TypeScrip... - [LICENSE](https://oprajs.com/docs/license): Full text of the MIT License under which OPRA is released, covering permitted use, redistribution, and warranty disclaimer. - [HTTP Module](https://oprajs.com/docs/nestjs/http-module): Integrate OPRA's HTTP adapter into NestJS using OpraHttpModule — covers installation, forRoot/forRootAsync setup, and all configuration options. - [Kafka Module](https://oprajs.com/docs/nestjs/kafka-module): Integrate OPRA's Kafka adapter into NestJS using OpraKafkaModule — covers installation, broker configuration, consumer options, and async setup. - [RabbitMQ Module](https://oprajs.com/docs/nestjs/rabbitmq-module): Integrate OPRA's RabbitMQ adapter into NestJS using OpraRabbitmqModule, with AMQP connection setup, consumer options, and async configuration. - [Introduction](https://oprajs.com/docs/nestjs/setup): Overview of how OPRA integrates with NestJS — covers available transport packages, installation steps, and the forRoot setup pattern. - [Socket.IO Module](https://oprajs.com/docs/nestjs/socketio-module): Integrate OPRA's Socket.IO adapter into NestJS using OpraSocketioModule, covering WebSocket controller discovery, server options, and async setup. - [Generating Documents](https://oprajs.com/docs/openapi/generating): Use OpenApiDocumentFactory.generate() to convert an OPRA ApiDocument to an OpenAPI 3.0 or 3.1 document, with options for version and scope filtering. - [Overview](https://oprajs.com/docs/openapi/overview): Generate OpenAPI 3.0 and 3.1 documents from an OPRA ApiDocument using the @opra/openapi package. - [Type Mapping](https://oprajs.com/docs/openapi/type-mapping): How OPRA data types — ComplexType, EnumType, ArrayType, UnionType, SimpleType — map to OpenAPI schema objects and components. - [Client & CLI](https://oprajs.com/docs/overview/client-cli): Generate typed TypeScript client code from a live OPRA schema using the oprimp CLI, and consume your API with the @opra/client HTTP client. - [Data Modelling](https://oprajs.com/docs/overview/data-modelling): Define your API's data contract once using TypeScript classes — OPRA derives input validation, output encoding, and schema generation automatically. - [Data Services](https://oprajs.com/docs/overview/data-services): OPRA data services bridge controllers and data stores, handling query translation, filtering, and pagination for MongoDB, SQL, and Elasticsearch. - [Defining APIs](https://oprajs.com/docs/overview/defining-apis): Define OPRA controllers with TypeScript decorators for HTTP, Socket.IO, and message queue transports, with automatic routing and validation. - [NestJS Integration](https://oprajs.com/docs/overview/nestjs): Integrate OPRA into a NestJS application using OpraHttpModule — wire controllers, inject services, and add the OPRA contract layer on top of NestJS... - [Quick Start with NestJS](https://oprajs.com/docs/overview/quick-start-nestjs): Build a minimal OPRA HTTP API with NestJS in minutes — define a model, create a service, write a controller, and register the OpraHttpModule. - [Quick Start with Express](https://oprajs.com/docs/overview/quick-start): Build a minimal OPRA HTTP API with standalone Express — define a model, write a controller, and mount the adapter without any additional framework. - [Testing](https://oprajs.com/docs/overview/testing): Test OPRA services in-process with OpraTestClient — send requests and assert responses using a fluent matcher API, no port binding or server required. - [Batch Requests / Transactions](https://oprajs.com/docs/protocols/http/batch-requests): Send multiple OPRA operations in a single HTTP round-trip using multipart/mixed, enabling atomic batch execution without additional network overhead. - [Controllers](https://oprajs.com/docs/protocols/http/controllers): Define OPRA HTTP controllers with @HttpController — group operations under a base path and declare shared headers, cookies, query params, and key p... - [Cookies](https://oprajs.com/docs/protocols/http/cookies): Read and set HTTP cookies in OPRA handlers via ctx.cookies and ctx.response.cookie(), and declare expected request cookies for schema documentation. - [Entity Method Templates](https://oprajs.com/docs/protocols/http/entity-method-templates): Use HttpOperation.Entity.* decorators to apply pre-configured CRUD templates — Get, FindMany, Create, Update, Delete, and more — with minimal boile... - [Error Handling](https://oprajs.com/docs/protocols/http/error-handling): Throw typed HTTP errors from OPRA handlers to return correct status codes and a standardized JSON error response automatically. - [Headers](https://oprajs.com/docs/protocols/http/headers): Access request headers via ctx.request.header(), set response headers via ctx.response.setHeader(), and declare expected headers for API schema gen... - [Methods](https://oprajs.com/docs/protocols/http/methods): Reference for OPRA's nine HTTP method decorators — GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, SEARCH, and QUERY — with chaining examples for par... - [Multipart](https://oprajs.com/docs/protocols/http/multipart): Handle multipart/form-data and multipart/mixed uploads with OPRA's MultipartReader, which streams parts and writes files to disk without blocking t... - [Overview](https://oprajs.com/docs/protocols/http/overview): Overview of OPRA's HTTP layer: decorator-driven controllers and operations with automatic request validation, content negotiation, and lifecycle ho... - [Path Parameters](https://oprajs.com/docs/protocols/http/path-parameters): Declare and read URL path parameters in OPRA using .PathParam() on operations or controllers, including the KeyParam shorthand for resource identif... - [Query Parameters](https://oprajs.com/docs/protocols/http/query-parameters): Declaratively define, validate, and type-coerce query string parameters in OPRA using .QueryParam() at the operation or controller level. - [Request Body](https://oprajs.com/docs/protocols/http/reading-body): Read, parse, and validate HTTP request bodies in OPRA using ctx.getBody() and .RequestContent(), with support for JSON, YAML, TOML, and multipart f... - [Schema Endpoint](https://oprajs.com/docs/protocols/http/schema-endpoint): Explore the built-in GET /$schema endpoint that OPRA automatically registers to expose the full API document for introspection and client code gene... - [Sending Responses](https://oprajs.com/docs/protocols/http/sending-responses): Send HTTP responses from OPRA handlers by returning a value or writing directly to ctx.response, with automatic Content-Type detection and serializ... - [Controllers](https://oprajs.com/docs/protocols/mq/controllers): Build MQ controllers in OPRA with @MQController and @MQOperation decorators to consume messages from Kafka, RabbitMQ, and other brokers with typed ... - [Overview](https://oprajs.com/docs/protocols/mq/overview): Overview of OPRA's transport-agnostic MQ layer for building message consumers on Kafka, RabbitMQ, SQS, and other brokers using TypeScript decorators. - [Controllers](https://oprajs.com/docs/protocols/socketio/controllers): Define Socket.IO controllers and event handlers using @WSController and @WSOperation decorators, with automatic payload validation and response enc... - [Overview](https://oprajs.com/docs/protocols/socketio/overview): Build real-time event-driven APIs with OPRA's decorator-driven Socket.IO layer, covering controllers, operations, event parameters, and response en... - [AngularBackend](https://oprajs.com/docs/reference/angular/angular-backend): Angular-specific HttpBackend that routes all HTTP traffic through Angular's HttpClient, preserving interceptors, HttpContext, and the DI system. - [OpraClientModule](https://oprajs.com/docs/reference/angular/opra-client-module): Register an OPRA HTTP client as an Angular DI provider using OpraClientModule, with support for sync, async, and custom service class configurations. - [ApiUiFactory](https://oprajs.com/docs/reference/api-ui/api-ui-factory): Renders a self-contained HTML page presenting an interactive API reference UI directly from an OPRA ApiDocument. - [ApiUiOptions](https://oprajs.com/docs/reference/api-ui/api-ui-options): Options that control how the @opra/api-ui reference page is rendered: page title, theme, scope, language, logo, studio, and more. - [expressApiUi](https://oprajs.com/docs/reference/api-ui/express-api-ui): Express middleware factory that mounts the @opra/api-ui reference page (and optional documentation studio) at a given route. - [fastifyApiUi](https://oprajs.com/docs/reference/api-ui/fastify-api-ui): Fastify plugin factory that mounts the @opra/api-ui reference page at a given prefix. - [TsGenerator](https://oprajs.com/docs/reference/cli/ts-generator): Programmatically generate typed TypeScript client code from a live OPRA service schema using TsGenerator, the API behind the oprimp CLI command. - [ClientError](https://oprajs.com/docs/reference/client/client-error): Typed error class thrown on 4xx/5xx responses, exposing the HTTP status code and structured OPRA issue details from the response body. - [FetchBackend](https://oprajs.com/docs/reference/client/fetch-backend): Concrete HttpBackend that uses the browser or Node.js fetch API as transport, with configurable defaults, interceptors, and automatic body serializ... - [HttpBackend](https://oprajs.com/docs/reference/client/http-backend): Abstract base class for OPRA HTTP transports. Extend it to implement a custom backend while keeping the rest of the client unchanged. - [HttpBundleObservable](https://oprajs.com/docs/reference/client/http-bundle-observable): Group multiple HTTP requests into a single multipart/mixed POST using HttpBundleObservable, then resolve individual responses from the bundle result. - [HttpClientBase](https://oprajs.com/docs/reference/client/http-client-base): Abstract base class providing the full HTTP verb API and pluggable backend slot shared by all OPRA HTTP client implementations. - [OpraHttpClient](https://oprajs.com/docs/reference/client/http-client): Instantiate OpraHttpClient to send GET, POST, PATCH, PUT, and DELETE requests to an OPRA service with built-in FetchBackend and configurable defaul... - [HttpInterceptor](https://oprajs.com/docs/reference/client/http-interceptor): Add class-based or functional interceptors to inspect and modify HTTP requests and responses in the OPRA client pipeline. - [HttpRequestObservable](https://oprajs.com/docs/reference/client/http-request-observable): Fluent lazy request builder returned by all OPRA client methods — chain headers, params, and body options before subscribing or awaiting the response. - [HttpResponse](https://oprajs.com/docs/reference/client/http-response): Reference for HttpResponse and the HttpEvent stream types emitted when observing request progress, headers, and completion in the OPRA client. - [ApiDocumentFactory](https://oprajs.com/docs/reference/common/api-document-factory): Build and validate an ApiDocument at runtime from an init object, a remote schema URL, or a plain OpraSchema object using the static createDocument... - [ApiDocument](https://oprajs.com/docs/reference/common/api-document): Root object of an OPRA application that holds the type registry, linked external documents, and the API transport definition used by the framework. - [ApiField](https://oprajs.com/docs/reference/common/api-field): Declare fields on a ComplexType class with @ApiField(), specifying type, constraints, and serialization behavior for validation and encode/decode c... - [ArrayType](https://oprajs.com/docs/reference/common/array-type): Runtime class representing a homogeneous array type in an OPRA document, with element type, occurrence constraints, and codec generation support. - [ComplexType](https://oprajs.com/docs/reference/common/complex-type): Runtime class representing an object type in an OPRA document — inspect fields, traverse inheritance, generate encode/decode codecs, and export sch... - [EnumType](https://oprajs.com/docs/reference/common/enum-type): Factory function that creates a named enumeration type from a string array or object map, usable as a field type, parameter type, or response type. - [HttpApi](https://oprajs.com/docs/reference/common/http-api): Runtime class representing the HTTP transport layer of an OPRA document — access controllers, look up operations, and read the base URL via documen... - [HttpController](https://oprajs.com/docs/reference/common/http-controller): Runtime class for a controller node in the OPRA HTTP API tree — inspect nested controllers, shared parameters, operations, and the resolved URL path. - [HTTP Errors](https://oprajs.com/docs/reference/common/http-errors): Typed HTTP error classes to throw from operation handlers — covers 400–500 status codes with structured codes, severity levels, and automatic respo... - [HttpMediaType](https://oprajs.com/docs/reference/common/http-media-type): Base class describing a typed HTTP body payload with MIME type, an OPRA data type for validation, and multipart field declarations. Extended by req... - [HttpMultipartField](https://oprajs.com/docs/reference/common/http-multipart-field): Describes a single part in a multipart/form-data body — declare uploaded files or form fields with type validation, size limits, and required const... - [HttpOperationResponse](https://oprajs.com/docs/reference/common/http-operation-response): Runtime class for a declared response shape on an HTTP operation — inspect status code ranges, body type, response parameters, and partial field ha... - [HttpOperation](https://oprajs.com/docs/reference/common/http-operation): Runtime class for a single HTTP endpoint on a controller — inspect the HTTP method, path, declared parameters, request body, and response definitions. - [HttpParameter](https://oprajs.com/docs/reference/common/http-parameter): Runtime class for a declared HTTP parameter on a controller or operation — covers query, path, header, and cookie locations with type validation an... - [HttpRequestBody](https://oprajs.com/docs/reference/common/http-request-body): Runtime class for the request body declaration on an HTTP operation — configure supported content types, size limits, partial mode, and null-option... - [HttpStatusRange](https://oprajs.com/docs/reference/common/http-status-range): Value class representing a single HTTP status code or contiguous range (e.g. 400-499), used to declare which status codes an operation response cov... - [MappedType](https://oprajs.com/docs/reference/common/mapped-type): Runtime representation of a derived object type built by OmitType, PickType, PartialType, or RequiredType, with full field iteration and codec gene... - [MixinType](https://oprajs.com/docs/reference/common/mixin-type): Runtime representation of a merged type that combines fields from multiple ComplexType, MappedType, or MixinType instances into a flat, iterable fi... - [MQApi](https://oprajs.com/docs/reference/common/mq-api): Runtime class for the message-queue transport layer of an OPRA document. Look up MQController and MQOperation instances by name or constructor. - [MQController](https://oprajs.com/docs/reference/common/mq-controller): Runtime class representing a message-queue controller that groups related operations sharing headers and local types. Accessed via MQApi. - [MQHeader](https://oprajs.com/docs/reference/common/mq-header): Runtime class for a message header declared on an MQController or MQOperation. Carries transport metadata such as correlation IDs and routing keys. - [MQOperationResponse](https://oprajs.com/docs/reference/common/mq-operation-response): Descriptor for the outgoing reply produced by an MQOperation. Declares the response channel, payload type, key type, and response-specific headers. - [MQOperation](https://oprajs.com/docs/reference/common/mq-operation): Runtime class representing a single message-queue operation that maps a channel pattern to a payload type and carries headers and a response descri... - [OpraFilter](https://oprajs.com/docs/reference/common/opra-filter): Parse and build filter expressions for OPRA collection endpoints. Covers comparison, logical, and arithmetic operators used in the $filter query pa... - [SimpleType](https://oprajs.com/docs/reference/common/simple-type): Runtime class for scalar types such as string, number, date, and uuid. Supports type inheritance, constraint properties, and codec generation. - [WSApi](https://oprajs.com/docs/reference/common/ws-api): Runtime class for the WebSocket transport layer of an OPRA document. Look up WSController and WSOperation instances by name or constructor. - [WSController](https://oprajs.com/docs/reference/common/ws-controller): Runtime class representing a WebSocket controller in an OPRA document. Groups related operations under a named scope and exposes local data types. - [WSOperation](https://oprajs.com/docs/reference/common/ws-operation): Runtime class for a single WebSocket operation. Maps a socket event name or pattern to a handler and declares argument types and optional response ... - [ExecutionBundle](https://oprajs.com/docs/reference/core/execution-bundle): Base class grouping multiple operation executions that share a transport-level connection. Used by HttpBundle to process multipart/mixed batch requ... - [ElasticAdapter](https://oprajs.com/docs/reference/elastic/elastic-adapter): Namespace of utility functions that translate OPRA filters, projections, sorts, and patch objects into Elasticsearch query DSL structures. - [ElasticCollectionService](https://oprajs.com/docs/reference/elastic/elastic-collection-service): High-level Elasticsearch service for collection-level CRUD operations including create, count, find, update, and delete with filter and projection ... - [ElasticEntityService](https://oprajs.com/docs/reference/elastic/elastic-entity-service): Abstract class providing index-level CRUD primitives, codec handling, and lifecycle hooks for Elasticsearch entities. Extend ElasticCollectionServi... - [ElasticService](https://oprajs.com/docs/reference/elastic/elastic-service): Abstract base class for all @opra/elastic services. Wires up the Elasticsearch client, interceptor chain, and error handling. Extend ElasticCollect... - [ExpressAdapter](https://oprajs.com/docs/reference/http/express-adapter): Integrates an OPRA ApiDocument into Express, registering controller routes, decoding requests, dispatching handlers, and serializing responses. - [HttpAdapter](https://oprajs.com/docs/reference/http/http-adapter): Abstract base class for all HTTP platform adapters. Manages the interceptor chain, base path, request parsing, dispatch, and response serialization. - [HttpBundle](https://oprajs.com/docs/reference/http/http-bundle): Execution bundle for HTTP multipart/mixed batch requests. Processes each part as an independent sub-request and supports database transaction seman... - [HttpContext](https://oprajs.com/docs/reference/http/http-context): Complete API reference for HttpContext, the per-request execution object that exposes path params, query params, headers, cookies, and body reading... - [HttpRequest](https://oprajs.com/docs/reference/http/http-request): API reference for HttpRequest, OPRA's typed incoming request interface extending Node.js IncomingMessage with content negotiation and routing helpers. - [HttpResponse](https://oprajs.com/docs/reference/http/http-response): API reference for HttpResponse, OPRA's outgoing response interface extending Node.js ServerResponse with cookies, redirects, and content-type helpers. - [IncomingMessageHost](https://oprajs.com/docs/reference/http/incoming-message-host): Factory namespace for creating http.IncomingMessage instances in tests and adapters — from a plain object or raw HTTP bytes — without a real socket... - [LocalFile](https://oprajs.com/docs/reference/http/local-file): Reference for LocalFile, representing a temp or uploaded file on disk with read methods and optional GC-triggered auto-deletion. - [MultipartReader](https://oprajs.com/docs/reference/http/multipart-reader): Parse multipart/form-data and multipart/mixed request bodies part by part, accessing each uploaded file or field with full header preservation. - [ServerResponseHost](https://oprajs.com/docs/reference/http/server-response-host): Factory namespace for creating http.ServerResponse instances in tests and adapters, with an in-memory capacitor stream to read back the full response. - [Type Guards](https://oprajs.com/docs/reference/http/type-guards): Runtime type guard functions for narrowing Node.js http.IncomingMessage and ServerResponse objects to OPRA's typed HttpRequest and HttpResponse int... - [wrapException](https://oprajs.com/docs/reference/http/wrap-exception): Maps any thrown error to a typed OpraHttpError subclass based on its HTTP status code, normalizing third-party exceptions for OPRA's error handling... - [MongoAdapter](https://oprajs.com/docs/reference/mongodb/mongo-adapter): Converts OPRA filter expressions, projections, and sort descriptors to MongoDB queries and parses HTTP execution contexts into operation descriptors. - [MongoCollectionService](https://oprajs.com/docs/reference/mongodb/mongo-collection-service): Full API reference for MongoCollectionService, the concrete OPRA service for MongoDB collections with CRUD, pagination, and bulk-operation support. - [MongoEntityService](https://oprajs.com/docs/reference/mongodb/mongo-entity-service): Abstract base class that adds low-level MongoDB primitives, interceptor loops, and lifecycle hooks shared by MongoCollectionService and MongoSingle... - [MongoNestedService](https://oprajs.com/docs/reference/mongodb/mongo-nested-service): Reference for MongoNestedService, which manages CRUD operations on embedded array fields within a parent MongoDB document. - [MongoPatchGenerator](https://oprajs.com/docs/reference/mongodb/mongo-patch-generator): Converts OPRA patch DTOs into MongoDB update filters ($set, $unset, $push, $pull) with support for nested fields and array mutations. - [MongoService](https://oprajs.com/docs/reference/mongodb/mongo-service): Abstract base class for all @opra/mongodb services, providing connection wiring, codec generation, interceptor chain, and transaction support. - [MongoSingletonService](https://oprajs.com/docs/reference/mongodb/mongo-singleton-service): API reference for MongoSingletonService, which manages a single fixed-identity MongoDB document with create, find, update, and replace operations. - [Types](https://oprajs.com/docs/reference/mongodb/types): Utility types exported from @opra/mongodb, including MongoPatchDTO for partial updates with $push and $pull array operators. - [IS_PUBLIC_KEY](https://oprajs.com/docs/reference/nestjs/is-public-key): Metadata key used by the @Public() decorator to mark NestJS endpoints as publicly accessible. - [OpraNestUtils](https://oprajs.com/docs/reference/nestjs/opra-nest-utils): Utility class for copying OPRA decorator metadata and NestJS guard/interceptor/filter metadata between classes. - [Public](https://oprajs.com/docs/reference/nestjs/public-decorator): Decorator that marks a NestJS controller or route handler as public, bypassing OPRA authentication guards. - [OpraExceptionFilter](https://oprajs.com/docs/reference/nestjs-http/opra-exception-filter): NestJS exception filter that catches errors in OPRA HTTP requests and serialises them as OPRA-formatted error responses. - [OpraHttpModule](https://oprajs.com/docs/reference/nestjs-http/opra-http-module): NestJS dynamic module that integrates OPRA HTTP support into a NestJS application via forRoot() and forRootAsync(). - [OpraHttpNestjsAdapter](https://oprajs.com/docs/reference/nestjs-http/opra-http-nestjs-adapter): HttpAdapter subclass that bridges OPRA HTTP operations into NestJS by generating NestJS controller classes at module initialisation. - [OpraMiddleware](https://oprajs.com/docs/reference/nestjs-http/opra-middleware): NestJS middleware that creates an OPRA HttpContext for each incoming request and attaches it to the Express/Fastify request object. - [OpraKafkaModule](https://oprajs.com/docs/reference/nestjs-kafka/opra-kafka-module): NestJS dynamic module that integrates OPRA Kafka support into a NestJS application via forRoot() and forRootAsync(). - [OpraRabbitmqModule](https://oprajs.com/docs/reference/nestjs-rabbitmq/opra-rabbitmq-module): NestJS dynamic module that integrates OPRA RabbitMQ support into a NestJS application via forRoot() and forRootAsync(). - [OpraSocketioModule](https://oprajs.com/docs/reference/nestjs-socketio/opra-socketio-module): NestJS dynamic module that integrates OPRA Socket.IO support into a NestJS application via forRoot() and forRootAsync(). - [OpenApiDocumentFactory](https://oprajs.com/docs/reference/openapi/openapi-document-factory): Generates OpenAPI 3.0 or 3.1 documents from an OPRA ApiDocument. Entry point for the @opra/openapi package. - [OpenApiGenerateContext](https://oprajs.com/docs/reference/openapi/openapi-generate-context): Shared mutable state threaded through all mappers during OpenAPI document generation: version, schemas map, name deduplication, and warnings. - [SQBAdapter](https://oprajs.com/docs/reference/sqb/sqb-adapter): Namespace providing filter translation, request parsing, and type utilities for integrating OPRA operations with the SQB SQL query builder. - [SqbCollectionService](https://oprajs.com/docs/reference/sqb/sqb-collection-service): Full API reference for SqbCollectionService, the concrete OPRA service for SQL collections with CRUD, pagination, and bulk-operation support via SQB. - [SqbEntityService](https://oprajs.com/docs/reference/sqb/sqb-entity-service): Abstract base class providing CRUD primitives, lifecycle hooks, and interceptor support for SqbCollectionService and SqbSingletonService. - [SqbServiceBase](https://oprajs.com/docs/reference/sqb/sqb-service-base): Abstract base class for all @opra/sqb services, wiring up the database connection, transaction support, and context-scoped connection resolution. - [SqbSingletonService](https://oprajs.com/docs/reference/sqb/sqb-singleton-service): Concrete SQB service for managing a single database record — create, read, update, delete, and existence checks for singleton resources. - [API Document](https://oprajs.com/docs/schema/api-document): Build and configure an ApiDocument using ApiDocumentFactory — the root object that registers types, references, and transport definitions for an OP... - [Overview](https://oprajs.com/docs/schema/overview): Understand the OPRA schema system — ApiDocument, data types, HTTP/MQ/WS API definitions, and how the schema drives validation, encoding, and client... - [Schema Definition](https://oprajs.com/docs/schema/schema-definition): An OPRA document is a JSON/YAML object that describes a complete API — its metadata, shared data types, linked documents, and API transport definit... - [ApiExpect & Matchers](https://oprajs.com/docs/testing/api-expect): Fluent assertion API for OPRA HTTP responses — assert status codes, collection payloads, single objects, operation results, and error details in on... - [OpraTestClient](https://oprajs.com/docs/testing/opra-test-client): Test OPRA HTTP services without binding a port — send requests directly to your app handler and assert responses using the built-in ApiExpect API. - [Overview](https://oprajs.com/docs/testing/overview): Get started with @opra/testing — portless HTTP testing and fluent response assertions for end-to-end coverage of OPRA services.