Sanctions Search API: v2

<back to all web services

AddValidIdTemplate

import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

// @DataContract
class Authentication implements IConvertible
{
    /**
    * The API User ID provided by us when you signed up to use our API
    */
    // @DataMember
    // @ApiMember(Description="The API User ID provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
    String? apiUserId;

    /**
    * The API User Key provided by us when you signed up to use our API
    */
    // @DataMember
    // @ApiMember(Description="The API User Key provided by us when you signed up to use our API", IsRequired=true, ParameterType="header, body")
    String? apiUserKey;

    Authentication({this.apiUserId,this.apiUserKey});
    Authentication.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        apiUserId = json['apiUserId'];
        apiUserKey = json['apiUserKey'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'apiUserId': apiUserId,
        'apiUserKey': apiUserKey
    };

    getTypeName() => "Authentication";
    TypeContext? context = _ctx;
}

// @DataContract
class BaseRequest implements IBaseRequest, IConvertible
{
    /**
    * The authentication credentials
    */
    // @DataMember
    // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body")
    Authentication? authentication;

    BaseRequest({this.authentication});
    BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        authentication = JsonConverters.fromJson(json['authentication'],'Authentication',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'authentication': JsonConverters.toJson(authentication,'Authentication',context!)
    };

    getTypeName() => "BaseRequest";
    TypeContext? context = _ctx;
}

// @DataContract
class ResponseError implements IConvertible
{
    // @DataMember(Order=1)
    String? errorCode;

    // @DataMember(Order=2)
    String? fieldName;

    // @DataMember(Order=3)
    String? message;

    // @DataMember(Order=4)
    Map<String,String?>? meta;

    ResponseError({this.errorCode,this.fieldName,this.message,this.meta});
    ResponseError.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        errorCode = json['errorCode'];
        fieldName = json['fieldName'];
        message = json['message'];
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'errorCode': errorCode,
        'fieldName': fieldName,
        'message': message,
        'meta': meta
    };

    getTypeName() => "ResponseError";
    TypeContext? context = _ctx;
}

class ArrayOfResponseError extends ListBase<ResponseError> implements IConvertible
{
    final List<ResponseError> l = [];
    set length(int newLength) { l.length = newLength; }
    int get length => l.length;
    ResponseError operator [](int index) => l[index];
    void operator []=(int index, ResponseError value) { l[index] = value; }
    ArrayOfResponseError();
    ArrayOfResponseError.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "ArrayOfResponseError";
    TypeContext? context = _ctx;
}

// @DataContract
class ResponseStatus implements IConvertible
{
    // @DataMember(Order=1)
    String? errorCode;

    // @DataMember(Order=2)
    String? message;

    // @DataMember(Order=3)
    String? stackTrace;

    // @DataMember(Order=4)
    ArrayOfResponseError? errors;

    // @DataMember(Order=5)
    Map<String,String?>? meta;

    ResponseStatus({this.errorCode,this.message,this.stackTrace,this.errors,this.meta});
    ResponseStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        errorCode = json['errorCode'];
        message = json['message'];
        stackTrace = json['stackTrace'];
        errors = JsonConverters.fromJson(json['errors'],'ArrayOfResponseError',context!);
        meta = JsonConverters.toStringMap(json['meta']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'errorCode': errorCode,
        'message': message,
        'stackTrace': stackTrace,
        'errors': JsonConverters.toJson(errors,'ArrayOfResponseError',context!),
        'meta': meta
    };

    getTypeName() => "ResponseStatus";
    TypeContext? context = _ctx;
}

class BaseResponse implements IBaseDataResponse, IHasResponseStatus, IConvertible
{
    /**
    * The status of the response
    */
    // @ApiMember(Description="The status of the response")
    ResponseStatus? responseStatus;

    BaseResponse({this.responseStatus});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "BaseResponse";
    TypeContext? context = _ctx;
}

class ArrayOfLists extends ListBase<String> implements IConvertible
{
    final List<String> l = [];
    set length(int newLength) { l.length = newLength; }
    int get length => l.length;
    String operator [](int index) => l[index];
    void operator []=(int index, String value) { l[index] = value; }
    ArrayOfLists();
    ArrayOfLists.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "ArrayOfLists";
    TypeContext? context = _ctx;
}

class LinkedTo implements IConvertible
{
    int? clientId;
    int? id;
    String? type;
    String? subtype;
    String? status;
    String? description;
    bool? isArchived;
    String? name;
    DateTime? date;

