Note: We recommend that you use the latest version of our DPS web services for any new development or when you perform updates to an integration using an older version of our web services. Please review our web services listing to read up on our latest version.

Web Service Overview

Outside of the standard variable types that may be involved, the following objects are used to call methods or are returned from methods of this web service:


Your credentials will be supplied by your customer support representative. If you get these credentials wrong the call you make to the service will throw an exception so it's best to catch exceptions just in case.

Inheritance Hierarchy

  • System.Object
    • DPLv3_0Credentials


  • Username (string)

    Your username as supplied by your customer support representative.

  • Password (string)

    Your password as supplied by your customer support representative, if you change this on the website you will also need to change it in your code.



The DPLv3_0Entry object represents 1 listing on the DPL, a Premium List, or your GreyList (GL). When you are doing a search on the list, this will represent a potential hit based on the search algorythm you have selected.

Inheritance Hierarchy

  • System.Object
    • DPLv3_0Entry


  • IDNUM (integer)

    This is a unique and arbitrary integer assigned to each item on the DPL and to each item on the GL, you can determine which list the ID belongs to using the Source property.

  • Source (DPLv3_0ListSource)

    Source indicates where list (the DPL or Premium List) that an entry was derived from.

  • Name (string)

    The name of the individual, company, or organization.

  • Street (string)

    The street address if one was included with the listing. Should contain the building number, street name, and/or apartment or suite if included in the listing.

  • City (string)

    The city if included in the listing.

  • State (string)

    The state, province, prefecture, or other sub-region if a 2 letter code is in the listing and appropriate. Mostly just US states.

  • Country (string)

    The country if included in the listing. If the listing is not country specific, this will be set to 'XX'.

  • StartDate (datetime)

    The starting date that the listing is effective

  • EndDate (datetime)

    The date that the listing will no longer be effective, if the listing contained one.

  • Notes (string)

    Additional notes may be listed here. Some regular items are:

    • OID - origin identifier, if the source list has an ID included, this indicates it
    • POB - place of birth
    • DOB - date of birth
    • Passport - a passport number
    • Cedula - a cedula or national id number

    Other notes may include why they are listed, or what titles or designations they may have that aren't necessarily part of their name.

  • Code (string)

    The code that indicates the origin of the listing. For DPL entries this list can be found on the mkdenial website. For GL listings check with your company for listings that originated with your company.

  • WeakAlias (bool)

    True/False indicating if this entity is marked as a weak alias on any of the WASP lists associated with the user who made the request.

  • LastUpdate (datetime)

    The last date in which the listing was changed or if never changed the date the listing was created.

  • DelistDate (datetime)

    If the listing was removed from their list, this is the date it happened. Generally this will keep the entry from appearing in a search report, but the listing remains in our database for historical, archival, and auditing purposes.

    At this point in time the web service will not return any delisted entries. This element is included for possible future expansion.

  • Url (string)

    The URL where details of the individual, company, or organization can be viewed.


This is what is returned by a call to SearchDpl and represents the results of your search logic against our DPL plus any GL that is related to the user account.

Inheritance Hierarchy

  • System.Object
    • DPLv3_0Report


  • Hits (DPLv3_0Entry[])

    A collection of DPLv3_0Entry objects that matched your search.

  • ReportDateTimeUTC (datetime)

    The date and time that the report was generated.

  • MaxHitsSurpassed (bool)

    True when the search hits would have exceeded the MaxReturnHits.

  • SearchRequest (Search)

    The Search request that was made to produce this report.


The represents a user of the service, you can use the GetUserDetails method to find out the details about your user account.

Inheritance Hierarchy

  • System.Object
    • DPLv3_0User


  • Id (integer)

    A unique and arbitrary number assigned to each user account.

  • Username (string)

    A unique name assigned to a user for login purposes.

  • Password (string)

    The word or phrase used in conjunction with a username to gain access to the system.

  • Description (string)

    A description of the account to assist with determining who is using the account.

  • LastName (string)

    If provided, this is the last name of the user.

  • RestName (string)

    If provided this is everything except the last name of the user.

  • Email (string)

    If provided this is the email of the user.

  • Access (short)

    This is the basic access level for the account, lower numbers meaning more access from 1-5.

  • CreateDate (datetime)

    The date the account was created or 2/14/2008 indicating the date this field was added, which was applied to all accounts at that time.

  • DeactivateDate (datetime)

    The date the account was "deactivated" and thus no longer available for use. We do not delete accounts in order to retain historical data for auditing purposes.

  • ChildCount (integer)

    The number of sub-accounts the account is allowed to manage.

  • NewSubAccountMask (string)

    A mask used to determine what the next auto-created username should be for your company, many accounts have this blank.

  • KeepLog (bool)

    If true all searches are logged, logs can be reviewed via the mkdenial website.

  • Shared (bool)

    Indicates that an account is shared by multiple people and therefore the account details and password cannot be changed by the logged in user and must be changed by an admin.

  • CBS (bool)

    Indicates access is allowed to the website's "CBS" system, this system is no longer in active use and therefore this should always be false.

  • Downloads (bool)

    Indicates that the user is allowed to use the "downloads" section of the site to download exports of the data.

  • ECCN (bool)

    Indicates that the user has access to the ECCN downloads section which contains XML data about the ECCN system.

  • WebServiceAccess (bool)

    Indicates that the user has access to the webservice. Since this is given to you by the webservice, when calling the GetUserDetails method, this should always be true.


The code of a DPLv3_0Entry indicates what list it was sourced from.

Inheritance Hierarchy

  • System.Object
    • Dpl_3_0.code


  • codeName (string)

    The long descriptive name of the code.

  • codeCode (string)

    The actual code.

  • sourceCountry (string)

    The ISO 2 letter code of the country that sourced the list.


