# microsoft/typespec

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/microsoft-typespec).**

5,781 stars · 374 forks · Java · MIT

## Links

- GitHub: https://github.com/microsoft/typespec
- Homepage: https://typespec.io/
- awesome-repositories: https://awesome-repositories.com/repository/microsoft-typespec.md

## Topics

`json-schema` `openapi3` `protobuf` `typespec`

## Description

TypeSpec is a language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code from a single source of truth. It functions as a protocol-agnostic API designer that models REST, gRPC, and other API protocols using a unified, extensible syntax, with a decorator-based metadata system for attaching metadata, validation rules, and lifecycle visibility to API models and operations. The compiler produces OpenAPI 3.0 specifications and other artifacts, and the tool supports declaring API versions and tracking changes to models, properties, and operations across releases.

The language distinguishes itself through a structural type system with spread and inheritance, template-parameterized type composition, and a scalar type system with constructors that define primitive types with factory methods and encoding rules. It features resource-oriented route derivation that automatically generates RESTful URL paths and CRUD operations from resource models, and multi-protocol code generation that compiles a single definition into multiple output formats through extensible emitter plugins. Versioned API evolution tracking records changes to models, properties, and operations across API versions using decorators that track additions, removals, renames, and type changes.

The broader capability surface covers HTTP API routing and semantics, data model validation and constraints, custom API code generation through custom emitters and decorators, and authentication scheme composition that combines multiple methods at service or operation level. The language supports defining structured data models, scalars, enums, unions, arrays, and values with inheritance, composition, constraints, and validation rules, along with capabilities for attaching descriptive metadata to API elements and formatting documentation with Markdown.

## Tags

### Part of an Awesome List

