""" Options: Date: 2026-06-15 06:34:23 Version: 6.02 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.backgroundchecklatam.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: BackgroundchekSeach.* #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 class SearchCountrys(str, Enum): COLOMBIA = 'Colombia' COL = 'COL' MEXICO = 'Mexico' MEX = 'MEX' CHILE = 'Chile' CHL = 'CHL' BRASIL = 'Brasil' BRA = 'BRA' PANAMA = 'Panama' PAN = 'PAN' DOMINICANA = 'Dominicana' DOM = 'DOM' COSTA_RICA = 'CostaRica' CRI = 'CRI' ARGENTINA = 'Argentina' ARG = 'ARG' ECUADOR = 'Ecuador' ECU = 'ECU' PERU = 'Peru' PER = 'PER' EL_SALVADOR = 'ElSalvador' SLV = 'SLV' GUATEMALA = 'Guatemala' GTM = 'GTM' HONDURAS = 'Honduras' HND = 'HND' VENEZUELA = 'Venezuela' VEN = 'VEN' ALL = 'ALL' AFG = 'AFG' ALB = 'ALB' DZA = 'DZA' AND_ = 'AND' AGO = 'AGO' ATG = 'ATG' ARM = 'ARM' AUS = 'AUS' AUT = 'AUT' AZE = 'AZE' BHS = 'BHS' BHR = 'BHR' BGD = 'BGD' BRB = 'BRB' BLR = 'BLR' BEL = 'BEL' BLZ = 'BLZ' BEN = 'BEN' BTN = 'BTN' BOL = 'BOL' BIH = 'BIH' BWA = 'BWA' BRN = 'BRN' BGR = 'BGR' BFA = 'BFA' BDI = 'BDI' CPV = 'CPV' KHM = 'KHM' CMR = 'CMR' CAN = 'CAN' CAF = 'CAF' TCD = 'TCD' CHN = 'CHN' COM = 'COM' COG = 'COG' CIV = 'CIV' HRV = 'HRV' CUB = 'CUB' CYP = 'CYP' CZE = 'CZE' DNK = 'DNK' DJI = 'DJI' DMA = 'DMA' TLS = 'TLS' EGY = 'EGY' GNQ = 'GNQ' ERI = 'ERI' EST = 'EST' ETH = 'ETH' FJI = 'FJI' FIN = 'FIN' FRA = 'FRA' GAB = 'GAB' GMB = 'GMB' GEO = 'GEO' DEU = 'DEU' GHA = 'GHA' GRC = 'GRC' GRD = 'GRD' GIN = 'GIN' GNB = 'GNB' GUY = 'GUY' HTI = 'HTI' HUN = 'HUN' ISL = 'ISL' IND = 'IND' IDN = 'IDN' IRN = 'IRN' IRQ = 'IRQ' IRL = 'IRL' ISR = 'ISR' ITA = 'ITA' JAM = 'JAM' JPN = 'JPN' JOR = 'JOR' KAZ = 'KAZ' KEN = 'KEN' KIR = 'KIR' PRK = 'PRK' KOR = 'KOR' KWT = 'KWT' KGZ = 'KGZ' LAO = 'LAO' LVA = 'LVA' LBN = 'LBN' LSO = 'LSO' LBR = 'LBR' LBY = 'LBY' LIE = 'LIE' LTU = 'LTU' LUX = 'LUX' MDG = 'MDG' MWI = 'MWI' MYS = 'MYS' MDV = 'MDV' MLI = 'MLI' MLT = 'MLT' MHL = 'MHL' MRT = 'MRT' MUS = 'MUS' FSM = 'FSM' MDA = 'MDA' MCO = 'MCO' MNG = 'MNG' MNE = 'MNE' MAR = 'MAR' MOZ = 'MOZ' MMR = 'MMR' NAM = 'NAM' NRU = 'NRU' NPL = 'NPL' NLD = 'NLD' NZL = 'NZL' NIC = 'NIC' NER = 'NER' NGA = 'NGA' MKD = 'MKD' NOR = 'NOR' OMN = 'OMN' PAK = 'PAK' PLW = 'PLW' PNG = 'PNG' PRY = 'PRY' PHL = 'PHL' POL = 'POL' PRT = 'PRT' QAT = 'QAT' ROU = 'ROU' RUS = 'RUS' RWA = 'RWA' KNA = 'KNA' LCA = 'LCA' VCT = 'VCT' WSM = 'WSM' SMR = 'SMR' STP = 'STP' SAU = 'SAU' SEN = 'SEN' SRB = 'SRB' SYC = 'SYC' SLE = 'SLE' SGP = 'SGP' SVK = 'SVK' SVN = 'SVN' SLB = 'SLB' SOM = 'SOM' ZAF = 'ZAF' SSD = 'SSD' ESP = 'ESP' LKA = 'LKA' SDN = 'SDN' SUR = 'SUR' SWZ = 'SWZ' SWE = 'SWE' CHE = 'CHE' SYR = 'SYR' TWN = 'TWN' TJK = 'TJK' TZA = 'TZA' THA = 'THA' TGO = 'TGO' TON = 'TON' TTO = 'TTO' TUN = 'TUN' TUR = 'TUR' TKM = 'TKM' TUV = 'TUV' UGA = 'UGA' UKR = 'UKR' ARE = 'ARE' GBR = 'GBR' USA = 'USA' URY = 'URY' UZB = 'UZB' VUT = 'VUT' VNM = 'VNM' YEM = 'YEM' ZMB = 'ZMB' ZWE = 'ZWE' class QueryStatus(str, Enum): OK = 'ok' FAIL = 'fail' class Severity(str, Enum): SUCCESS = 'Success' INFO = 'Info' WARNING = 'Warning' ERROR = 'Error' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Error: code: int = 0 message: Optional[str] = None source: Optional[str] = None error_severity: Optional[Severity] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DataValue: order: int = 0 name: Optional[str] = None description: Optional[str] = None tooltip: Optional[str] = None value: Optional[str] = None data_type: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class FilterEvaluationResults: matched: bool = False matched_rule: Optional[str] = None matched_excerpt: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Record: values: Optional[List[DataValue]] = None filter_evaluation_result: Optional[FilterEvaluationResults] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DataGroup: id: int = 0 name: Optional[str] = None description: Optional[str] = None sub_groups: Optional[List[DataGroup]] = None records: Optional[List[Record]] = None errors: Optional[List[Error]] = None parent_group_i_d: int = 0 validation_group: bool = False risk_points_found: int = 0 risk_points_not_found: int = 0 not_found_message: Optional[str] = None con_coincidencias: bool = False real_points: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BackgroundchekReport: alerts_counter: int = 0 show_risk_meter: bool = False full_name: Optional[str] = None document_number: Optional[str] = None report_date: datetime.datetime = datetime.datetime(1, 1, 1) search_data: Optional[BackgroundchekSeach] = None search_status: Optional[QueryStatus] = None report_i_d: Optional[str] = None errors: Optional[List[Error]] = None groups: Optional[List[DataGroup]] = None base_name: Optional[str] = None resume: Optional[List[str]] = None max_risk_points: int = 0 # @Route("/BackgroundchekSeach/{ApiCode}/{Country}/{DocumentType}/{Query}/{Version}") # @Route("/BackgroundchekSeach/{ApiCode}/{Country}/{DocumentType}/{Query}/{Version}/{NombreTitular}") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BackgroundchekSeach(IReturn[BackgroundchekReport]): api_code: Optional[str] = None country: Optional[SearchCountrys] = None document_type: Optional[str] = None query: Optional[str] = None version: int = 0 nombre_titular: Optional[str] = None