MLA API

The MLA API provides programmatic access to perform MLA Active Duty status verification. The API is a synchronous, real-time wrapper of the MLA website. The intended usage targets automated status verification in consumer credit transactions where a fast, real-time response is required. The REST API allows for search submission using BASIC or API Key authentication. Responses are available in Xml or JSON.

Overview

Below are the relevant topics to get you using the MLA REST API as quickly as possible:

POST Search

Performs MLA search for subject provided. Automatically normalizes and generate name variations from last name when name suffixes or multiple name parts are supplied. Xml and JSON responses supported.

Resource Url

https://mla.quandis.com/Military/MLA.ashx/Search

Resource Information

Response FormatJSON, Xml
Authentication RequiredYes
Rate LimitedYes

Parameters

ParameterDescriptionRequiredExample
FirstNameFirst name of subjectOptionalJohn
MiddleNameMiddle name of subjectOptionalMichael
LastNameLast name of subjectRequiredDoe
USSSNSocial Security Number of subjectRequired123456789
BirthDateSubject date of birthRequired01/15/1975
ReferenceClient reference number associated with search. We suggest using a unique valueRequired456456-a
OutputSets response format. Possible values: Json, Xml. Xml is default format when unspecified.OptionalJson
IncludeCertificateWhen set to true, MLA certificates will be embedded as Base64 format. When set to false, certificates content is omitted in the product response. Certificate content will not be included in the response by default.Optionaltrue

Parameter Validation

Required parameters are validated. Common validation failures are:

  • Invalid USSSN
  • Invalid birth date
  • Missing last name

When a validation exception occurs, the MLA API will return an HTTP 422 response code. The body of the HTTP 422 message will contain:

{
  "MLAResponse": {
    "@QuandisOrderID":"1",
    "Status":"Validation Error",
    "Exceptions": {
      "Exception": {
        "Type":
        "Data Validation",
        "Severity":"Error",
        "Message":"Invalid USSSN"
      }
    }
  }
}

Example Request

POST   /Military/MLA.ashx/Search HTTP/1.1
LastName=Doe&FirstName=John&USSSN=555441212&BirthDate=01/01/1976&Reference=12345-a&Output=Json

Example Response JSON

{ 
  "MLAResponse": { 
    "@QuandisOrderID": "2", 
    "Status": "Success", 
    "Contacts": { 
      "@Score": "Inactive", 
      "Contact": [
       { 
        "LastName": "DOE", 
        "MLAResult": { 
          "Status": "Inactive", 
          "DateOfMatch": "2016-05-18", 
          "MatchResultCode": "No Match", 
          "CertificateID": "Z0ICFD01M0ADJ70" 
        } 
      }
     ] 
    } 
  } 
}

Example Response Xml

<MLAResponse QuandisOrderID="2">
  <Status>Success</Status>
  <Contacts Score="Inactive">
    <Contact>
      <LastName>DOE</LastName>
      <MLAResult>
        <Status>Inactive</Status>
        <DateOfMatch>2016-05-18</DateOfMatch>
        <MatchResultCode>No Match</MatchResultCode>
        <CertificateID>40GD5D51K0ADJ80</CertificateID>
        <Certificate>
          <FileName>40GD5D15KOADJ80.pdf</FileName>
          <Content>base64</Content>
        </Certificate>
      </MLAResult>
    </Contact>
  </Contacts>
</MLAResponse>

Response Data Points

ParentData Point Description
MLAResponse@QuandisOrderIDQuandis issued unique, numerical order identifier.
Contacts@ScoreStatus roll-up based of one to many searches associated with the request.  Possible values: Active | Inactive. When multiple searches are performed, any individual search with status of Active will set score to Active.
ContactContactParent data point of individual search. Repeatable based on number of individual searches performed as part of request.
ContactLastNameLast name of subject searched.
ContactMiddleNameMiddle name of subject searched.
ContactFirstNameFirst name of subject searched.
MLAResultStatusIndicates if subject was on active duty on the date the search was performed. Possible values: Active | Inactive. Active indicates subject is on Active Duty as of the search date or is a dependent of a Service member on Active Duty as of the search date. Inactive indicates subject is not on Active Duty as of the search date and is not a dependent of a Service member on Active Duty as of the search date.
MLAResultDateOfMatchUsed to record the date that DMDC completed the MLA match. It is effectively the “as of” date of the match. The current active duty status of Service members can and does change daily, so it’s important to record when the MLA match was completed.
MLAResultMatchResultCodeResult of match indicated by matching subject against DMDC database. Possible values:

No MatchInformation provided failed to match to a Service member or dependent in our database
Match – SSN, Date of Birth, and Last NameRecord match on SSN, Last Name, and Date of Birth.
Not Affiliated IndividualUnable to determine that subject is or ever was affiliated with the uniformed services.
MLAResultCertificateID Unique identifier for certificate issued as part of MLA check.
MLAResultCertificateParent data point of embedded MLA certificate. Data point is only rendered when IncludeCertificate is set to true in request
CertificateFileNameFileName of embedded certificate
CertificateContentBase64 content of MLA certificate

Authentication Models

MLA supports both API Key and Basic authentication. API Keys are associated with a user account, and recommended for automation. When you sign up, Quandis will provide credentials to access the system which include username, password and API Key.

API Key authentication requires a custom HTTP request header:

  • X-ApiKey: <ApiKey>

Api Key is formatted as a GUID.

BASIC authentication requires the Authorization header to be set. Note that many programming languages will set this automatically by associating a credential with a HTTP request. HTTP Status 403 unauthorized will be returned if validation fails. The body of the HTTP 403 message will contain:

{
  "MLAResponse": {
    "Status":"Error",
    "Exceptions": {
      "Exception": {
        "Type":"Authetication",
        "Severity":"Error",
        "Message":"Unable to login using ApiKey 'x'. API Key is expired"
      }
    }
  }
}
  • Authorization: Basic <base64encode(username:password)>

Username and password are provided by Quandis and can also be used to log into the web portal. HTTP Status 401 unauthorized will be returned if validation fails.

 

API Rate Limits

Rate limits limit the amount of requests placed over a time period. Common examples of rate limits would be:

  • Account cannot place more than 30 requests per second
  • Account cannot place more than 15000 requests per hour

Rate limits are determined on a per account basis and established during sign-up.

When an application exceeds the rate limit, the MLA API will return an HTTP 429 response code. The body of the HTTP 429 message will contain:

{
  "MLAResponse": {
    "Status":"Error",
    "Exceptions": {
      "Exception": {
        "Type":"Rate Limit",
        "Severity":"Error",
        "Message":"Rate Limit Exceeded"
      }
    }
  }
}