    LinkedTo({this.clientId,this.id,this.type,this.subtype,this.status,this.description,this.isArchived,this.name,this.date});
    LinkedTo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        clientId = json['clientId'];
        id = json['id'];
        type = json['type'];
        subtype = json['subtype'];
        status = json['status'];
        description = json['description'];
        isArchived = json['isArchived'];
        name = json['name'];
        date = JsonConverters.fromJson(json['date'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'clientId': clientId,
        'id': id,
        'type': type,
        'subtype': subtype,
        'status': status,
        'description': description,
        'isArchived': isArchived,
        'name': name,
        'date': JsonConverters.toJson(date,'DateTime',context!)
    };

    getTypeName() => "LinkedTo";
    TypeContext? context = _ctx;
}

class ArrayOfLinkedTo extends ListBase<LinkedTo> implements IConvertible
{
    final List<LinkedTo> l = [];
    set length(int newLength) { l.length = newLength; }
    int get length => l.length;
    LinkedTo operator [](int index) => l[index];
    void operator []=(int index, LinkedTo value) { l[index] = value; }
    ArrayOfLinkedTo();
    ArrayOfLinkedTo.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "ArrayOfLinkedTo";
    TypeContext? context = _ctx;
}

class ValidIdBasicRequest implements IConvertible
{
    String? name1;
    String? name2;
    String? name3;
    DateTime? dateOfBirth;
    String? gender;
    String? address1;
    String? address2;
    String? address3;
    String? address4;
    String? address5;
    String? postCode;

    ValidIdBasicRequest({this.name1,this.name2,this.name3,this.dateOfBirth,this.gender,this.address1,this.address2,this.address3,this.address4,this.address5,this.postCode});
    ValidIdBasicRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name1 = json['name1'];
        name2 = json['name2'];
        name3 = json['name3'];
        dateOfBirth = JsonConverters.fromJson(json['dateOfBirth'],'DateTime',context!);
        gender = json['gender'];
        address1 = json['address1'];
        address2 = json['address2'];
        address3 = json['address3'];
        address4 = json['address4'];
        address5 = json['address5'];
        postCode = json['postCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name1': name1,
        'name2': name2,
        'name3': name3,
        'dateOfBirth': JsonConverters.toJson(dateOfBirth,'DateTime',context!),
        'gender': gender,
        'address1': address1,
        'address2': address2,
        'address3': address3,
        'address4': address4,
        'address5': address5,
        'postCode': postCode
    };

    getTypeName() => "ValidIdBasicRequest";
    TypeContext? context = _ctx;
}

class ValidIdPassportRequest implements IConvertible
{
    String? passport1;
    String? passport2;
    String? passport3;
    String? passport4;
    String? passport5;
    String? passport6;
    String? passport7;
    String? passport8;
    String? passportMrzLineOne1;
    String? passportMrzLineOne2;
    String? passportMrzLineOne3;

    ValidIdPassportRequest({this.passport1,this.passport2,this.passport3,this.passport4,this.passport5,this.passport6,this.passport7,this.passport8,this.passportMrzLineOne1,this.passportMrzLineOne2,this.passportMrzLineOne3});
    ValidIdPassportRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        passport1 = json['passport1'];
        passport2 = json['passport2'];
        passport3 = json['passport3'];
        passport4 = json['passport4'];
        passport5 = json['passport5'];
        passport6 = json['passport6'];
        passport7 = json['passport7'];
        passport8 = json['passport8'];
        passportMrzLineOne1 = json['passportMrzLineOne1'];
        passportMrzLineOne2 = json['passportMrzLineOne2'];
        passportMrzLineOne3 = json['passportMrzLineOne3'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'passport1': passport1,
        'passport2': passport2,
        'passport3': passport3,
        'passport4': passport4,
        'passport5': passport5,
        'passport6': passport6,
        'passport7': passport7,
        'passport8': passport8,
        'passportMrzLineOne1': passportMrzLineOne1,
        'passportMrzLineOne2': passportMrzLineOne2,
        'passportMrzLineOne3': passportMrzLineOne3
    };

    getTypeName() => "ValidIdPassportRequest";
    TypeContext? context = _ctx;
}

class ValidIdDrivingRequest implements IConvertible
{
    String? driving1;
    String? driving2;
    String? driving3;
    String? drivingPostcode;
    String? drivingMailSort;

