""" Options: Date: 2025-03-15 14:41:55 Version: 8.30 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.sanctionssearch.com/v2 #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetPdf.* #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", 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 """ # @ApiMember(Description="The API User Key provided by us when you signed up to use our API", 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 """ @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 GetPdfRequest: # @ApiMember(Description="If the saved document is kept within a single Sub User account, specify their username here") sub_user_name: Optional[str] = None """ If the saved document is kept within a single Sub User account, specify their username here """ # @ApiMember(Description="The ID of the document to retrieve") id: int = 0 """ The ID of the document to retrieve """ @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 PdfDocument: # @ApiMember(Description="The ID of the saved document") id: int = 0 """ The ID of the saved document """ # @ApiMember(Description="Is the document ready to download") is_ready: bool = False """ Is the document ready to download """ # @ApiMember(Description="The name of the saved document") name: Optional[str] = None """ The name of the saved document """ # @ApiMember(Description="The file name (including extension) of the saved document") file_name: Optional[str] = None """ The file name (including extension) of the saved document """ # @ApiMember(Description="The type of saved document (Human readable, pep, sanctions, validid, companylookup, etc.)") type: Optional[str] = None """ The type of saved document (Human readable, pep, sanctions, validid, companylookup, etc.) """ # @ApiMember(Description="If this document is a Saved Sanctions Search, the ID of the search it relates to") sanctions_search_id: Optional[int] = None """ If this document is a Saved Sanctions Search, the ID of the search it relates to """ # @ApiMember(Description="If this document is a Saved PEP Search, the ID of the search it relates to") pep_search_id: Optional[int] = None """ If this document is a Saved PEP Search, the ID of the search it relates to """ # @ApiMember(Description="If this document is a Saved ValidID Search, the ID of the search it relates to") valid_id_search_id: Optional[int] = None """ If this document is a Saved ValidID Search, the ID of the search it relates to """ # @ApiMember(Description="If this document is a Saved CompanyLookup Search, the ID of the search it relates to") company_lookup_search_id: Optional[int] = None """ If this document is a Saved CompanyLookup Search, the ID of the search it relates to """ # @ApiMember(Description="The date the saved document was created/requested") date_created: datetime.datetime = datetime.datetime(1, 1, 1) """ The date the saved document was created/requested """ # @ApiMember(Description="The date the saved document will be no longer available. You can request a new document using the SaveSearch, SavePepSearch, etc. methods") date_expires: datetime.datetime = datetime.datetime(1, 1, 1) """ The date the saved document will be no longer available. You can request a new document using the SaveSearch, SavePepSearch, etc. methods """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PdfDocumentWithData(PdfDocument): # @ApiMember(Description="The file data in a byte array") document_bytes: Optional[bytes] = None """ The file data in a byte array """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetPdfData(BaseResponse): # @ApiMember(Description="The single document that is being returned, including the file data") document: Optional[PdfDocumentWithData] = None """ The single document that is being returned, including the file data """ 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 GetPdfResponse: # @ApiMember(Description="The response data") data: Optional[GetPdfData] = None """ The response data """ # @Route("/pdfs/get", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetPdf(BaseRequest, IReturn[GetPdfResponse]): # @ApiMember(Description="The request data", ParameterType="body") request: Optional[GetPdfRequest] = None """ The request data """