- [API Definition Languages](https://awesome-repositories.com/f/awesome-lists/devtools/cloud-apis/api-definition-languages.md) — Provides a dedicated language for defining cloud API shapes and generating OpenAPI, JSON Schema, and client/server code. ([source](https://cdn.jsdelivr.net/gh/microsoft/typespec@main/README.md))
- [Inheritance-Based Model Extensions](https://awesome-repositories.com/f/awesome-lists/devtools/simulation-and-modeling/inheritance-based-model-extensions.md) — Creates new models that inherit all properties from a parent model, adding or overriding fields. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Interface Composition with Extends](https://awesome-repositories.com/f/awesome-lists/devtools/extender-api-tools/interface-composition-with-extends.md) — Combines operations from multiple interfaces into one by using the extends keyword, enabling modular API design. ([source](https://typespec.io/docs/language-basics/interfaces/index.html.md))

### Software Engineering & Architecture

- [Contract-First API Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/contract-first-server-implementations/contract-first-api-frameworks.md) — Defines API shapes and endpoints in a single source-of-truth language before generating code and documentation.
- [Decorator-Based](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/decorator-based.md) — Attaches metadata to types and operations using decorators for generating documentation, schemas, and code.
- [Structured Error Responses](https://awesome-repositories.com/f/software-engineering-architecture/api-error-handling-patterns/structured-error-responses.md) — Defines structured error response models for resource operations. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))
- [Version-Specific Model Tagging](https://awesome-repositories.com/f/software-engineering-architecture/api-specification-versions/version-specific-model-tagging.md) — Tags models and operations with their introduction version for versioned API evolution tracking. ([source](https://typespec.io/docs/getting-started/getting-started-rest/06-versioning/index.html.md))
- [Data Schema Validation](https://awesome-repositories.com/f/software-engineering-architecture/data-schema-validation.md) — Exports JSON Schema definitions from shared models to validate data consistency across services. ([source](https://typespec.io/))
- [HTTP Parameter Declarations](https://awesome-repositories.com/f/software-engineering-architecture/data-schema-validation/data-type-validation/parameter-type-enforcement/optional-parameter-markers/http-parameter-declarations.md) — Provides a decorator-based system for declaring HTTP parameter locations in API operation definitions. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [API Metadata Decorators](https://awesome-repositories.com/f/software-engineering-architecture/decorator-based-validation/api-metadata-decorators.md) — Attaches metadata, validation rules, and lifecycle visibility to API models and operations using decorators.
- [API Documentation Annotations](https://awesome-repositories.com/f/software-engineering-architecture/documentation-driven-standards/api-documentation-annotations.md) — Attaches descriptive text to models, operations, and properties using decorators for generating external documentation. ([source](https://typespec.io/docs/language-basics/documentation/index.html.md))
- [Server-Driven Pagination Configurations](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures/server-driven-navigation/server-driven-pagination-configurations.md) — Provides a decorator-based system for configuring server-driven pagination in API definitions. ([source](https://typespec.io/docs/standard-library/pagination/index.html.md))
- [API Operation Composition](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/dependency-injection/dependency-graph-construction/composable-graph-operators/api-operation-composition.md) — Defines operations with typed parameters and return values, supporting templates and interface composition for reusable endpoints. ([source](https://typespec.io/docs/language-basics/overview))
- [Resource Key Parameter Copies](https://awesome-repositories.com/f/software-engineering-architecture/keyed-resource-pools/resource-key-parameter-copies.md) — Provides a mechanism for copying resource key parameters between models for nested API operations. ([source](https://typespec.io/docs/libraries/rest/reference/decorators/index.html.md))
- [OpenAPI Specification Generators](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/code-annotations/openapi-specification-generators.md) — Compiles TypeSpec API definitions into OpenAPI 3.0 specifications and other artifacts.
- [Named Constants](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/named-constants.md) — Declares sets of named constants with optional assigned string, integer, or float values. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Authentication Requirements](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/reserved-names/access-restrictions/authentication-requirements.md) — Defines authentication requirements for services and specific operations in the API definition. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [Operation Metadata](https://awesome-repositories.com/f/software-engineering-architecture/operation-metadata.md) — Adds tags, summaries, descriptions, and security details to operations for documentation and tooling. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [Structured Type Declarations](https://awesome-repositories.com/f/software-engineering-architecture/optional-value-types/default-value-insertions/model-property-defaults/structured-type-declarations.md) — Declares structured types with named fields, optional properties, and default values for API data modeling. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Single Value Validators](https://awesome-repositories.com/f/software-engineering-architecture/runtime-value-validation/allowed-value-validations/single-value-validators.md) — Validates values against built-in constraints like minLength and maxValue using decorators. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [Namespace Scopes](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/configuration-dependency-systems/modular-dependency-management/namespace-scopes.md) — Brings types from a different namespace into the current scope for convenient use without full qualification. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Type-of Operators](https://awesome-repositories.com/f/software-engineering-architecture/boolean-configuration-values/value-type-inspectors/type-of-operators.md) — Uses the typeof operator to obtain the declared or inferred type of a value reference. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [Resource Action Definitions](https://awesome-repositories.com/f/software-engineering-architecture/custom-action-handlers/resource-action-definitions.md) — Marks operations as custom actions scoped to resource instances or collections with configurable route separators. ([source](https://typespec.io/docs/libraries/rest/reference/decorators/index.html.md))
- [ISO 8601 Parsers](https://awesome-repositories.com/f/software-engineering-architecture/data-exchange-standards/iso-8601-standards/iso-8601-parsers.md) — Creates date, time, or duration scalar values by parsing standard ISO 8601 strings. ([source](https://typespec.io/docs/language-basics/scalars/index.html.md))
- [Model Duplication](https://awesome-repositories.com/f/software-engineering-architecture/decorator-patterns/decorators/model-duplication.md) — Creates exact copies of models including all attached decorators without nominal inheritance. ([source](https://typespec.io/docs/language-basics/models/index.html.md))
- [API Error Documentation](https://awesome-repositories.com/f/software-engineering-architecture/error-handling/api-error-documentation.md) — Associates specific error models with each API operation so generated documentation and clients know which errors to expect. ([source](https://typespec.io/docs/getting-started/getting-started-rest/03-handling-errors/index.html.md))
- [Lifecycle Phase Model Transformations](https://awesome-repositories.com/f/software-engineering-architecture/execution-models/request-lifecycle-phases/lifecycle-phase-model-transformations.md) — Generates derived models filtered by lifecycle phase for create, read, update, and delete operations. ([source](https://typespec.io/docs/language-basics/visibility/index.html.md))
- [Authentication Overrides](https://awesome-repositories.com/f/software-engineering-architecture/hierarchical-configuration-overrides/authentication-overrides.md) — Applies different authentication schemes to specific operations, overriding parent defaults. ([source](https://typespec.io/docs/libraries/http/authentication/index.html.md))
- [OpenAPI Extension Attachments](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/code-annotations/openapi-specification-generators/openapi-extension-attachments.md) — Attaches arbitrary key-value data to the generated OpenAPI element for a type, enabling vendor-specific extensions. ([source](https://typespec.io/docs/libraries/openapi/reference/decorators/index.html.md))
- [Auto Decorators](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/decorator-based/auto-decorators.md) — TypeSpec creates decorators that attach metadata without custom logic, requiring no JavaScript implementation. ([source](https://typespec.io/docs/language-basics/decorators/index.html.md))
- [Remote Decorator Applications](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/decorator-based/remote-decorator-applications.md) — TypeSpec attaches a decorator to a type from a different location by referencing the target type with an `@@` prefix statement. ([source](https://typespec.io/docs/language-basics/decorators/index.html.md))
- [OpenAPI Tag Metadata](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/struct-tags/reflection-based-type-mapping/openapi-specification-extraction/openapi-tag-metadata.md) — Provides additional OpenAPI info metadata for the service, complementing the title set by the service decorator. ([source](https://typespec.io/docs/libraries/openapi/reference/decorators/index.html.md))
- [Enum Composition](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/named-constants/enum-definitions/enum-composition.md) — Creates new enums by merging all members from another enum into the current definition. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Enum Member References](https://awesome-repositories.com/f/software-engineering-architecture/naming-conventions/named-constants/enum-definitions/enum-member-references.md) — Accesses enum members using dot notation for use in API models and decorators. ([source](https://typespec.io/docs/language-basics/enums/index.html.md))
- [Numeric Precision Serialization](https://awesome-repositories.com/f/software-engineering-architecture/numeric-precision-serialization.md) — Serializes int64, decimal128, and other large numeric types as JSON strings to avoid precision loss. ([source](https://typespec.io/docs/libraries/http/encoding/index.html.md))
- [Inline Object Literals](https://awesome-repositories.com/f/software-engineering-architecture/object-schema-definitions/value-objects/inline-object-literals.md) — Constructs structured values with named properties using inline object literal syntax. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [Numeric Literal Constants](https://awesome-repositories.com/f/software-engineering-architecture/optional-value-types/value-constraint-enforcers/numeric-literal-constraints/numeric-literal-constants.md) — Specifies exact integer or decimal number literals for status codes, limits, or other numeric constraints. ([source](https://typespec.io/docs/language-basics/type-literals/index.html.md))
- [Reusable Response Components](https://awesome-repositories.com/f/software-engineering-architecture/reusable-component-architectures/reusable-response-components.md) — References models and parameters by name to generate reusable schemas and parameters in the output. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [URI Template Expanders](https://awesome-repositories.com/f/software-engineering-architecture/type-safe-interface-architectures/templating-engines/uri-template-expanders.md) — Sets the relative URI template for an operation following RFC 6570. ([source](https://typespec.io/docs/libraries/http/reference/decorators/index.html.md))
- [Array Element](https://awesome-repositories.com/f/software-engineering-architecture/typescript-type-definitions/static-type-checking/type-specifications/array-element.md) — Declares arrays where every element must be of the same specified type using shorthand syntax. ([source](https://typespec.io/docs/language-basics/models/index.html.md))

### Data & Databases

- [CRUD Operations](https://awesome-repositories.com/f/data-databases/crud-operations.md) — Defines create, read, update, and delete operations for resource models using HTTP verbs and route decorators. ([source](https://typespec.io/docs/getting-started/getting-started-rest/02-operations-responses/index.html.md))
- [Automatic CRUD Route Derivations](https://awesome-repositories.com/f/data-databases/crud-operations/automatic-crud-route-derivations.md) — Automatically derives RESTful CRUD routes and semantics from resource model declarations. ([source](https://typespec.io/docs/libraries/rest/reference/decorators/index.html.md))
- [Path and Query Parameter Declarations](https://awesome-repositories.com/f/data-databases/data-querying/query-parameter-filters/url-path-query-injections/path-and-query-parameter-declarations.md) — Provides a decorator-based system for declaring path and query parameters in API definitions. ([source](https://typespec.io/docs/libraries/http/operations/index.html.md))
- [Numeric Range Constraints](https://awesome-repositories.com/f/data-databases/data-querying/table-item-filters/numeric-range-filters/numeric-range-constraints/numeric-range-constraints.md) — Defines integer and floating-point values with specific bit widths and signedness for data storage and serialization. ([source](https://typespec.io/docs/language-basics/built-in-types/index.html.md))
- [Custom Scalars](https://awesome-repositories.com/f/data-databases/data-type-definitions/scalar-types/custom-scalars.md) — Defines custom primitive types by extending existing scalars with specialized encoding rules. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Type Definition Reuse Mechanisms](https://awesome-repositories.com/f/data-databases/dimension-definition-reuse/type-definition-reuse-mechanisms.md) — Provides templates, aliases, and spreads to reuse type definitions across API models and operations. ([source](https://typespec.io/docs/language-basics/overview))
- [Query Parameter Configurations](https://awesome-repositories.com/f/data-databases/http-query-protocols/query-parameter-configurations.md) — Provides a decorator-based system for configuring HTTP query parameter options in API definitions. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Composable Schema Builders](https://awesome-repositories.com/f/data-databases/json-schema-modeling/schema-validators/composable-schema-builders.md) — Builds models by extending, composing, or spreading other models to define shared property sets. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [API Data Shapes](https://awesome-repositories.com/f/data-databases/relational-data-modeling/complex-data-modeling/api-data-shapes.md) — Describes the structure of entities and their properties using a model construct to represent API data shapes. ([source](https://typespec.io/docs/getting-started/getting-started-rest/01-setup-basic-syntax/index.html.md))
- [API Payload Constraint Validators](https://awesome-repositories.com/f/data-databases/schema-enforcement-tools/validation-constraints/project-constraint-validation/api-payload-constraint-validators.md) — Defines structured types with property constraints, string formats, and numeric limits for API payload validation.
- [Named Field Schemas](https://awesome-repositories.com/f/data-databases/structured-data-schemas/named-field-schemas.md) — Defines schemas with typed, named fields supporting optionality and default values for API data structures. ([source](https://typespec.io/docs/language-basics/models/index.html.md))
- [Unified API Syntax Designers](https://awesome-repositories.com/f/data-databases/visitor-data-apis/backend-integration/protocol-agnostic-integrations/unified-api-syntax-designers.md) — Models REST, gRPC, and other API protocols using a unified, extensible syntax.
- [API Operation Groupings](https://awesome-repositories.com/f/data-databases/custom-grouped-operations/api-operation-groupings.md) — Groups related API operations into reusable interfaces for modular API design. ([source](https://typespec.io/docs/language-basics/interfaces/index.html.md))
- [Scalar Value Generation](https://awesome-repositories.com/f/data-databases/data-type-definitions/scalar-types/custom-scalars/scalar-value-generation.md) — Defines factory methods on scalars that produce typed values from other inputs for emitter interpretation. ([source](https://typespec.io/docs/language-basics/scalars/index.html.md))
- [Literal Value Definitions](https://awesome-repositories.com/f/data-databases/data-type-definitions/scalar-types/custom-scalars/scalar-value-generation/literal-value-definitions.md) — Creates literal values for primitive types that can also function as literal type definitions. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [Scalar Constructors](https://awesome-repositories.com/f/data-databases/data-type-definitions/scalar-types/custom-scalars/scalar-value-generation/scalar-constructors.md) — Defines factory methods on scalar types that produce typed values from other inputs for emitter interpretation. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [Scalar Type Constructors](https://awesome-repositories.com/f/data-databases/data-type-definitions/scalar-types/scalar-type-constructors.md) — Defines primitive types with factory methods and encoding rules for dates, durations, and other scalars.
- [Date and Time Libraries](https://awesome-repositories.com/f/data-databases/date-and-time-libraries.md) — Models calendar dates, clock times, UTC timestamps, offset-aware datetimes, and durations without prescribing serialization. ([source](https://typespec.io/docs/language-basics/built-in-types/index.html.md))
- [Versioned](https://awesome-repositories.com/f/data-databases/element-renaming/versioned.md) — Records element renames across API versions, preserving old names for earlier versions. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))
- [Custom Enum Value Assignments](https://awesome-repositories.com/f/data-databases/enum-definitions/computed-enum-members/custom-enum-value-assignments.md) — Assigns custom string, integer, or float values to enum members using colon syntax. ([source](https://typespec.io/docs/language-basics/enums/index.html.md))
- [Enum Spread Composition](https://awesome-repositories.com/f/data-databases/enum-definitions/computed-enum-members/enum-spread-composition.md) — Combines enum members from one enum into another using the spread operator. ([source](https://typespec.io/docs/language-basics/enums/index.html.md))
- [Model Property Visibility Filters](https://awesome-repositories.com/f/data-databases/metadata-filtering/visibility-filtering/model-property-visibility-filters.md) — Filters model properties based on custom visibility rules with all, any, or none constraints. ([source](https://typespec.io/docs/language-basics/visibility/index.html.md))
- [Stream Protocol Models](https://awesome-repositories.com/f/data-databases/model-as-a-table-integrations/stream-protocol-models.md) — Defines stream protocol models as a first-class concept in the API definition language. ([source](https://typespec.io/docs/libraries/streams/reference/data-types/index.html.md))
- [Versioned Property Requirement Tracking](https://awesome-repositories.com/f/data-databases/object-property-accessors/collection-property-modifiers/graph-property-modifiers/optional-property-access/optional-property-declarations/requirement-toggles/versioned-property-requirement-tracking.md) — Records the API version when an optional property became required. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))
- [Versioned Property Optionality Changes](https://awesome-repositories.com/f/data-databases/property-based-filtering/application-property-filters/version-based-property-filtering/versioned-property-optionality-changes.md) — Records the API version when a required property changed to optional. ([source](https://typespec.io/docs/libraries/versioning/guide/index.html.md))
- [Variant](https://awesome-repositories.com/f/data-databases/reference-value-adjustments/value-references/variant.md) — Uses union variant references in value context to produce the variant's literal value. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [Versioned Property Optionality Tracking](https://awesome-repositories.com/f/data-databases/schema-validation-libraries/deep-property-validation/exact-optional-property-validation/versioned-property-optionality-tracking.md) — Records the API version when a required property became optional. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))

### Development Tools & Productivity

- [API Code Generators](https://awesome-repositories.com/f/development-tools-productivity/api-code-generators.md) — Writes emitters and decorators to produce client libraries, server stubs, or documentation in any target format.
- [Multi-Protocol Code Generators](https://awesome-repositories.com/f/development-tools-productivity/api-code-generators/multi-protocol-code-generators.md) — Compiles a single definition into multiple output formats like OpenAPI, JSON Schema, and Protobuf.
- [Versioned Element Addition Tracking](https://awesome-repositories.com/f/development-tools-productivity/api-operation-tagging/versioned-element-addition-tracking.md) — Records the API version when models, properties, or operations were first introduced. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))
- [API Evolution Tracking](https://awesome-repositories.com/f/development-tools-productivity/change-tracking/resource-evolution-trackers/api-evolution-tracking.md) — Records changes to models, properties, and operations across API versions using decorators that track additions, removals, renames, and type changes.
- [Custom Code Generators](https://awesome-repositories.com/f/development-tools-productivity/custom-code-generators.md) — Creates custom output formats by writing emitters that transform TypeSpec definitions into any target artifact. ([source](https://typespec.io/))
- [Multipart Part Configurations](https://awesome-repositories.com/f/development-tools-productivity/multipart-part-configurations.md) — Ships a decorator-based mechanism for configuring multipart HTTP part options in API definitions. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [OpenAPI Specification Generators](https://awesome-repositories.com/f/development-tools-productivity/openapi-configurations/documentation-generators/openapi-specification-generators.md) — Compiles TypeSpec definitions into OpenAPI 3.0 specification files for standard API tooling. ([source](https://cdn.jsdelivr.net/gh/microsoft/typespec@main/README.md))
- [Automatic Route Generators](https://awesome-repositories.com/f/development-tools-productivity/rest-apis/automatic-route-generators.md) — Automatically constructs REST API routes from resource models and operation decorators. ([source](https://typespec.io/docs/libraries/rest/resource-routing/index.html.md))
- [HTTP-Verb Controller Generators](https://awesome-repositories.com/f/development-tools-productivity/rest-apis/programmatic-resource-controllers/http-verb-controller-generators.md) — Assigns specific HTTP methods to operations using decorators like get, post, put, patch, or delete. ([source](https://typespec.io/docs/libraries/rest/resource-routing/index.html.md))
- [Versioned Element Removal Tracking](https://awesome-repositories.com/f/development-tools-productivity/version-managers/runtime-version-removal/versioned-element-removal-tracking.md) — Records the API version when models, properties, or operations were removed. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))
- [Paginated API Operations](https://awesome-repositories.com/f/development-tools-productivity/collection-pagination-utilities/paginated-api-operations.md) — Marks an operation with a decorator to return a collection split into pages, with page items annotated on the response property. ([source](https://typespec.io/docs/standard-library/pagination/index.html.md))
- [Vendor Extensions](https://awesome-repositories.com/f/development-tools-productivity/development-extensions/extension-metadata/vendor-extensions.md) — Attaches arbitrary key-value metadata to models, operations, or schema objects for vendor-specific use. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [Security Definition Generations](https://awesome-repositories.com/f/development-tools-productivity/openapi-configurations/documentation-generators/openapi-specification-generators/security-definition-generations.md) — Generates security scheme definitions and operation-level security requirements in OpenAPI output. ([source](https://typespec.io/docs/getting-started/getting-started-rest/05-authentication/index.html.md))
- [Versioned](https://awesome-repositories.com/f/development-tools-productivity/project-configuration/component-manifest-registration/yaml-component-manifests/property-renaming/versioned.md) — Records property renames across API versions, preserving old names for earlier versions. ([source](https://typespec.io/docs/libraries/versioning/guide/index.html.md))
- [Double-Quoted String Literals](https://awesome-repositories.com/f/development-tools-productivity/string-literal-handling/raw-string-literals/double-quoted-string-literals.md) — Declares precise string constants using double quotes for use in API models, decorators, or type aliases. ([source](https://typespec.io/docs/language-basics/type-literals/index.html.md))
- [Multi-Line](https://awesome-repositories.com/f/development-tools-productivity/string-literal-handling/raw-string-literals/multi-line.md) — Writes string literals spanning multiple lines using triple quotes, preserving whitespace and line breaks. ([source](https://typespec.io/docs/language-basics/type-literals/index.html.md))
- [Textual File Declarations](https://awesome-repositories.com/f/development-tools-productivity/textual-file-declarations.md) — Provides a mechanism for declaring textual file types in API definitions for file transfer operations. ([source](https://typespec.io/docs/libraries/http/files/index.html.md))
- [Versioned Return Type Changes](https://awesome-repositories.com/f/development-tools-productivity/version-migration-scripts/return-type-migrations/versioned-return-type-changes.md) — Records return type changes across API versions, preserving old types for earlier versions. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))

### DevOps & Infrastructure

- [PATCH Operation Configurations](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/configuration-file-loading/configuration-merging/data-patching-operations/patch-operation-configurations.md) — Provides a decorator-based system for configuring HTTP PATCH operation options in API definitions. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Versioned Library Dependency Declarations](https://awesome-repositories.com/f/devops-infrastructure/version-upgrades/dependency-versioning/versioned-library-dependency-declarations.md) — Declares library version dependencies on namespaces or version enums using decorators. ([source](https://typespec.io/docs/libraries/versioning/guide/index.html.md))
- [Versioned Package Dependency Declarations](https://awesome-repositories.com/f/devops-infrastructure/version-upgrades/dependency-versioning/versioned-package-dependency-declarations.md) — Declares which version of a library a service depends on using decorators on namespaces or version enums. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))

### Game Development

- [Rules](https://awesome-repositories.com/f/game-development/entity-naming/rules.md) — Defines naming rules for models, enums, operations, and properties in API definitions. ([source](https://typespec.io/docs/language-basics/identifiers/index.html.md))

### Networking & Communication

- [Path Parameter Configurations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/http-client-libraries/http-client-configurations/path-parameter-configurations.md) — Provides a decorator-based system for configuring HTTP path parameter options in API definitions. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [API File Transfer Declarations](https://awesome-repositories.com/f/networking-communication/file-transfers/api-file-transfer-declarations.md) — Provides a declarative mechanism for defining file transfer operations in API definitions. ([source](https://typespec.io/docs/libraries/http/files/index.html.md))
- [File Upload and Download Models](https://awesome-repositories.com/f/networking-communication/http-file-uploads/file-upload-and-download-models.md) — Provides a model-based system for defining file upload and download payloads in API definitions. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Route Segment Configurations](https://awesome-repositories.com/f/networking-communication/url-routing-configurations/route-segment-configurations.md) — Provides a decorator-based system for configuring URL path segments in API route definitions. ([source](https://typespec.io/docs/libraries/rest/reference/decorators/index.html.md))
- [Response Streaming](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/http-client-libraries/http-client-utilities/response-streaming.md) — Provides a model for describing how streamed data is encoded over the wire in HTTP responses. ([source](https://typespec.io/docs/libraries/http/reference/streams/data-types/index.html.md))
- [HTTP Cookie Parameter Configuration](https://awesome-repositories.com/f/networking-communication/http-clients/http-cookie-management/http-cookie-parameter-configuration.md) — Marks a property to be sent or received as an HTTP cookie. ([source](https://typespec.io/docs/libraries/http/reference/decorators/index.html.md))
- [Predefined Response Shapes](https://awesome-repositories.com/f/networking-communication/http-clients/http-status-codes/exception-to-status-code-mappings/status-code-response-bodies/predefined-response-shapes.md) — Ships built-in response shapes for common HTTP status codes and body patterns. ([source](https://typespec.io/docs/libraries/http/operations/index.html.md))
- [Declarative File Transfer Models](https://awesome-repositories.com/f/networking-communication/http-file-uploads/declarative-file-transfer-models.md) — Models file uploads and downloads declaratively using types that extend Http.File. ([source](https://typespec.io/docs/libraries/http/operations/index.html.md))
- [HTTP Link Headers](https://awesome-repositories.com/f/networking-communication/http-link-headers.md) — Ships a model for adding Link headers to HTTP responses, enabling related resource URL discovery. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [HTTP Location Headers](https://awesome-repositories.com/f/networking-communication/http-location-headers.md) — Provides a model for adding Location headers to HTTP responses, enabling long-running operation tracking. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [HTTP Status Code Models](https://awesome-repositories.com/f/networking-communication/http-status-code-models.md) — Ships predefined models for standard HTTP status codes, including 301 Moved Permanently responses. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Paginated Collection Models](https://awesome-repositories.com/f/networking-communication/paginated-collection-models.md) — Defines model structures for paginated API responses with value lists and next-link URLs. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))

### Programming Languages & Runtimes

- [Class Inheritance](https://awesome-repositories.com/f/programming-languages-runtimes/class-inheritance.md) — Establishes explicit inheritance relationships between models for code generation in class-based languages. ([source](https://typespec.io/docs/language-basics/models/index.html.md))
- [Code Definition Namespaces](https://awesome-repositories.com/f/programming-languages-runtimes/code-definition-namespaces.md) — Groups related models and operations into namespaces to keep API definitions manageable. ([source](https://typespec.io/docs/getting-started/getting-started-rest/01-setup-basic-syntax/index.html.md))
- [Typed Function Declarations](https://awesome-repositories.com/f/programming-languages-runtimes/function-definitions/recursive-type-definitions/typed-function-declarations.md) — Provides a typed function declaration system for defining API operations with typed inputs and outputs. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Generic API Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/generic-types/generic-api-interfaces.md) — Defines generic operations within interfaces that accept type parameters for flexible reuse across data types. ([source](https://typespec.io/docs/language-basics/interfaces/index.html.md))
- [Type Constraint Combinations](https://awesome-repositories.com/f/programming-languages-runtimes/generic-types/type-constraint-combinations.md) — Combines two or more type definitions into a single type that must satisfy all constituent types simultaneously. ([source](https://typespec.io/docs/language-basics/intersections/index.html.md))
- [Discriminated Unions](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/language-extensions/union-types/discriminated-unions.md) — Provides a discriminated union type system for API definitions with serialized discriminator fields. ([source](https://typespec.io/docs/standard-library/discriminated-types/index.html.md))
- [Type Namespace Organization](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/type-system-tools/type-definitions/type-aliases/type-namespace-organization.md) — Groups related type definitions under named scopes to avoid naming collisions and improve structure. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Namespace Imports](https://awesome-repositories.com/f/programming-languages-runtimes/module-importing/namespace-imports.md) — Provides a mechanism to import all types from a namespace into the current scope for unqualified access. ([source](https://typespec.io/docs/language-basics/namespaces/index.html.md))
- [Decorator Annotations](https://awesome-repositories.com/f/programming-languages-runtimes/type-annotations/type-annotations/decorator-annotations.md) — Attaches metadata or behavior to a type by applying a decorator, optionally with arguments. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Custom Decorator Definitions](https://awesome-repositories.com/f/programming-languages-runtimes/type-annotations/type-annotations/decorator-annotations/custom-decorator-definitions.md) — TypeSpec defines a new decorator in JavaScript that can inspect or modify TypeSpec types during compilation. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Structural](https://awesome-repositories.com/f/programming-languages-runtimes/type-assignments/structural.md) — Validates type assignments based on structural compatibility and numeric widening rules. ([source](https://typespec.io/docs/language-basics/type-relations/index.html.md))
- [Constrained Template Parameters](https://awesome-repositories.com/f/programming-languages-runtimes/type-name-assignment/unique-type-identifiers/custom-data-type-declarations/parameterized-numeric-types/parameterized-types/constrained-template-parameters.md) — Defines reusable types and operations with type parameters, constraints, defaults, and named arguments for flexible composition.
- [Custom Visibility Classes](https://awesome-repositories.com/f/programming-languages-runtimes/class-inheritance/visibility-modifiers/custom-visibility-classes.md) — Creates custom visibility enums with modifiers for API model lifecycle transformations. ([source](https://typespec.io/docs/language-basics/visibility/index.html.md))
- [Boolean Literal Constants](https://awesome-repositories.com/f/programming-languages-runtimes/constant-sets/boolean-literal-constants.md) — Sets literal true or false values for flags or conditional model properties. ([source](https://typespec.io/docs/language-basics/type-literals/index.html.md))
- [Named Constant Declarations](https://awesome-repositories.com/f/programming-languages-runtimes/constant-value-inference/named-constant-declarations.md) — Declares named constants with optional type annotations and type inference from initializers. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [Named Template Arguments](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/generics-templates/variadic-template-arguments/named-template-arguments.md) — Supports passing template arguments by name for out-of-order and optional argument omission. ([source](https://typespec.io/docs/language-basics/templates/index.html.md))
- [Structural Type Spread and Inheritance](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/array-operations/spread-operators/structural-type-spread-and-inheritance.md) — Combines model properties through spread, extends, and intersection operators for property reuse.
- [Named Union Variants](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/language-extensions/union-types/type-safe-variants/named-union-variants.md) — Assigns explicit names to union type variants for emitter identification and decoration. ([source](https://typespec.io/docs/language-basics/unions/index.html.md))
- [Model Property References](https://awesome-repositories.com/f/programming-languages-runtimes/object-property-accessors/internal-property-references/model-property-references.md) — Accesses specific model properties using dot notation to create aliases for reuse. ([source](https://typespec.io/docs/language-basics/alias/index.html.md))
- [Array Value Definitions](https://awesome-repositories.com/f/programming-languages-runtimes/repeatable-annotations/repeated-value-array-initializers/array-value-definitions.md) — TypeSpec constructs an ordered list of values using the array syntax, with optional validation against min and max item constraints. ([source](https://typespec.io/docs/language-basics/values/index.html.md))
- [String Interpolation](https://awesome-repositories.com/f/programming-languages-runtimes/string-interpolation.md) — Embeds expressions inside string literals with `${}` syntax to compose dynamic string values at definition time. ([source](https://typespec.io/docs/language-basics/type-literals/index.html.md))
- [Literal Type Definitions](https://awesome-repositories.com/f/programming-languages-runtimes/string-literal-type-manipulations/string-literal-union-type-definitions/literal-type-definitions.md) — Represents fixed values directly in code using string, integer, float, or boolean literal syntax. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Type Aliases](https://awesome-repositories.com/f/programming-languages-runtimes/user-defined-types/type-aliases.md) — Creates a shorthand name for a complex type expression, simplifying syntax without affecting the type graph. ([source](https://typespec.io/docs/language-basics/alias/index.html.md))

### Security & Cryptography

- [Authentication Composition](https://awesome-repositories.com/f/security-cryptography/authentication-composition.md) — Combines multiple authentication methods at service or operation level with optional scoping.
- [API Authentication Schemes](https://awesome-repositories.com/f/security-cryptography/basic-authentication/api-authentication-schemes.md) — Declares which security mechanism protects each API endpoint in the service definition. ([source](https://typespec.io/docs/libraries/http/authentication/index.html.md))
- [Property Spread Reuse](https://awesome-repositories.com/f/security-cryptography/data-security/model-property-persistence/property-spread-reuse.md) — Copies properties between models using the spread operator for reuse without inheritance. ([source](https://typespec.io/docs/language-basics/models/index.html.md))
- [Header Parameter Configurations](https://awesome-repositories.com/f/security-cryptography/http-security-headers/jwt-header-configurations/header-parameter-configurations.md) — Provides a decorator-based system for configuring HTTP header parameter options in API definitions. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Basic Authentication](https://awesome-repositories.com/f/security-cryptography/basic-authentication.md) — Declares HTTP Basic authentication requirements for API endpoints in the service definition. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Authentication Scheme Compositions](https://awesome-repositories.com/f/security-cryptography/basic-authentication/api-authentication-schemes/authentication-scheme-compositions.md) — Combines multiple authentication methods at service or operation level with logical operators. ([source](https://typespec.io/docs/libraries/http/authentication/index.html.md))
- [Bearer Token Authentication](https://awesome-repositories.com/f/security-cryptography/bearer-token-authentication.md) — Restricts access to API operations by requiring a valid bearer token in the Authorization header. ([source](https://typespec.io/docs/getting-started/getting-started-rest/05-authentication/index.html.md))
- [File Type Validators](https://awesome-repositories.com/f/security-cryptography/file-upload-security/file-type-validators.md) — Constrains allowed media types of file payloads using a literal union of MIME types. ([source](https://typespec.io/docs/libraries/http/files/index.html.md))
- [API Key Authentications](https://awesome-repositories.com/f/security-cryptography/oauth-authentication-apis/api-key-authentications.md) — Specifies that API endpoints require an API key passed via header, query, or cookie. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [OAuth2 Providers](https://awesome-repositories.com/f/security-cryptography/oauth2-providers.md) — Specifies OAuth2 authorization flows required for accessing API operations. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [OAuth2 Scope Requirements](https://awesome-repositories.com/f/security-cryptography/oauth2-providers/oauth2-scope-requirements.md) — Requires specific OAuth2 scopes on tokens for accessing API operations. ([source](https://typespec.io/docs/libraries/http/authentication/index.html.md))
- [OpenID Connect Support](https://awesome-repositories.com/f/security-cryptography/openid-connect-support.md) — Declares OpenID Connect authentication requirements using a discovery URL for API endpoints. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))

### User Interface & Experience

- [HTTP Lifecycle Visibility](https://awesome-repositories.com/f/user-interface-experience/editor-ui-components/dynamic-property-visibility/http-lifecycle-visibility.md) — Controls which model properties appear in create, read, update, or delete operations by tagging them with lifecycle phases. ([source](https://typespec.io/docs/language-basics/visibility/index.html.md))
- [Property Spreading Utilities](https://awesome-repositories.com/f/user-interface-experience/property-spreading-utilities.md) — Ships a property spreading mechanism that copies all properties from one model into another. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))

### Web Development

- [API Data Shapes](https://awesome-repositories.com/f/web-development/api-data-shapes.md) — Defines data models and service interfaces using a concise language to serve as a single source of truth for API definitions. ([source](https://typespec.io/))
- [API Data Types](https://awesome-repositories.com/f/web-development/api-data-types.md) — Defines primitive types and built-in models that map directly to OpenAPI schema types for API definitions. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [API Metadata](https://awesome-repositories.com/f/web-development/api-metadata.md) — Provides title, description, version, license, and contact information for the API. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [API Server Definitions](https://awesome-repositories.com/f/web-development/api-server-definitions.md) — Specifies one or more base URLs for the API using a decorator on the namespace. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [API Versioning](https://awesome-repositories.com/f/web-development/api-versioning.md) — Declares supported API versions and associates models and operations with specific versions. ([source](https://typespec.io/docs/getting-started/getting-started-rest/06-versioning/index.html.md))
- [API Version Change Trackers](https://awesome-repositories.com/f/web-development/api-versioning/api-version-change-trackers.md) — Declares API versions and tracks changes to models, properties, and operations across releases.
- [Versioned Change Trackers](https://awesome-repositories.com/f/web-development/api-versioning/versioned-change-trackers.md) — Tracks additions, removals, renames, and type changes of models and operations across API versions.
- [Versioned Namespace Declarations](https://awesome-repositories.com/f/web-development/api-versioning/versioned-namespace-declarations.md) — Associates namespaces with version enums to declare multiple API versions. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))
- [Versioned Operation Additions](https://awesome-repositories.com/f/web-development/api-versioning/versioned-operation-additions.md) — Records the API version in which each operation was first introduced using decorators. ([source](https://typespec.io/docs/libraries/versioning/guide/index.html.md))
- [Union Types](https://awesome-repositories.com/f/web-development/graphql-apis/type-definitions/union-types.md) — Defines a type that can be one of several specified types, optionally naming each variant. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [Intersection Types](https://awesome-repositories.com/f/web-development/graphql-apis/type-definitions/union-types/intersection-types.md) — Creates a type that must satisfy all specified constituent types simultaneously. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))
- [HTTP Methods](https://awesome-repositories.com/f/web-development/http-methods.md) — Assigns an HTTP method to an operation using a decorator, defaulting to post or get. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [Standard HTTP Error Responses](https://awesome-repositories.com/f/web-development/http-request-response-object-layers/standard-http-error-responses.md) — Provides predefined models for standard HTTP error responses in API definitions. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [HTTP Status Code Management](https://awesome-repositories.com/f/web-development/http-status-code-management.md) — Decorates a response property with a numeric status code, supporting literal types and discriminated unions for multiple response shapes. ([source](https://typespec.io/docs/libraries/http/operations/index.html.md))
- [Operation Routes](https://awesome-repositories.com/f/web-development/operation-routes.md) — Assigns URL paths to operations with path parameters and inheritance from parent namespaces or interfaces. ([source](https://typespec.io/docs/libraries/http/operations/index.html.md))
- [Parameterized Operation Templates](https://awesome-repositories.com/f/web-development/parameterized-operation-templates.md) — Defines generic operation signatures with type parameters for instantiation with specific resource types. ([source](https://typespec.io/docs/language-basics/operations/index.html.md))
- [Request Body Definitions](https://awesome-repositories.com/f/web-development/request-body-definitions.md) — Marks model properties as HTTP request body payloads for API operations. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Resource Models](https://awesome-repositories.com/f/web-development/resource-models.md) — Defines resource models that automatically generate RESTful URL paths and CRUD operations from decorated types. ([source](https://typespec.io/docs/libraries/rest/reference/decorators/index.html.md))
- [Reusable Parameter Models](https://awesome-repositories.com/f/web-development/resource-operation-parameter-models/reusable-parameter-models.md) — TypeSpec defines a shared model of parameters and applies it across multiple operations using the spread operator to reduce redundancy. ([source](https://typespec.io/docs/getting-started/getting-started-rest/04-common-parameters/index.html.md))
- [Content Negotiation](https://awesome-repositories.com/f/web-development/response-formatting/content-negotiation.md) — Serves different response formats from the same endpoint based on the client's Accept header. ([source](https://typespec.io/docs/libraries/http/content-types/index.html.md))
- [Response Models](https://awesome-repositories.com/f/web-development/response-models.md) — Defines structured HTTP response models with status code, headers, and body for API operations. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [REST API Services](https://awesome-repositories.com/f/web-development/rest-api-services.md) — Defines REST service endpoints with metadata like title and server URL using decorators on the API definition. ([source](https://typespec.io/docs/getting-started/getting-started-rest/01-setup-basic-syntax/index.html.md))
- [Multi-Response Modeling](https://awesome-repositories.com/f/web-development/restful-apis/documentation-schemas/multi-response-modeling.md) — Provides a union-based mechanism for declaring multiple possible response bodies and status codes per operation. ([source](https://typespec.io/docs/getting-started/getting-started-rest/02-operations-responses/index.html.md))
- [Route Prefixes](https://awesome-repositories.com/f/web-development/route-prefixes.md) — Groups API operations under common URL paths by decorating namespaces or interfaces with route prefixes. ([source](https://typespec.io/docs/libraries/rest/resource-routing/index.html.md))
- [HTTP Routing](https://awesome-repositories.com/f/web-development/routing-systems/http-routing.md) — Declares URL paths, HTTP methods, status codes, headers, and query parameters for RESTful service endpoints.
- [Schema-Driven API Generators](https://awesome-repositories.com/f/web-development/schema-driven-api-generators.md) — Generates API schemas, client code, and documentation from declarative data models. ([source](https://typespec.io/))
- [Service Endpoints](https://awesome-repositories.com/f/web-development/service-endpoints.md) — Declares API operations with typed parameters and return types to represent service endpoints. ([source](https://typespec.io/docs/language-basics/operations/index.html.md))
- [Linting Rules](https://awesome-repositories.com/f/web-development/api-design-patterns/linting-rules.md) — Creates reusable patterns and linting rules that guide API designers toward best practices and flag anti-patterns. ([source](https://cdn.jsdelivr.net/gh/microsoft/typespec@main/README.md))
- [HTTP Header Manipulators](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/http-utilities/http-header-manipulators.md) — Decorates a property with a header name so its value is sent or received in the HTTP header section. ([source](https://typespec.io/docs/libraries/http/operations/index.html.md))
- [Collection Parameter Models](https://awesome-repositories.com/f/web-development/collection-parameter-models.md) — Defines models for parameters used in resource collection operations. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))
- [Dynamic Response Statuses](https://awesome-repositories.com/f/web-development/dynamic-response-statuses.md) — Sets HTTP status codes on return types, defaulting to 200 or 204, and supports unions for multiple responses. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [Encoded Name Resolvers](https://awesome-repositories.com/f/web-development/encoded-name-resolvers.md) — Resolves per-MIME-type property name overrides, falling back to the original name. ([source](https://typespec.io/docs/standard-library/encoded-names/index.html.md))
- [Multipart Request Definitions](https://awesome-repositories.com/f/web-development/form-data-support/multipart-uploads/multipart-request-definitions.md) — Provides a model for defining multipart request bodies in API definitions, supporting file uploads and complex form submissions. ([source](https://typespec.io/docs/libraries/http/multipart/index.html.md))
- [HTTP Status Code Models](https://awesome-repositories.com/f/web-development/http-status-code-models.md) — TypeSpec provides a model for a 409 Conflict HTTP response. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Nested Body Property Models](https://awesome-repositories.com/f/web-development/nested-body-property-models.md) — Resolves the HTTP body from a nested property to co-locate metadata and payload. ([source](https://typespec.io/docs/libraries/http/reference/decorators/index.html.md))
- [Nested Discriminator Chains](https://awesome-repositories.com/f/web-development/nested-discriminator-chains.md) — Applies multiple levels of discriminator properties to identify subtypes in a hierarchy. ([source](https://typespec.io/docs/standard-library/discriminated-types/index.html.md))
- [OpenAPI Operation ID Overrides](https://awesome-repositories.com/f/web-development/openapi-operation-id-overrides.md) — Sets custom operationId values on API operations, overriding default generated names. ([source](https://typespec.io/docs/libraries/openapi/reference/decorators/index.html.md))
- [Operation Meta Type References](https://awesome-repositories.com/f/web-development/operation-meta-type-references.md) — Provides syntax to access operation parameters and return types for further manipulation. ([source](https://typespec.io/docs/language-basics/operations/index.html.md))
- [Per-Format Property Renaming](https://awesome-repositories.com/f/web-development/per-format-property-renaming.md) — Assigns alternative property names per MIME type for different wire representations. ([source](https://typespec.io/docs/standard-library/encoded-names/index.html.md))
- [Query Parameter Binding](https://awesome-repositories.com/f/web-development/query-parameters/query-parameter-binding.md) — Marks a property to be sent as a query parameter in the URL. ([source](https://typespec.io/docs/libraries/http/reference/decorators/index.html.md))
- [Default Content Type Selectors](https://awesome-repositories.com/f/web-development/request-body-deserializers/request-and-response-transformers/content-type-based-deserializers/default-content-type-selectors.md) — Automatically selects content types for request and response bodies based on the body's type. ([source](https://typespec.io/docs/libraries/http/content-types/index.html.md))
- [JSON Merge-Patch Bodies](https://awesome-repositories.com/f/web-development/request-body-handling/request-body-alterations/json-merge-patch-bodies.md) — Provides a model template for generating RFC 7396 JSON Merge-Patch request bodies for partial resource updates. ([source](https://typespec.io/docs/libraries/http/operations/index.html.md))
- [Request Body Definitions](https://awesome-repositories.com/f/web-development/request-body-handling/request-body-alterations/request-body-attachers/request-body-definitions.md) — Specifies the request body content and media type using a body parameter and content-type header. ([source](https://typespec.io/docs/getting-started/typespec-for-openapi-dev/index.html.md))
- [Structured Body Binding](https://awesome-repositories.com/f/web-development/request-body-handling/request-body-alterations/request-body-attachers/structured-body-binding.md) — Marks a property as the exact HTTP body, separating it from headers, query, and path parameters. ([source](https://typespec.io/docs/libraries/http/reference/decorators/index.html.md))
- [Resource Creation Request Models](https://awesome-repositories.com/f/web-development/resource-creation-request-models.md) — Defines models for the request body of resource creation or update operations. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))
- [Resource Creation Response Models](https://awesome-repositories.com/f/web-development/resource-creation-response-models.md) — Defines models for the response of successful resource creation operations. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))
- [Created Resource Response Models](https://awesome-repositories.com/f/web-development/resource-creation-response-models/created-resource-response-models.md) — TypeSpec provides a model for a 201 Created HTTP response. ([source](https://typespec.io/docs/libraries/http/reference/data-types/index.html.md))
- [Resource Deletion Response Models](https://awesome-repositories.com/f/web-development/resource-deletion-response-models.md) — Defines models for the response of successful resource deletion operations. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))
- [Resource Hierarchy Models](https://awesome-repositories.com/f/web-development/resource-hierarchy-models.md) — Declares resource hierarchy models that nest child routes under parent paths. ([source](https://typespec.io/docs/libraries/rest/reference/decorators/index.html.md))
- [Resource Location Scalars](https://awesome-repositories.com/f/web-development/resource-location-scalars.md) — Defines a scalar type for representing resource URLs in API definitions. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))
- [Resource Operation Parameter Models](https://awesome-repositories.com/f/web-development/resource-operation-parameter-models.md) — Defines models for the parameters of individual resource operations. ([source](https://typespec.io/docs/libraries/rest/reference/data-types/index.html.md))
- [Response Structure Standardization](https://awesome-repositories.com/f/web-development/rest-apis/api-response-validation/response-structure-standardization.md) — Defines structured response shapes that incorporate standard HTTP status codes and headers for consistent API outputs. ([source](https://typespec.io/docs/getting-started/getting-started-rest/07-custom-response-models/index.html.md))
- [Response Model Assignments](https://awesome-repositories.com/f/web-development/restful-apis/documentation-schemas/multi-response-modeling/annotated-response-models/response-model-assignments.md) — Assigns a custom response model to an API operation so the endpoint returns a predictable, reusable structure. ([source](https://typespec.io/docs/getting-started/getting-started-rest/07-custom-response-models/index.html.md))
- [String Format Validators](https://awesome-repositories.com/f/web-development/string-format-validators.md) — Restricts string values to known formats like URLs for consistent validation and code generation. ([source](https://typespec.io/docs/language-basics/built-in-types/index.html.md))

### Business & Productivity Software

- [Open Property Sets](https://awesome-repositories.com/f/business-productivity-software/group-management/model-set-operations/open-property-sets.md) — Combines known fields with arbitrary additional properties using spread and extends operators. ([source](https://typespec.io/docs/language-basics/models/index.html.md))
- [Type Alias Definitions](https://awesome-repositories.com/f/business-productivity-software/m-a-type-analysis/type-alias-definitions.md) — TypeSpec assigns a shorthand name to a type expression, such as a union, for reuse throughout the specification. ([source](https://typespec.io/docs/language-basics/overview/index.html.md))

### Content Management & Publishing

- [Versioned Property Type Changes](https://awesome-repositories.com/f/content-management-publishing/content-management-systems/versioning-change-tracking/versioned-property-type-changes.md) — Records property type changes across API versions, preserving old types for earlier versions. ([source](https://typespec.io/docs/libraries/versioning/reference/decorators/index.html.md))

### Graphics & Multimedia

- [Shared Route Paths](https://awesome-repositories.com/f/graphics-multimedia/link-path-routing/shared-route-paths.md) — TypeSpec marks an operation to share its route path with other operations. ([source](https://typespec.io/docs/libraries/http/reference/decorators/index.html.md))

### Testing & Quality Assurance

- [Value Constraint Templates](https://awesome-repositories.com/f/testing-quality-assurance/acceptance-testing/accepted-rfc-amendments/value-constraint-templates.md) — TypeSpec declares template parameters that accept literal values using the valueof constraint for use in decorators and defaults. ([source](https://typespec.io/docs/language-basics/templates/index.html.md))
- [Content Type Specifications](https://awesome-repositories.com/f/testing-quality-assurance/content-type-specifications.md) — Sets the content type for an operation by including a header parameter named contentType. ([source](https://typespec.io/docs/libraries/http/content-types/index.html.md))