    ValidIdDrivingRequest({this.driving1,this.driving2,this.driving3,this.drivingPostcode,this.drivingMailSort});
    ValidIdDrivingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        driving1 = json['driving1'];
        driving2 = json['driving2'];
        driving3 = json['driving3'];
        drivingPostcode = json['drivingPostcode'];
        drivingMailSort = json['drivingMailSort'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'driving1': driving1,
        'driving2': driving2,
        'driving3': driving3,
        'drivingPostcode': drivingPostcode,
        'drivingMailSort': drivingMailSort
    };

    getTypeName() => "ValidIdDrivingRequest";
    TypeContext? context = _ctx;
}

class ValidIdBirthRequest implements IConvertible
{
    String? birthForeName;
    String? birthMiddleName;
    String? birthSurname;
    String? birthMaidenName;
    String? birthDistrict;
    String? birthCertIssueNum;

    ValidIdBirthRequest({this.birthForeName,this.birthMiddleName,this.birthSurname,this.birthMaidenName,this.birthDistrict,this.birthCertIssueNum});
    ValidIdBirthRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        birthForeName = json['birthForeName'];
        birthMiddleName = json['birthMiddleName'];
        birthSurname = json['birthSurname'];
        birthMaidenName = json['birthMaidenName'];
        birthDistrict = json['birthDistrict'];
        birthCertIssueNum = json['birthCertIssueNum'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'birthForeName': birthForeName,
        'birthMiddleName': birthMiddleName,
        'birthSurname': birthSurname,
        'birthMaidenName': birthMaidenName,
        'birthDistrict': birthDistrict,
        'birthCertIssueNum': birthCertIssueNum
    };

    getTypeName() => "ValidIdBirthRequest";
    TypeContext? context = _ctx;
}

class ValidIdNIRequest implements IConvertible
{
    String? niNumber;

    ValidIdNIRequest({this.niNumber});
    ValidIdNIRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        niNumber = json['niNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'niNumber': niNumber
    };

    getTypeName() => "ValidIdNIRequest";
    TypeContext? context = _ctx;
}

class ValidIdNHSRequest implements IConvertible
{
    String? nhsNumber;

    ValidIdNHSRequest({this.nhsNumber});
    ValidIdNHSRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nhsNumber = json['nhsNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nhsNumber': nhsNumber
    };

    getTypeName() => "ValidIdNHSRequest";
    TypeContext? context = _ctx;
}

class ValidIdElectricityRequest implements IConvertible
{
    String? mpanNumber1;
    String? mpanNumber2;
    String? mpanNumber3;
    String? mpanNumber4;

    ValidIdElectricityRequest({this.mpanNumber1,this.mpanNumber2,this.mpanNumber3,this.mpanNumber4});
    ValidIdElectricityRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        mpanNumber1 = json['mpanNumber1'];
        mpanNumber2 = json['mpanNumber2'];
        mpanNumber3 = json['mpanNumber3'];
        mpanNumber4 = json['mpanNumber4'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'mpanNumber1': mpanNumber1,
        'mpanNumber2': mpanNumber2,
        'mpanNumber3': mpanNumber3,
        'mpanNumber4': mpanNumber4
    };

    getTypeName() => "ValidIdElectricityRequest";
    TypeContext? context = _ctx;
}

class ValidIdBankRequest implements IConvertible
{
    String? bankSortCode;
    String? bankAccountNumber;

    ValidIdBankRequest({this.bankSortCode,this.bankAccountNumber});
    ValidIdBankRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bankSortCode = json['bankSortCode'];
        bankAccountNumber = json['bankAccountNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bankSortCode': bankSortCode,
        'bankAccountNumber': bankAccountNumber
    };

    getTypeName() => "ValidIdBankRequest";
    TypeContext? context = _ctx;
}

class ValidIdCardNumberRequest implements IConvertible
{
    String? cardNumber;
    String? cardType;

    ValidIdCardNumberRequest({this.cardNumber,this.cardType});
    ValidIdCardNumberRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cardNumber = json['cardNumber'];
        cardType = json['cardType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cardNumber': cardNumber,
        'cardType': cardType
    };

    getTypeName() => "ValidIdCardNumberRequest";
    TypeContext? context = _ctx;
}

class ValidIdTravelVisaRequest implements IConvertible
{
    String? travelVisa1;
    String? travelVisa2;
    String? travelVisa3;
    String? travelVisa4;
    String? travelVisa5;
    String? travelVisa6;
    String? travelVisa7;
    String? travelVisa8;
    String? travelVisa9;