Details about a country code used by our system. All codes should be derived from the ISO 2 letter country code list.

Inheritance Hierarchy

  • System.Object
    • Dpl_3_0.country


  • cntryName (string)

    The long descriptive name of the country.

  • countryCode (string)

    The 2 letter ISO country code.


Used by the GetDynamicScreeningListEntry method, it returns an entry from your DSL based on your assigned ID, or MK's assigned ID.

Inheritance Hierarchy

  • System.Object
    • Dpl_3_0.DynamicScreeningEntity


  • DynamicScreeningEntityID (integer)

    The ID given to the entity by MK Data Services.

  • DynamicScreeningListID (integer)

    The list ID assigned to your list by MK Data Services.

  • CreatedByUserID (integer)

    The ID of the user that created this entry.

  • Name (string)

    The name of the entry.

  • Street1 (string)

    The first line of the address of the entity.

  • Street2 (string)

    The second line of the address of the entity.

  • City (string)

    The city of the entity.

  • Region (string)

    The region (like state or province) of the entity.

  • Country (string)

    The ISO 2 letter code for the country.

  • EntryDate (datetime)

    The date that the entry was first entered into the system.

  • LastUpdate (datetime)

    The most recent date that the entry was updated.

  • DelistDate (datetime)

    If the entry has been marked as no longer active, this is the date which that happened.

  • Code (string)

    A code given by the end user for the entry.

  • Notes (string)

    Notes supplied by the end user for the entry.

  • ClientID (integer)

    An ID supplied by the client when added to their list. In order for this to be of any use, it MUST be unique in the scope of the end user's list.


Used by the LicenseRequired method, this indicates if a license is required, and if so, why.

Inheritance Hierarchy

  • System.Object
    • Dpl_3_0.LinceseRequiredResult


  • Details (string)

    The details of the license requirements that may affect your shipment or product.

  • Required (bool)

    Indicates whether a license is required, or even may be required.


This object is used to model your search for requesting the search results from the site. It is a tree of groups and matches, each match is joined to the other matches in its group with "AND" or "OR" and all groups are grouped together with "AND" or "OR" based on your settings. Simple queries may easily be modeled with 1 group containing just 1 match expression. Some examples can be found in the code samples section.

Inheritance Hierarchy

  • System.Object
    • Dpl_3_0.Search


  • Groups (Group[])

    A collection of group objects.

  • Connect (ConnectType)

    This indicates whether each group should be joined to the other groups with "OR" logic or "AND" logic.

  • ExcludeCommonWords (bool)

    If there is an excluded word list that is related to your user account, this indicates whether or not to use that list in comparisons where MatchScope = Word.

  • AlwaysIncludeUnknownCountry (bool)

    If true the country "XX" which indicates unknown or unspecified country will always match in any country comparison in your search request.

  • Reference (string)

    You can use a reference to highlight why a search was made which will be associated with the search log entry.

  • MaxReturnHits (integer)

    You can limit the maximum number of hits returned with a search to help with errors related to going over the message size expected. Typically a value of 500 or 1000 is used. If the maximum is hit, MaxHitsSurpassed will be true.

  • ExcludeWeakAliases (bool)

    If you subscribe to our Weak Alias Screening Protection product, this setting will allow you to include WASP entries, or exclude them from the returned report. In the case that all hits are returned, the entries that are on a weak alias will be indicated. 


A group represents a collection of matches and their conneting logic. This allows us to mix "or" and "and" logic so we can do searches like:

  • (name = Bob AND country = US) OR (name = Robert AND country = US)
  • (name = Bob OR name = Robert) AND (country = US)

In addition to much more complicated searches.

Inheritance Hierarchy

  • System.Object
    • Dpl_3_0.Group


  • Connect (ConnectType)

    This indicates whether each match should be joined to the other matches with "OR" logic or "AND" logic.

  • Matches (Match[])

    A collection of match objects.


Each match indicates one comparison of a field to (a) keyword(s), examples include:

  • name IsSimilarTo "Jones, Bob" by 1 word
  • country Is "US" by phrase
  • notes Contains "DOB: 2/14/2007" by phrase

All of the above can be expressed as one match object, multiple match objects can be connected to each other with AND or OR in a group, and each group can be connected to others via AND or OR. This gives us a great amount of leeway to the types of searches we can perform.

Searches on the field "country" are restricted to the "Phrase" scope since they are two letter codes. If you do choose a "Word" scope the system will rewrite the search for you.

When searching for people's names it is best to use "Last, First" as that is how we store the data.

Inheritance Hierarchy

  • System.Object
    • Dpl_3_0.Match


  • Field (FieldType)

    The field we are doing the comparison on.

  • Type (MatchType)

    The nature of the actual match, see MatchType for details.

  • Scope (MatchScope)

    Searches are compare either as a phrase ("The quick brown fox") or as individual words ("the", "quick", "brown", "fox"). Comparing by word helps to resolve issues with punctuation or word order:

    • "The quick brown fox" != "Brown fox the quick"
    • "The, quick! brown - fox" != "The quick brown fox"

    In the first example above, matching by phrase will never work, and in the second only the "IsSimilarTo" logic will match. In both cases matching by word will produce 4 words matching (which is all words) and therefore always be a hit.

  • Level (integer)

    Currently this only affects the Scope of type Word matches and indicates how many matched words are required to include the hit in the report. In the case that their are less words in your keyword than the level, the level is automatically reduced to that level. No Match.Level may exceed 4.

  • Keyword (string)

    The keywords or phrase that we are using to compare the field to. If the Scope is set to word, each word is separated by a space.

    When searching for people's names it is best to use "Last, First" as that is how we store the data.

Have more questions? Submit a request


Powered by Zendesk