""" Options: Date: 2026-11-08 11:30:13 Version: 5.140 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://devapi.billhighway.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: OpenApiSpecRequest.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiContact: name: Optional[str] = None url: Optional[str] = None email: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiLicense: name: Optional[str] = None url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiInfo: title: Optional[str] = None description: Optional[str] = None terms_of_service_url: Optional[str] = None contact: Optional[OpenApiContact] = None license: Optional[OpenApiLicense] = None version: Optional[str] = None TKey = TypeVar('TKey') TValue = TypeVar('TValue') @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OrderedDictionary(Generic[TKey, TValue]): pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiExternalDocumentation: description: Optional[str] = None url: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiDataTypeSchema: ref: Optional[str] = None description: Optional[str] = None type: Optional[str] = None format: Optional[str] = None items: Optional[Dict[str, Object]] = None collection_format: Optional[str] = None default: Optional[str] = None maximum: Optional[float] = None exclusive_maximum: Optional[bool] = None minimum: Optional[float] = None exclusive_minimum: Optional[bool] = None max_length: Optional[int] = None min_length: Optional[int] = None pattern: Optional[str] = None max_items: Optional[int] = None min_items: Optional[int] = None unique_items: Optional[bool] = None max_properties: Optional[str] = None min_properties: Optional[str] = None required: Optional[bool] = None enum: Optional[List[str]] = None multiple_of: Optional[float] = None nullable: Optional[bool] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiXmlObject: name: Optional[str] = None namespace: Optional[str] = None prefix: Optional[str] = None attribute: bool = False wrapped: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiProperty(OpenApiDataTypeSchema): pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiSchema(OpenApiDataTypeSchema): title: Optional[str] = None discriminator: Optional[str] = None read_only: Optional[bool] = None xml: Optional[OpenApiXmlObject] = None external_docs: Optional[OpenApiExternalDocumentation] = None example: Optional[str] = None required: Optional[List[str]] = None all_of: Optional[OpenApiSchema] = None properties: Optional[OrderedDictionary[str, OpenApiProperty]] = None additional_properties: Optional[OpenApiProperty] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiParameter(OpenApiDataTypeSchema): name: Optional[str] = None in_: Optional[str] = field(metadata=config(field_name='in'), default=None) schema: Optional[OpenApiSchema] = None allow_empty_value: Optional[bool] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiResponse: description: Optional[str] = None schema: Optional[OpenApiSchema] = None headers: Optional[Dict[str, OpenApiProperty]] = None examples: Optional[Dict[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiOperation: tags: Optional[List[str]] = None summary: Optional[str] = None description: Optional[str] = None external_docs: Optional[OpenApiExternalDocumentation] = None operation_id: Optional[str] = None consumes: Optional[List[str]] = None produces: Optional[List[str]] = None parameters: Optional[List[OpenApiParameter]] = None responses: Optional[OrderedDictionary[str, OpenApiResponse]] = None schemes: Optional[List[str]] = None deprecated: bool = False security: Optional[List[Dict[str, List[str]]]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiPath: ref: Optional[str] = None get: Optional[OpenApiOperation] = None put: Optional[OpenApiOperation] = None post: Optional[OpenApiOperation] = None delete: Optional[OpenApiOperation] = None options: Optional[OpenApiOperation] = None head: Optional[OpenApiOperation] = None patch: Optional[OpenApiOperation] = None parameters: Optional[List[OpenApiParameter]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiSecuritySchema: type: Optional[str] = None description: Optional[str] = None name: Optional[str] = None in_: Optional[str] = field(metadata=config(field_name='in'), default=None) flow: Optional[str] = None authorization_url: Optional[str] = None token_url: Optional[str] = None scopes: Optional[Dict[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiTag: name: Optional[str] = None description: Optional[str] = None external_docs: Optional[OpenApiExternalDocumentation] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiDeclaration: swagger: Optional[str] = None info: Optional[OpenApiInfo] = None host: Optional[str] = None base_path: Optional[str] = None schemes: Optional[List[str]] = None consumes: Optional[List[str]] = None produces: Optional[List[str]] = None paths: Optional[OrderedDictionary[str, OpenApiPath]] = None definitions: Optional[Dict[str, OpenApiSchema]] = None parameters: Optional[Dict[str, OpenApiParameter]] = None responses: Optional[OrderedDictionary[str, OpenApiResponse]] = None security_definitions: Optional[Dict[str, OpenApiSecuritySchema]] = None security: Optional[List[Dict[str, List[str]]]] = None tags: Optional[List[OpenApiTag]] = None external_docs: Optional[OpenApiExternalDocumentation] = None # @Route("/oas", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OpenApiSpecRequest(IReturn[OpenApiDeclaration]): api_key: Optional[str] = None category: Optional[str] = None version: Optional[str] = None