    ValidIdTravelVisaRequest({this.travelVisa1,this.travelVisa2,this.travelVisa3,this.travelVisa4,this.travelVisa5,this.travelVisa6,this.travelVisa7,this.travelVisa8,this.travelVisa9});
    ValidIdTravelVisaRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        travelVisa1 = json['travelVisa1'];
        travelVisa2 = json['travelVisa2'];
        travelVisa3 = json['travelVisa3'];
        travelVisa4 = json['travelVisa4'];
        travelVisa5 = json['travelVisa5'];
        travelVisa6 = json['travelVisa6'];
        travelVisa7 = json['travelVisa7'];
        travelVisa8 = json['travelVisa8'];
        travelVisa9 = json['travelVisa9'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'travelVisa1': travelVisa1,
        'travelVisa2': travelVisa2,
        'travelVisa3': travelVisa3,
        'travelVisa4': travelVisa4,
        'travelVisa5': travelVisa5,
        'travelVisa6': travelVisa6,
        'travelVisa7': travelVisa7,
        'travelVisa8': travelVisa8,
        'travelVisa9': travelVisa9
    };

    getTypeName() => "ValidIdTravelVisaRequest";
    TypeContext? context = _ctx;
}

class ValidIdIdCardRequest implements IConvertible
{
    String? idCard1;
    String? idCard2;
    String? idCard3;
    String? idCard4;
    String? idCard5;
    String? idCard6;
    String? idCard7;
    String? idCard8;
    String? idCard9;
    String? idCard10;

    ValidIdIdCardRequest({this.idCard1,this.idCard2,this.idCard3,this.idCard4,this.idCard5,this.idCard6,this.idCard7,this.idCard8,this.idCard9,this.idCard10});
    ValidIdIdCardRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        idCard1 = json['idCard1'];
        idCard2 = json['idCard2'];
        idCard3 = json['idCard3'];
        idCard4 = json['idCard4'];
        idCard5 = json['idCard5'];
        idCard6 = json['idCard6'];
        idCard7 = json['idCard7'];
        idCard8 = json['idCard8'];
        idCard9 = json['idCard9'];
        idCard10 = json['idCard10'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'idCard1': idCard1,
        'idCard2': idCard2,
        'idCard3': idCard3,
        'idCard4': idCard4,
        'idCard5': idCard5,
        'idCard6': idCard6,
        'idCard7': idCard7,
        'idCard8': idCard8,
        'idCard9': idCard9,
        'idCard10': idCard10
    };

    getTypeName() => "ValidIdIdCardRequest";
    TypeContext? context = _ctx;
}

class ValidIdPollNumberRequest implements IConvertible
{
    String? pollNumber;

    ValidIdPollNumberRequest({this.pollNumber});
    ValidIdPollNumberRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        pollNumber = json['pollNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'pollNumber': pollNumber
    };

    getTypeName() => "ValidIdPollNumberRequest";
    TypeContext? context = _ctx;
}

class ValidIdMarriageRequest implements IConvertible
{
    String? forename;
    String? surname;
    String? partnerForename;
    String? partnerSurname;
    String? date;
    String? district;
    String? certIssueNum;

    ValidIdMarriageRequest({this.forename,this.surname,this.partnerForename,this.partnerSurname,this.date,this.district,this.certIssueNum});
    ValidIdMarriageRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        forename = json['forename'];
        surname = json['surname'];
        partnerForename = json['partnerForename'];
        partnerSurname = json['partnerSurname'];
        date = json['date'];
        district = json['district'];
        certIssueNum = json['certIssueNum'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'forename': forename,
        'surname': surname,
        'partnerForename': partnerForename,
        'partnerSurname': partnerSurname,
        'date': date,
        'district': district,
        'certIssueNum': certIssueNum
    };

    getTypeName() => "ValidIdMarriageRequest";
    TypeContext? context = _ctx;
}

class AddValidIdRequest implements IConvertible
{
    /**
    * If the search should be saved against a single Sub User account, specify their username here
    */
    // @ApiMember(Description="If the search should be saved against a single Sub User account, specify their username here")
    String? subUserName;

    String? type;
    bool? addPepSearch;
    String? pepSearchType;
    bool? addSanctionsSearch;
    ArrayOfLists? selectedLists;
    String? reference;
    /**
    * If the search should be linked to other searches, specify the them here
    */
    // @ApiMember(Description="If the search should be linked to other searches, specify the them here")
    ArrayOfLinkedTo? linkedTo;

