""" Options: Date: 2026-06-20 21:18:35 Version: 8.80 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.simplified.id/v2 #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetAccountStatus.* #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 Authentication: # @ApiMember(Description="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired=true, ParameterType="header, body") api_user_id: Optional[str] = None """ The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User) """ # @ApiMember(Description="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired=true, ParameterType="header, body") api_user_key: Optional[str] = None """ The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key) """ # @ApiMember(Description="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType="header, body") user_id: Optional[str] = None """ The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id). """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BaseRequest(IBaseRequest): # @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") authentication: Optional[Authentication] = None """ The authentication credentials """ class IBaseRequest: authentication: Optional[Authentication] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BaseResponse(IBaseDataResponse, IHasResponseStatus): # @ApiMember(Description="The status of the response") response_status: Optional[ResponseStatus] = None """ The status of the response """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AccountStatus: # @ApiMember(Description="The account status (e.g. Unpaid, Active, Expired)") status: Optional[str] = None """ The account status (e.g. Unpaid, Active, Expired) """ # @ApiMember(Description="The account type (e.g. live, developer, demo)") type: Optional[str] = None """ The account type (e.g. live, developer, demo) """ # @ApiMember(Description="The account Expiry Date") expiry_date: Optional[datetime.datetime] = None """ The account Expiry Date """ # @ApiMember(Description="The account Expiry Date as a string in ISO 8601 format") expiry_date_universal: Optional[str] = None """ The account Expiry Date as a string in ISO 8601 format """ # @ApiMember(Description="The account balance") balance: Decimal = decimal.Decimal(0) """ The account balance """ # @ApiMember(Description="The account search credit balance") credit_balance: int = 0 """ The account search credit balance """ # @ApiMember(Description="The account DBS credit balance") dbs_basic_credit_balance: int = 0 """ The account DBS credit balance """ # @ApiMember(Description="The list of enabled products for this account") products: Optional[List[str]] = None """ The list of enabled products for this account """ # @ApiMember(Description="The list of enabled capabilities for this account") capabilities: Optional[List[str]] = None """ The list of enabled capabilities for this account """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetAccountStatusData(BaseResponse): # @ApiMember(Description="The account status information") account_status: Optional[AccountStatus] = None """ The account status information """ class IBaseDataResponse: response_status: Optional[ResponseStatus] = None class IHasResponseStatus: response_status: Optional[ResponseStatus] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetAccountStatusResponse: # @ApiMember(Description="The response data") data: Optional[GetAccountStatusData] = None """ The response data """ # @Route("/account/status", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetAccountStatus(BaseRequest, IReturn[GetAccountStatusResponse]): pass