# coding: utf-8

"""
    e-KYC API

    e-KYC API , GST verification suite  # noqa: E501

    The version of the OpenAPI document: v1
    Contact: gautam@balajimariline.com
    Generated by: https://openapi-generator.tech
"""

from datetime import date, datetime  # noqa: F401
import decimal  # noqa: F401
import functools  # noqa: F401
import io  # noqa: F401
import re  # noqa: F401
import typing  # noqa: F401
import typing_extensions  # noqa: F401
import uuid  # noqa: F401

import frozendict  # noqa: F401

from vartulz_compliance_sdk import schemas  # noqa: F401


class APIResponse(
    schemas.DictSchema
):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """


    class MetaOapg:
        
        class properties:
            statusCode = schemas.Int32Schema
            requestDateTime = schemas.DateTimeSchema
            
            
            class httpstatuscode(
                schemas.EnumBase,
                schemas.StrSchema
            ):
            
            
                class MetaOapg:
                    enum_value_to_name = {
                        "100 CONTINUE": "DIGIT_ONE_00_CONTINUE",
                        "101 SWITCHING_PROTOCOLS": "DIGIT_ONE_01_SWITCHING_PROTOCOLS",
                        "102 PROCESSING": "DIGIT_ONE_02_PROCESSING",
                        "103 EARLY_HINTS": "DIGIT_ONE_03_EARLY_HINTS",
                        "103 CHECKPOINT": "DIGIT_ONE_03_CHECKPOINT",
                        "200 OK": "DIGIT_TWO_00_OK",
                        "201 CREATED": "DIGIT_TWO_01_CREATED",
                        "202 ACCEPTED": "DIGIT_TWO_02_ACCEPTED",
                        "203 NON_AUTHORITATIVE_INFORMATION": "DIGIT_TWO_03_NON_AUTHORITATIVE_INFORMATION",
                        "204 NO_CONTENT": "DIGIT_TWO_04_NO_CONTENT",
                        "205 RESET_CONTENT": "DIGIT_TWO_05_RESET_CONTENT",
                        "206 PARTIAL_CONTENT": "DIGIT_TWO_06_PARTIAL_CONTENT",
                        "207 MULTI_STATUS": "DIGIT_TWO_07_MULTI_STATUS",
                        "208 ALREADY_REPORTED": "DIGIT_TWO_08_ALREADY_REPORTED",
                        "226 IM_USED": "DIGIT_TWO_26_IM_USED",
                        "300 MULTIPLE_CHOICES": "DIGIT_THREE_00_MULTIPLE_CHOICES",
                        "301 MOVED_PERMANENTLY": "DIGIT_THREE_01_MOVED_PERMANENTLY",
                        "302 FOUND": "DIGIT_THREE_02_FOUND",
                        "302 MOVED_TEMPORARILY": "DIGIT_THREE_02_MOVED_TEMPORARILY",
                        "303 SEE_OTHER": "DIGIT_THREE_03_SEE_OTHER",
                        "304 NOT_MODIFIED": "DIGIT_THREE_04_NOT_MODIFIED",
                        "305 USE_PROXY": "DIGIT_THREE_05_USE_PROXY",
                        "307 TEMPORARY_REDIRECT": "DIGIT_THREE_07_TEMPORARY_REDIRECT",
                        "308 PERMANENT_REDIRECT": "DIGIT_THREE_08_PERMANENT_REDIRECT",
                        "400 BAD_REQUEST": "DIGIT_FOUR_00_BAD_REQUEST",
                        "401 UNAUTHORIZED": "DIGIT_FOUR_01_UNAUTHORIZED",
                        "402 PAYMENT_REQUIRED": "DIGIT_FOUR_02_PAYMENT_REQUIRED",
                        "403 FORBIDDEN": "DIGIT_FOUR_03_FORBIDDEN",
                        "404 NOT_FOUND": "DIGIT_FOUR_04_NOT_FOUND",
                        "405 METHOD_NOT_ALLOWED": "DIGIT_FOUR_05_METHOD_NOT_ALLOWED",
                        "406 NOT_ACCEPTABLE": "DIGIT_FOUR_06_NOT_ACCEPTABLE",
                        "407 PROXY_AUTHENTICATION_REQUIRED": "DIGIT_FOUR_07_PROXY_AUTHENTICATION_REQUIRED",
                        "408 REQUEST_TIMEOUT": "DIGIT_FOUR_08_REQUEST_TIMEOUT",
                        "409 CONFLICT": "DIGIT_FOUR_09_CONFLICT",
                        "410 GONE": "DIGIT_FOUR_10_GONE",
                        "411 LENGTH_REQUIRED": "DIGIT_FOUR_11_LENGTH_REQUIRED",
                        "412 PRECONDITION_FAILED": "DIGIT_FOUR_12_PRECONDITION_FAILED",
                        "413 PAYLOAD_TOO_LARGE": "DIGIT_FOUR_13_PAYLOAD_TOO_LARGE",
                        "413 REQUEST_ENTITY_TOO_LARGE": "DIGIT_FOUR_13_REQUEST_ENTITY_TOO_LARGE",
                        "414 URI_TOO_LONG": "DIGIT_FOUR_14_URI_TOO_LONG",
                        "414 REQUEST_URI_TOO_LONG": "DIGIT_FOUR_14_REQUEST_URI_TOO_LONG",
                        "415 UNSUPPORTED_MEDIA_TYPE": "DIGIT_FOUR_15_UNSUPPORTED_MEDIA_TYPE",
                        "416 REQUESTED_RANGE_NOT_SATISFIABLE": "DIGIT_FOUR_16_REQUESTED_RANGE_NOT_SATISFIABLE",
                        "417 EXPECTATION_FAILED": "DIGIT_FOUR_17_EXPECTATION_FAILED",
                        "418 I_AM_A_TEAPOT": "DIGIT_FOUR_18_I_AM_A_TEAPOT",
                        "419 INSUFFICIENT_SPACE_ON_RESOURCE": "DIGIT_FOUR_19_INSUFFICIENT_SPACE_ON_RESOURCE",
                        "420 METHOD_FAILURE": "DIGIT_FOUR_20_METHOD_FAILURE",
                        "421 DESTINATION_LOCKED": "DIGIT_FOUR_21_DESTINATION_LOCKED",
                        "422 UNPROCESSABLE_ENTITY": "DIGIT_FOUR_22_UNPROCESSABLE_ENTITY",
                        "423 LOCKED": "DIGIT_FOUR_23_LOCKED",
                        "424 FAILED_DEPENDENCY": "DIGIT_FOUR_24_FAILED_DEPENDENCY",
                        "425 TOO_EARLY": "DIGIT_FOUR_25_TOO_EARLY",
                        "426 UPGRADE_REQUIRED": "DIGIT_FOUR_26_UPGRADE_REQUIRED",
                        "428 PRECONDITION_REQUIRED": "DIGIT_FOUR_28_PRECONDITION_REQUIRED",
                        "429 TOO_MANY_REQUESTS": "DIGIT_FOUR_29_TOO_MANY_REQUESTS",
                        "431 REQUEST_HEADER_FIELDS_TOO_LARGE": "DIGIT_FOUR_31_REQUEST_HEADER_FIELDS_TOO_LARGE",
                        "451 UNAVAILABLE_FOR_LEGAL_REASONS": "DIGIT_FOUR_51_UNAVAILABLE_FOR_LEGAL_REASONS",
                        "500 INTERNAL_SERVER_ERROR": "DIGIT_FIVE_00_INTERNAL_SERVER_ERROR",
                        "501 NOT_IMPLEMENTED": "DIGIT_FIVE_01_NOT_IMPLEMENTED",
                        "502 BAD_GATEWAY": "DIGIT_FIVE_02_BAD_GATEWAY",
                        "503 SERVICE_UNAVAILABLE": "DIGIT_FIVE_03_SERVICE_UNAVAILABLE",
                        "504 GATEWAY_TIMEOUT": "DIGIT_FIVE_04_GATEWAY_TIMEOUT",
                        "505 HTTP_VERSION_NOT_SUPPORTED": "DIGIT_FIVE_05_HTTP_VERSION_NOT_SUPPORTED",
                        "506 VARIANT_ALSO_NEGOTIATES": "DIGIT_FIVE_06_VARIANT_ALSO_NEGOTIATES",
                        "507 INSUFFICIENT_STORAGE": "DIGIT_FIVE_07_INSUFFICIENT_STORAGE",
                        "508 LOOP_DETECTED": "DIGIT_FIVE_08_LOOP_DETECTED",
                        "509 BANDWIDTH_LIMIT_EXCEEDED": "DIGIT_FIVE_09_BANDWIDTH_LIMIT_EXCEEDED",
                        "510 NOT_EXTENDED": "DIGIT_FIVE_10_NOT_EXTENDED",
                        "511 NETWORK_AUTHENTICATION_REQUIRED": "DIGIT_FIVE_11_NETWORK_AUTHENTICATION_REQUIRED",
                    }
                
                @schemas.classproperty
                def DIGIT_ONE_00_CONTINUE(cls):
                    return cls("100 CONTINUE")
                
                @schemas.classproperty
                def DIGIT_ONE_01_SWITCHING_PROTOCOLS(cls):
                    return cls("101 SWITCHING_PROTOCOLS")
                
                @schemas.classproperty
                def DIGIT_ONE_02_PROCESSING(cls):
                    return cls("102 PROCESSING")
                
                @schemas.classproperty
                def DIGIT_ONE_03_EARLY_HINTS(cls):
                    return cls("103 EARLY_HINTS")
                
                @schemas.classproperty
                def DIGIT_ONE_03_CHECKPOINT(cls):
                    return cls("103 CHECKPOINT")
                
                @schemas.classproperty
                def DIGIT_TWO_00_OK(cls):
                    return cls("200 OK")
                
                @schemas.classproperty
                def DIGIT_TWO_01_CREATED(cls):
                    return cls("201 CREATED")
                
                @schemas.classproperty
                def DIGIT_TWO_02_ACCEPTED(cls):
                    return cls("202 ACCEPTED")
                
                @schemas.classproperty
                def DIGIT_TWO_03_NON_AUTHORITATIVE_INFORMATION(cls):
                    return cls("203 NON_AUTHORITATIVE_INFORMATION")
                
                @schemas.classproperty
                def DIGIT_TWO_04_NO_CONTENT(cls):
                    return cls("204 NO_CONTENT")
                
                @schemas.classproperty
                def DIGIT_TWO_05_RESET_CONTENT(cls):
                    return cls("205 RESET_CONTENT")
                
                @schemas.classproperty
                def DIGIT_TWO_06_PARTIAL_CONTENT(cls):
                    return cls("206 PARTIAL_CONTENT")
                
                @schemas.classproperty
                def DIGIT_TWO_07_MULTI_STATUS(cls):
                    return cls("207 MULTI_STATUS")
                
                @schemas.classproperty
                def DIGIT_TWO_08_ALREADY_REPORTED(cls):
                    return cls("208 ALREADY_REPORTED")
                
                @schemas.classproperty
                def DIGIT_TWO_26_IM_USED(cls):
                    return cls("226 IM_USED")
                
                @schemas.classproperty
                def DIGIT_THREE_00_MULTIPLE_CHOICES(cls):
                    return cls("300 MULTIPLE_CHOICES")
                
                @schemas.classproperty
                def DIGIT_THREE_01_MOVED_PERMANENTLY(cls):
                    return cls("301 MOVED_PERMANENTLY")
                
                @schemas.classproperty
                def DIGIT_THREE_02_FOUND(cls):
                    return cls("302 FOUND")
                
                @schemas.classproperty
                def DIGIT_THREE_02_MOVED_TEMPORARILY(cls):
                    return cls("302 MOVED_TEMPORARILY")
                
                @schemas.classproperty
                def DIGIT_THREE_03_SEE_OTHER(cls):
                    return cls("303 SEE_OTHER")
                
                @schemas.classproperty
                def DIGIT_THREE_04_NOT_MODIFIED(cls):
                    return cls("304 NOT_MODIFIED")
                
                @schemas.classproperty
                def DIGIT_THREE_05_USE_PROXY(cls):
                    return cls("305 USE_PROXY")
                
                @schemas.classproperty
                def DIGIT_THREE_07_TEMPORARY_REDIRECT(cls):
                    return cls("307 TEMPORARY_REDIRECT")
                
                @schemas.classproperty
                def DIGIT_THREE_08_PERMANENT_REDIRECT(cls):
                    return cls("308 PERMANENT_REDIRECT")
                
                @schemas.classproperty
                def DIGIT_FOUR_00_BAD_REQUEST(cls):
                    return cls("400 BAD_REQUEST")
                
                @schemas.classproperty
                def DIGIT_FOUR_01_UNAUTHORIZED(cls):
                    return cls("401 UNAUTHORIZED")
                
                @schemas.classproperty
                def DIGIT_FOUR_02_PAYMENT_REQUIRED(cls):
                    return cls("402 PAYMENT_REQUIRED")
                
                @schemas.classproperty
                def DIGIT_FOUR_03_FORBIDDEN(cls):
                    return cls("403 FORBIDDEN")
                
                @schemas.classproperty
                def DIGIT_FOUR_04_NOT_FOUND(cls):
                    return cls("404 NOT_FOUND")
                
                @schemas.classproperty
                def DIGIT_FOUR_05_METHOD_NOT_ALLOWED(cls):
                    return cls("405 METHOD_NOT_ALLOWED")
                
                @schemas.classproperty
                def DIGIT_FOUR_06_NOT_ACCEPTABLE(cls):
                    return cls("406 NOT_ACCEPTABLE")
                
                @schemas.classproperty
                def DIGIT_FOUR_07_PROXY_AUTHENTICATION_REQUIRED(cls):
                    return cls("407 PROXY_AUTHENTICATION_REQUIRED")
                
                @schemas.classproperty
                def DIGIT_FOUR_08_REQUEST_TIMEOUT(cls):
                    return cls("408 REQUEST_TIMEOUT")
                
                @schemas.classproperty
                def DIGIT_FOUR_09_CONFLICT(cls):
                    return cls("409 CONFLICT")
                
                @schemas.classproperty
                def DIGIT_FOUR_10_GONE(cls):
                    return cls("410 GONE")
                
                @schemas.classproperty
                def DIGIT_FOUR_11_LENGTH_REQUIRED(cls):
                    return cls("411 LENGTH_REQUIRED")
                
                @schemas.classproperty
                def DIGIT_FOUR_12_PRECONDITION_FAILED(cls):
                    return cls("412 PRECONDITION_FAILED")
                
                @schemas.classproperty
                def DIGIT_FOUR_13_PAYLOAD_TOO_LARGE(cls):
                    return cls("413 PAYLOAD_TOO_LARGE")
                
                @schemas.classproperty
                def DIGIT_FOUR_13_REQUEST_ENTITY_TOO_LARGE(cls):
                    return cls("413 REQUEST_ENTITY_TOO_LARGE")
                
                @schemas.classproperty
                def DIGIT_FOUR_14_URI_TOO_LONG(cls):
                    return cls("414 URI_TOO_LONG")
                
                @schemas.classproperty
                def DIGIT_FOUR_14_REQUEST_URI_TOO_LONG(cls):
                    return cls("414 REQUEST_URI_TOO_LONG")
                
                @schemas.classproperty
                def DIGIT_FOUR_15_UNSUPPORTED_MEDIA_TYPE(cls):
                    return cls("415 UNSUPPORTED_MEDIA_TYPE")
                
                @schemas.classproperty
                def DIGIT_FOUR_16_REQUESTED_RANGE_NOT_SATISFIABLE(cls):
                    return cls("416 REQUESTED_RANGE_NOT_SATISFIABLE")
                
                @schemas.classproperty
                def DIGIT_FOUR_17_EXPECTATION_FAILED(cls):
                    return cls("417 EXPECTATION_FAILED")
                
                @schemas.classproperty
                def DIGIT_FOUR_18_I_AM_A_TEAPOT(cls):
                    return cls("418 I_AM_A_TEAPOT")
                
                @schemas.classproperty
                def DIGIT_FOUR_19_INSUFFICIENT_SPACE_ON_RESOURCE(cls):
                    return cls("419 INSUFFICIENT_SPACE_ON_RESOURCE")
                
                @schemas.classproperty
                def DIGIT_FOUR_20_METHOD_FAILURE(cls):
                    return cls("420 METHOD_FAILURE")
                
                @schemas.classproperty
                def DIGIT_FOUR_21_DESTINATION_LOCKED(cls):
                    return cls("421 DESTINATION_LOCKED")
                
                @schemas.classproperty
                def DIGIT_FOUR_22_UNPROCESSABLE_ENTITY(cls):
                    return cls("422 UNPROCESSABLE_ENTITY")
                
                @schemas.classproperty
                def DIGIT_FOUR_23_LOCKED(cls):
                    return cls("423 LOCKED")
                
                @schemas.classproperty
                def DIGIT_FOUR_24_FAILED_DEPENDENCY(cls):
                    return cls("424 FAILED_DEPENDENCY")
                
                @schemas.classproperty
                def DIGIT_FOUR_25_TOO_EARLY(cls):
                    return cls("425 TOO_EARLY")
                
                @schemas.classproperty
                def DIGIT_FOUR_26_UPGRADE_REQUIRED(cls):
                    return cls("426 UPGRADE_REQUIRED")
                
                @schemas.classproperty
                def DIGIT_FOUR_28_PRECONDITION_REQUIRED(cls):
                    return cls("428 PRECONDITION_REQUIRED")
                
                @schemas.classproperty
                def DIGIT_FOUR_29_TOO_MANY_REQUESTS(cls):
                    return cls("429 TOO_MANY_REQUESTS")
                
                @schemas.classproperty
                def DIGIT_FOUR_31_REQUEST_HEADER_FIELDS_TOO_LARGE(cls):
                    return cls("431 REQUEST_HEADER_FIELDS_TOO_LARGE")
                
                @schemas.classproperty
                def DIGIT_FOUR_51_UNAVAILABLE_FOR_LEGAL_REASONS(cls):
                    return cls("451 UNAVAILABLE_FOR_LEGAL_REASONS")
                
                @schemas.classproperty
                def DIGIT_FIVE_00_INTERNAL_SERVER_ERROR(cls):
                    return cls("500 INTERNAL_SERVER_ERROR")
                
                @schemas.classproperty
                def DIGIT_FIVE_01_NOT_IMPLEMENTED(cls):
                    return cls("501 NOT_IMPLEMENTED")
                
                @schemas.classproperty
                def DIGIT_FIVE_02_BAD_GATEWAY(cls):
                    return cls("502 BAD_GATEWAY")
                
                @schemas.classproperty
                def DIGIT_FIVE_03_SERVICE_UNAVAILABLE(cls):
                    return cls("503 SERVICE_UNAVAILABLE")
                
                @schemas.classproperty
                def DIGIT_FIVE_04_GATEWAY_TIMEOUT(cls):
                    return cls("504 GATEWAY_TIMEOUT")
                
                @schemas.classproperty
                def DIGIT_FIVE_05_HTTP_VERSION_NOT_SUPPORTED(cls):
                    return cls("505 HTTP_VERSION_NOT_SUPPORTED")
                
                @schemas.classproperty
                def DIGIT_FIVE_06_VARIANT_ALSO_NEGOTIATES(cls):
                    return cls("506 VARIANT_ALSO_NEGOTIATES")
                
                @schemas.classproperty
                def DIGIT_FIVE_07_INSUFFICIENT_STORAGE(cls):
                    return cls("507 INSUFFICIENT_STORAGE")
                
                @schemas.classproperty
                def DIGIT_FIVE_08_LOOP_DETECTED(cls):
                    return cls("508 LOOP_DETECTED")
                
                @schemas.classproperty
                def DIGIT_FIVE_09_BANDWIDTH_LIMIT_EXCEEDED(cls):
                    return cls("509 BANDWIDTH_LIMIT_EXCEEDED")
                
                @schemas.classproperty
                def DIGIT_FIVE_10_NOT_EXTENDED(cls):
                    return cls("510 NOT_EXTENDED")
                
                @schemas.classproperty
                def DIGIT_FIVE_11_NETWORK_AUTHENTICATION_REQUIRED(cls):
                    return cls("511 NETWORK_AUTHENTICATION_REQUIRED")
            message = schemas.StrSchema
            data = schemas.DictSchema
            uniqueRequestId = schemas.StrSchema
            barcode = schemas.StrSchema
            __annotations__ = {
                "statusCode": statusCode,
                "requestDateTime": requestDateTime,
                "httpstatuscode": httpstatuscode,
                "message": message,
                "data": data,
                "uniqueRequestId": uniqueRequestId,
                "barcode": barcode,
            }
    
    @typing.overload
    def __getitem__(self, name: typing_extensions.Literal["statusCode"]) -> MetaOapg.properties.statusCode: ...
    
    @typing.overload
    def __getitem__(self, name: typing_extensions.Literal["requestDateTime"]) -> MetaOapg.properties.requestDateTime: ...
    
    @typing.overload
    def __getitem__(self, name: typing_extensions.Literal["httpstatuscode"]) -> MetaOapg.properties.httpstatuscode: ...
    
    @typing.overload
    def __getitem__(self, name: typing_extensions.Literal["message"]) -> MetaOapg.properties.message: ...
    
    @typing.overload
    def __getitem__(self, name: typing_extensions.Literal["data"]) -> MetaOapg.properties.data: ...
    
    @typing.overload
    def __getitem__(self, name: typing_extensions.Literal["uniqueRequestId"]) -> MetaOapg.properties.uniqueRequestId: ...
    
    @typing.overload
    def __getitem__(self, name: typing_extensions.Literal["barcode"]) -> MetaOapg.properties.barcode: ...
    
    @typing.overload
    def __getitem__(self, name: str) -> schemas.UnsetAnyTypeSchema: ...
    
    def __getitem__(self, name: typing.Union[typing_extensions.Literal["statusCode", "requestDateTime", "httpstatuscode", "message", "data", "uniqueRequestId", "barcode", ], str]):
        # dict_instance[name] accessor
        return super().__getitem__(name)
    
    
    @typing.overload
    def get_item_oapg(self, name: typing_extensions.Literal["statusCode"]) -> typing.Union[MetaOapg.properties.statusCode, schemas.Unset]: ...
    
    @typing.overload
    def get_item_oapg(self, name: typing_extensions.Literal["requestDateTime"]) -> typing.Union[MetaOapg.properties.requestDateTime, schemas.Unset]: ...
    
    @typing.overload
    def get_item_oapg(self, name: typing_extensions.Literal["httpstatuscode"]) -> typing.Union[MetaOapg.properties.httpstatuscode, schemas.Unset]: ...
    
    @typing.overload
    def get_item_oapg(self, name: typing_extensions.Literal["message"]) -> typing.Union[MetaOapg.properties.message, schemas.Unset]: ...
    
    @typing.overload
    def get_item_oapg(self, name: typing_extensions.Literal["data"]) -> typing.Union[MetaOapg.properties.data, schemas.Unset]: ...
    
    @typing.overload
    def get_item_oapg(self, name: typing_extensions.Literal["uniqueRequestId"]) -> typing.Union[MetaOapg.properties.uniqueRequestId, schemas.Unset]: ...
    
    @typing.overload
    def get_item_oapg(self, name: typing_extensions.Literal["barcode"]) -> typing.Union[MetaOapg.properties.barcode, schemas.Unset]: ...
    
    @typing.overload
    def get_item_oapg(self, name: str) -> typing.Union[schemas.UnsetAnyTypeSchema, schemas.Unset]: ...
    
    def get_item_oapg(self, name: typing.Union[typing_extensions.Literal["statusCode", "requestDateTime", "httpstatuscode", "message", "data", "uniqueRequestId", "barcode", ], str]):
        return super().get_item_oapg(name)
    

    def __new__(
        cls,
        *_args: typing.Union[dict, frozendict.frozendict, ],
        statusCode: typing.Union[MetaOapg.properties.statusCode, decimal.Decimal, int, schemas.Unset] = schemas.unset,
        requestDateTime: typing.Union[MetaOapg.properties.requestDateTime, str, datetime, schemas.Unset] = schemas.unset,
        httpstatuscode: typing.Union[MetaOapg.properties.httpstatuscode, str, schemas.Unset] = schemas.unset,
        message: typing.Union[MetaOapg.properties.message, str, schemas.Unset] = schemas.unset,
        data: typing.Union[MetaOapg.properties.data, dict, frozendict.frozendict, schemas.Unset] = schemas.unset,
        uniqueRequestId: typing.Union[MetaOapg.properties.uniqueRequestId, str, schemas.Unset] = schemas.unset,
        barcode: typing.Union[MetaOapg.properties.barcode, str, schemas.Unset] = schemas.unset,
        _configuration: typing.Optional[schemas.Configuration] = None,
        **kwargs: typing.Union[schemas.AnyTypeSchema, dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, None, list, tuple, bytes],
    ) -> 'APIResponse':
        return super().__new__(
            cls,
            *_args,
            statusCode=statusCode,
            requestDateTime=requestDateTime,
            httpstatuscode=httpstatuscode,
            message=message,
            data=data,
            uniqueRequestId=uniqueRequestId,
            barcode=barcode,
            _configuration=_configuration,
            **kwargs,
        )