    ValidIdBasicRequest? basicRequest;
    ValidIdPassportRequest? passportRequest;
    ValidIdDrivingRequest? drivingRequest;
    ValidIdBirthRequest? birthRequest;
    ValidIdNIRequest? niRequest;
    ValidIdNHSRequest? nhsRequest;
    ValidIdElectricityRequest? electricityRequest;
    ValidIdBankRequest? bankRequest;
    ValidIdCardNumberRequest? cardNumberRequest;
    ValidIdTravelVisaRequest? travelVisaRequest;
    ValidIdIdCardRequest? idCardRequest;
    ValidIdPollNumberRequest? pollNumberRequest;
    ValidIdMarriageRequest? marriageRequest;
    bool? passportEnabled;
    bool? passportChipEnabled;
    bool? drivingEnabled;
    bool? smartlinkEnabled;
    bool? niEnabled;
    bool? nhsEnabled;
    bool? electricityEnabled;
    bool? bankEnabled;
    bool? creditActiveEnabled;
    bool? idCardEnabled;
    bool? bankLiveEnabled;
    bool? companyDirectorEnabled;
    bool? searchActivityEnabled;
    bool? prsEnabled;

    AddValidIdRequest({this.subUserName,this.type,this.addPepSearch,this.pepSearchType,this.addSanctionsSearch,this.selectedLists,this.reference,this.linkedTo,this.basicRequest,this.passportRequest,this.drivingRequest,this.birthRequest,this.niRequest,this.nhsRequest,this.electricityRequest,this.bankRequest,this.cardNumberRequest,this.travelVisaRequest,this.idCardRequest,this.pollNumberRequest,this.marriageRequest,this.passportEnabled,this.passportChipEnabled,this.drivingEnabled,this.smartlinkEnabled,this.niEnabled,this.nhsEnabled,this.electricityEnabled,this.bankEnabled,this.creditActiveEnabled,this.idCardEnabled,this.bankLiveEnabled,this.companyDirectorEnabled,this.searchActivityEnabled,this.prsEnabled});
    AddValidIdRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        subUserName = json['subUserName'];
        type = json['type'];
        addPepSearch = json['addPepSearch'];
        pepSearchType = json['pepSearchType'];
        addSanctionsSearch = json['addSanctionsSearch'];
        selectedLists = JsonConverters.fromJson(json['selectedLists'],'ArrayOfLists',context!);
        reference = json['reference'];
        linkedTo = JsonConverters.fromJson(json['linkedTo'],'ArrayOfLinkedTo',context!);
        basicRequest = JsonConverters.fromJson(json['basicRequest'],'ValidIdBasicRequest',context!);
        passportRequest = JsonConverters.fromJson(json['passportRequest'],'ValidIdPassportRequest',context!);
        drivingRequest = JsonConverters.fromJson(json['drivingRequest'],'ValidIdDrivingRequest',context!);
        birthRequest = JsonConverters.fromJson(json['birthRequest'],'ValidIdBirthRequest',context!);
        niRequest = JsonConverters.fromJson(json['niRequest'],'ValidIdNIRequest',context!);
        nhsRequest = JsonConverters.fromJson(json['nhsRequest'],'ValidIdNHSRequest',context!);
        electricityRequest = JsonConverters.fromJson(json['electricityRequest'],'ValidIdElectricityRequest',context!);
        bankRequest = JsonConverters.fromJson(json['bankRequest'],'ValidIdBankRequest',context!);
        cardNumberRequest = JsonConverters.fromJson(json['cardNumberRequest'],'ValidIdCardNumberRequest',context!);
        travelVisaRequest = JsonConverters.fromJson(json['travelVisaRequest'],'ValidIdTravelVisaRequest',context!);
        idCardRequest = JsonConverters.fromJson(json['idCardRequest'],'ValidIdIdCardRequest',context!);
        pollNumberRequest = JsonConverters.fromJson(json['pollNumberRequest'],'ValidIdPollNumberRequest',context!);
        marriageRequest = JsonConverters.fromJson(json['marriageRequest'],'ValidIdMarriageRequest',context!);
        passportEnabled = json['passportEnabled'];
        passportChipEnabled = json['passportChipEnabled'];
        drivingEnabled = json['drivingEnabled'];
        smartlinkEnabled = json['smartlinkEnabled'];
        niEnabled = json['niEnabled'];
        nhsEnabled = json['nhsEnabled'];
        electricityEnabled = json['electricityEnabled'];
        bankEnabled = json['bankEnabled'];
        creditActiveEnabled = json['creditActiveEnabled'];
        idCardEnabled = json['idCardEnabled'];
        bankLiveEnabled = json['bankLiveEnabled'];
        companyDirectorEnabled = json['companyDirectorEnabled'];
        searchActivityEnabled = json['searchActivityEnabled'];
        prsEnabled = json['prsEnabled'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'subUserName': subUserName,
        'type': type,
        'addPepSearch': addPepSearch,
        'pepSearchType': pepSearchType,
        'addSanctionsSearch': addSanctionsSearch,
        'selectedLists': JsonConverters.toJson(selectedLists,'ArrayOfLists',context!),
        'reference': reference,
        'linkedTo': JsonConverters.toJson(linkedTo,'ArrayOfLinkedTo',context!),
        'basicRequest': JsonConverters.toJson(basicRequest,'ValidIdBasicRequest',context!),
        'passportRequest': JsonConverters.toJson(passportRequest,'ValidIdPassportRequest',context!),
        'drivingRequest': JsonConverters.toJson(drivingRequest,'ValidIdDrivingRequest',context!),
        'birthRequest': JsonConverters.toJson(birthRequest,'ValidIdBirthRequest',context!),
        'niRequest': JsonConverters.toJson(niRequest,'ValidIdNIRequest',context!),
        'nhsRequest': JsonConverters.toJson(nhsRequest,'ValidIdNHSRequest',context!),
        'electricityRequest': JsonConverters.toJson(electricityRequest,'ValidIdElectricityRequest',context!),
        'bankRequest': JsonConverters.toJson(bankRequest,'ValidIdBankRequest',context!),
        'cardNumberRequest': JsonConverters.toJson(cardNumberRequest,'ValidIdCardNumberRequest',context!),
        'travelVisaRequest': JsonConverters.toJson(travelVisaRequest,'ValidIdTravelVisaRequest',context!),
        'idCardRequest': JsonConverters.toJson(idCardRequest,'ValidIdIdCardRequest',context!),
        'pollNumberRequest': JsonConverters.toJson(pollNumberRequest,'ValidIdPollNumberRequest',context!),
        'marriageRequest': JsonConverters.toJson(marriageRequest,'ValidIdMarriageRequest',context!),
        'passportEnabled': passportEnabled,
        'passportChipEnabled': passportChipEnabled,
        'drivingEnabled': drivingEnabled,
        'smartlinkEnabled': smartlinkEnabled,
        'niEnabled': niEnabled,
        'nhsEnabled': nhsEnabled,
        'electricityEnabled': electricityEnabled,
        'bankEnabled': bankEnabled,
        'creditActiveEnabled': creditActiveEnabled,
        'idCardEnabled': idCardEnabled,
        'bankLiveEnabled': bankLiveEnabled,
        'companyDirectorEnabled': companyDirectorEnabled,
        'searchActivityEnabled': searchActivityEnabled,
        'prsEnabled': prsEnabled
    };

    getTypeName() => "AddValidIdRequest";
    TypeContext? context = _ctx;
}

class AddValidIdTemplateData extends BaseResponse implements IConvertible
{
    AddValidIdRequest? request;

    AddValidIdTemplateData({this.request});
    AddValidIdTemplateData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        request = JsonConverters.fromJson(json['request'],'AddValidIdRequest',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'request': JsonConverters.toJson(request,'AddValidIdRequest',context!)
    });

    getTypeName() => "AddValidIdTemplateData";
    TypeContext? context = _ctx;
}

// @DataContract
class AddValidIdTemplateResponse implements IConvertible
{
    // @DataMember
    AddValidIdTemplateData? data;

    AddValidIdTemplateResponse({this.data});
    AddValidIdTemplateResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        data = JsonConverters.fromJson(json['data'],'AddValidIdTemplateData',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'data': JsonConverters.toJson(data,'AddValidIdTemplateData',context!)
    };

    getTypeName() => "AddValidIdTemplateResponse";
    TypeContext? context = _ctx;
}

// @DataContract
class AddValidIdTemplate extends BaseRequest implements IConvertible
{
    // @DataMember
    // @ApiMember(IsRequired=true)
    int? clientId;

    AddValidIdTemplate({this.clientId});
    AddValidIdTemplate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        clientId = json['clientId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'clientId': clientId
    });

    getTypeName() => "AddValidIdTemplate";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.sanctionssearch.com', types: <String, TypeInfo> {
    'Authentication': TypeInfo(TypeOf.Class, create:() => Authentication()),
    'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
    'ArrayOfResponseError': TypeInfo(TypeOf.Class, create:() => ArrayOfResponseError()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'ArrayOfLists': TypeInfo(TypeOf.Class, create:() => ArrayOfLists()),
    'LinkedTo': TypeInfo(TypeOf.Class, create:() => LinkedTo()),
    'ArrayOfLinkedTo': TypeInfo(TypeOf.Class, create:() => ArrayOfLinkedTo()),
    'ValidIdBasicRequest': TypeInfo(TypeOf.Class, create:() => ValidIdBasicRequest()),
    'ValidIdPassportRequest': TypeInfo(TypeOf.Class, create:() => ValidIdPassportRequest()),
    'ValidIdDrivingRequest': TypeInfo(TypeOf.Class, create:() => ValidIdDrivingRequest()),
    'ValidIdBirthRequest': TypeInfo(TypeOf.Class, create:() => ValidIdBirthRequest()),
    'ValidIdNIRequest': TypeInfo(TypeOf.Class, create:() => ValidIdNIRequest()),
    'ValidIdNHSRequest': TypeInfo(TypeOf.Class, create:() => ValidIdNHSRequest()),
    'ValidIdElectricityRequest': TypeInfo(TypeOf.Class, create:() => ValidIdElectricityRequest()),
    'ValidIdBankRequest': TypeInfo(TypeOf.Class, create:() => ValidIdBankRequest()),
    'ValidIdCardNumberRequest': TypeInfo(TypeOf.Class, create:() => ValidIdCardNumberRequest()),
    'ValidIdTravelVisaRequest': TypeInfo(TypeOf.Class, create:() => ValidIdTravelVisaRequest()),
    'ValidIdIdCardRequest': TypeInfo(TypeOf.Class, create:() => ValidIdIdCardRequest()),
    'ValidIdPollNumberRequest': TypeInfo(TypeOf.Class, create:() => ValidIdPollNumberRequest()),
    'ValidIdMarriageRequest': TypeInfo(TypeOf.Class, create:() => ValidIdMarriageRequest()),
    'AddValidIdRequest': TypeInfo(TypeOf.Class, create:() => AddValidIdRequest()),
    'AddValidIdTemplateData': TypeInfo(TypeOf.Class, create:() => AddValidIdTemplateData()),
    'AddValidIdTemplateResponse': TypeInfo(TypeOf.Class, create:() => AddValidIdTemplateResponse()),
    'AddValidIdTemplate': TypeInfo(TypeOf.Class, create:() => AddValidIdTemplate()),
});

Dart AddValidIdTemplate DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .soap12 suffix or ?format=soap12

HTTP + SOAP12

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /soap12 HTTP/1.1 
Host: api.sanctionssearch.com 
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>

<AddValidIdTemplate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Authentication>
    <ApiUserId>String</ApiUserId>
    <ApiUserKey>String</ApiUserKey>
  </Authentication>
  <ClientId>0</ClientId>
</AddValidIdTemplate>

</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>

<AddValidIdTemplateResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <Data>
    <ResponseStatus>
      <ErrorCode>String</ErrorCode>
      <Message>String</Message>
      <StackTrace>String</StackTrace>
      <Errors>
        <ResponseError>
          <ErrorCode>String</ErrorCode>
          <FieldName>String</FieldName>
          <Message>String</Message>
          <Meta xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
            <d6p1:KeyValueOfstringstring>
              <d6p1:Key>String</d6p1:Key>
              <d6p1:Value>String</d6p1:Value>
            </d6p1:KeyValueOfstringstring>
          </Meta>
        </ResponseError>
      </Errors>
      <Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Meta>
    </ResponseStatus>
    <Request>
      <AddPepSearch>false</AddPepSearch>
      <AddSanctionsSearch>false</AddSanctionsSearch>
      <BankEnabled>false</BankEnabled>
      <BankLiveEnabled>false</BankLiveEnabled>
      <BankRequest>
        <BankAccountNumber>String</BankAccountNumber>
        <BankSortCode>String</BankSortCode>
      </BankRequest>
      <BasicRequest>
        <Address1>String</Address1>
        <Address2>String</Address2>
        <Address3>String</Address3>
        <Address4>String</Address4>
        <Address5>String</Address5>
        <DateOfBirth>0001-01-01T00:00:00</DateOfBirth>
        <Gender>String</Gender>
        <Name1>String</Name1>
        <Name2>String</Name2>
        <Name3>String</Name3>
        <PostCode>String</PostCode>
      </BasicRequest>
      <BirthRequest>
        <BirthCertIssueNum>String</BirthCertIssueNum>
        <BirthDistrict>String</BirthDistrict>
        <BirthForeName>String</BirthForeName>
        <BirthMaidenName>String</BirthMaidenName>
        <BirthMiddleName>String</BirthMiddleName>
        <BirthSurname>String</BirthSurname>
      </BirthRequest>
      <CardNumberRequest>
        <CardNumber>String</CardNumber>
        <CardType>String</CardType>
      </CardNumberRequest>
      <CompanyDirectorEnabled>false</CompanyDirectorEnabled>
      <CreditActiveEnabled>false</CreditActiveEnabled>
      <DrivingEnabled>false</DrivingEnabled>
      <DrivingRequest>
        <Driving1>String</Driving1>
        <Driving2>String</Driving2>
        <Driving3>String</Driving3>
        <DrivingMailSort>String</DrivingMailSort>
        <DrivingPostcode>String</DrivingPostcode>
      </DrivingRequest>
      <ElectricityEnabled>false</ElectricityEnabled>
      <ElectricityRequest>
        <MPANNumber1>String</MPANNumber1>
        <MPANNumber2>String</MPANNumber2>
        <MPANNumber3>String</MPANNumber3>
        <MPANNumber4>String</MPANNumber4>
      </ElectricityRequest>
      <IdCardEnabled>false</IdCardEnabled>
      <IdCardRequest>
        <IdCard1>String</IdCard1>
        <IdCard10>String</IdCard10>
        <IdCard2>String</IdCard2>
        <IdCard3>String</IdCard3>
        <IdCard4>String</IdCard4>
        <IdCard5>String</IdCard5>
        <IdCard6>String</IdCard6>
        <IdCard7>String</IdCard7>
        <IdCard8>String</IdCard8>
        <IdCard9>String</IdCard9>
      </IdCardRequest>
      <LinkedTo>
        <LinkedTo>
          <ClientId>0</ClientId>
          <Date>0001-01-01T00:00:00</Date>
          <Description>String</Description>
          <Id>0</Id>
          <IsArchived>false</IsArchived>
          <Name>String</Name>
          <Status>String</Status>
          <Subtype>String</Subtype>
          <Type>String</Type>
        </LinkedTo>
      </LinkedTo>
      <MarriageRequest>
        <CertIssueNum>String</CertIssueNum>
        <Date>String</Date>
        <District>String</District>
        <Forename>String</Forename>
        <PartnerForename>String</PartnerForename>
        <PartnerSurname>String</PartnerSurname>
        <Surname>String</Surname>
      </MarriageRequest>
      <NHSEnabled>false</NHSEnabled>
      <NHSRequest>
        <NHSNumber>String</NHSNumber>
      </NHSRequest>
      <NIEnabled>false</NIEnabled>
      <NIRequest>
        <NINumber>String</NINumber>
      </NIRequest>
      <PRSEnabled>false</PRSEnabled>
      <PassportChipEnabled>false</PassportChipEnabled>
      <PassportEnabled>false</PassportEnabled>
      <PassportRequest>
        <Passport1>String</Passport1>
        <Passport2>String</Passport2>
        <Passport3>String</Passport3>
        <Passport4>String</Passport4>
        <Passport5>String</Passport5>
        <Passport6>String</Passport6>
        <Passport7>String</Passport7>
        <Passport8>String</Passport8>
        <PassportMrzLineOne1>String</PassportMrzLineOne1>
        <PassportMrzLineOne2>String</PassportMrzLineOne2>
        <PassportMrzLineOne3>String</PassportMrzLineOne3>
      </PassportRequest>
      <PepSearchType>String</PepSearchType>
      <PollNumberRequest>
        <PollNumber>String</PollNumber>
      </PollNumberRequest>
      <Reference>String</Reference>
      <SearchActivityEnabled>false</SearchActivityEnabled>
      <SelectedLists>
        <ListId>String</ListId>
      </SelectedLists>
      <SmartlinkEnabled>false</SmartlinkEnabled>
      <SubUserName>String</SubUserName>
      <TravelVisaRequest>
        <TravelVisa1>String</TravelVisa1>
        <TravelVisa2>String</TravelVisa2>
        <TravelVisa3>String</TravelVisa3>
        <TravelVisa4>String</TravelVisa4>
        <TravelVisa5>String</TravelVisa5>
        <TravelVisa6>String</TravelVisa6>
        <TravelVisa7>String</TravelVisa7>
        <TravelVisa8>String</TravelVisa8>
        <TravelVisa9>String</TravelVisa9>
      </TravelVisaRequest>
      <Type>String</Type>
    </Request>
  </Data>
</AddValidIdTemplateResponse>

</soap12:Body>
</soap12:Envelope>