Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.karmacheck.com/llms.txt

Use this file to discover all available pages before exploring further.

When you’re creating a case using the customer-provided PII flow, or adding to an existing order, you’ll need to provide the necessary candidate data. This data is sent in an orderData array of objects with the following properties:
PropertyTypeRequiredDescription
caseOrderDataTypeIdstringRequiredThe type of candidate data to include in the order. See the Case order data types table for the possible types.
serviceIdstringThe service for which the data is being provided. Required for certain case order data types.
metadataobjectRequiredThe candidate data. The exact properties are specific to each case order data type.
The types of order data to include depend on the services that are being ordered. At a minimum, the candidate’s government ID, date of birth, and current address need to be included as order data for a case:
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-govt-id",
      "metadata": {
        "govtId": "111-22-3333"
      }
    },
    {
      "caseOrderDataTypeId": "codt-dob",
      "metadata": {
        "dob": "1983-05-17"
      }
    },
    {
      "caseOrderDataTypeId": "codt-current-candidate-address",
      "metadata": {
        "address1": "100 Main St",
        "address2": "Unit 2",
        "city": "New York",
        "state": "NY",
        "postalCode": "10016",
        "country": "US"
      }
    }
  ]
}
The following sections describe each supported type of order data.

Case order data types

Case order data typeIDRequired?
Government IDcodt-govt-idYes. See Government ID for more details.
Date of birthcodt-dobYes. See Date of birth for more details.
Current candidate addresscodt-current-candidate-addressYes. See Current candidate address for more details.
Health screening scheduling addresscodt-ohs-scheduling-addressConditionally. See Health screening scheduling address for services that require this type of order data.
Education recordscodt-educationConditionally. See Education for services that require this type of order data.
Employment recordscodt-employmentConditionally. See Employment for services that require this type of order data.
Motor vehicle record (MVR)codt-mvrConditionally. See Motor vehicle record for services that require this type of order data.
Alternative names for a candidatecodt-aliasNo. See Aliases for services that support this type of order data.
Jurisdiction addresscodt-addressNo. See Jurisdictions for services that support this type of order data.
County jurisdictioncodt-jurisdiction-countyNo. See Jurisdictions for services that support this type of order data.
Federal district jurisdictioncodt-jurisdiction-fed-districtNo. See Jurisdictions for services that support this type of order data.
State jurisdictioncodt-jurisdiction-stateNo. See Jurisdictions for services that support this type of order data.
Professional license and certificationcodt-cplcConditionally. See Professional license and certification for services that require this type of order data.
Shipmentscodt-shipmentConditionally. See Shipments for services that require this type of order data.

Case order data structures

Below are details and examples of each type of order data.

Government ID

The candidate’s government ID is always required in order data.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-govt-id",
      "metadata": {
        "govtId": "111-22-333"
      }
    }
  ]
}
metadata properties: govtId (string) — The candidate’s Social Security number in the format xxx-xx-xxxx. For testing purposes, use 111-22-3333.

Date of birth

The candidate’s birthdate is always required in order data.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-dob",
      "metadata": {
        "dob": "1983-05-17"
      }
    }
  ]
}
metadata properties: dob (string) — The candidate’s birthdate in the format yyyy-mm-dd.

Current candidate address

The candidate’s current address is always required in order data.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-current-candidate-address",
      "metadata": {
        "address1": "100 Main St",
        "address2": "Unit 2",
        "city": "New York",
        "state": "NY",
        "postalCode": "10016",
        "country": "US"
      }
    }
  ]
}
metadata properties: address1, address2, city, state (two-letter abbreviation), postalCode, country (two-letter abbreviation).

Health screening scheduling address

If an occupational health or drug screening is being ordered, you must provide an address that can be used for finding nearby clinics to fulfill the screening.
Service categoryID
Occupational health screeningservice-cat-ohs
All OHS and drug screening services share the same serviceCategoryId (service-cat-ohs). If you’re running logic to determine if you need to include the codt-ohs-scheduling-address order data, you should use the serviceCategoryId in your conditional logic.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-ohs-scheduling-address",
      "metadata": {
        "address1": "100 Main St",
        "address2": "Unit 2",
        "city": "New York",
        "state": "NY",
        "postalCode": "10016",
        "country": "US"
      }
    }
  ]
}

Education

If Education Verification is being ordered, you must provide at least one education order data item.
ServiceID
Education Verification85307784-1f84-471a-8596-c8ea088c3a62
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-education",
      "serviceId": "85307784-1f84-471a-8596-c8ea088c3a62",
      "metadata": {
        "institution": "Example University",
        "educationType": "College",
        "educationTypeDescription": "",
        "degree": "Bachelor of Science",
        "major": "Nursing",
        "city": "Manchester",
        "state": "NH",
        "country": "US",
        "monthBegin": "August",
        "yearBegin": "2000",
        "current": false,
        "monthEnd": "May",
        "yearEnd": "2004",
        "nameIfDifferentFlag": false,
        "nameIfDifferent": "",
        "contact": {
          "website": "exampleuniversity.edu",
          "email": "admin@exampleuniversity.edu",
          "phone": "800-555-0123"
        }
      }
    }
  ]
}

Employment

If an employment verification service is being ordered, you must provide at least one employment order data item.
ServiceID
Employment Verification9ac65633-b4c4-4062-875c-3556db9d2a08
Employment Income Verificationservice-employment-income
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-employment",
      "serviceId": "9ac65633-b4c4-4062-875c-3556db9d2a08",
      "metadata": {
        "employer": "Example Organization",
        "position": "Nurse",
        "city": "Manchester",
        "state": "NH",
        "country": "US",
        "monthBegin": "December",
        "yearBegin": "2004",
        "current": false,
        "monthEnd": "December",
        "yearEnd": "2018",
        "contact": {
          "website": "www.example.com",
          "email": "hr@example.com",
          "phone": "800-555-0147"
        },
        "okToContact": true
      }
    }
  ]
}
metadata properties: employer, position, city, state, country, monthBegin, yearBegin, current (boolean), monthEnd, yearEnd, contact.website, contact.email, contact.phone, okToContact (boolean), staffingAgency (optional, max 100 characters).

Motor vehicle record

If a Motor Vehicle Report is being ordered, you must provide at least one MVR order data item.
ServiceID
Motor Vehicle Report9a1aa5db-1292-423e-a17c-4a7ab380de58
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-mvr",
      "serviceId": "9a1aa5db-1292-423e-a17c-4a7ab380de58",
      "metadata": {
        "state": "NH",
        "licenseNumber": "NHL12345678",
        "firstNameIfDifferent": "",
        "middleInitialIfDifferent": "",
        "lastNameIfDifferent": ""
      }
    }
  ]
}

Aliases

Alias order data is never required. This data is optional if you’re ordering one of the services that support aliases:
ServiceID
FACIS2c6bbd00-dce3-4ecd-ae91-b0f3dab268f7
Global Watchlist Searchc3080270-3e83-4eb2-a2a9-e5964645f8c5
National Criminal Searchd8e3dbdb-c2d7-4787-9736-86fffab74da4
Federal Criminal Searchee774b82-a411-4e2b-a38f-c0641bd836e7
State Criminal Court Searchc407f6dd-523e-4627-a4d9-8f52d30ee744
State Criminal Database Searchd9381240-6230-40ec-9e11-35703e8041bc
County Criminal Searchfa226cb7-1214-4cdf-9296-6120a7376926
When providing alias order data, you must do the following:
  1. Include a master list of aliases for the candidate — one codt-alias item for each alias.
  2. Include one codt-alias item for each service that you want verified using the alias. serviceId must be specified for these items.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-alias",
      "metadata": { "givenName": "Bill", "middleName": "", "familyName": "Moore" }
    },
    {
      "caseOrderDataTypeId": "codt-alias",
      "metadata": { "givenName": "Will", "middleName": "", "familyName": "Moore" }
    },
    {
      "caseOrderDataTypeId": "codt-alias",
      "serviceId": "fa226cb7-1214-4cdf-9296-6120a7376926",
      "metadata": { "givenName": "Bill", "middleName": "", "familyName": "Moore" }
    },
    {
      "caseOrderDataTypeId": "codt-alias",
      "serviceId": "fa226cb7-1214-4cdf-9296-6120a7376926",
      "metadata": { "givenName": "Will", "middleName": "", "familyName": "Moore" }
    }
  ]
}

Jurisdictions

Jurisdiction order data is never required. This data is optional if you’re ordering one of the jurisdiction-based services:
ServiceID
County Criminal Searchfa226cb7-1214-4cdf-9296-6120a7376926
Federal Criminal Searchee774b82-a411-4e2b-a38f-c0641bd836e7
State Criminal Database Searchd9381240-6230-40ec-9e11-35703e8041bc
State Criminal Court Searchc407f6dd-523e-4627-a4d9-8f52d30ee744
The results of an SSN Trace will inform which jurisdictions to be searched. As a result, the final list of jurisdictions might be larger than the list that is provided as order data.
When providing jurisdiction order data, you must do the following:
  1. Provide one or more addresses to derive the list of specific jurisdictions:
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-address",
      "metadata": {
        "city": "Manchester",
        "state": "NH",
        "county": "Hillsborough",
        "autoProcessJurisdictions": false
      }
    }
  ]
}
  1. If autoProcessJurisdictions is set to false (or omitted), specify the jurisdictions for each relevant search type:
County jurisdictions:
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-jurisdiction-county",
      "serviceId": "fa226cb7-1214-4cdf-9296-6120a7376926",
      "metadata": { "state": "NH", "county": "HILLSBOROUGH" }
    }
  ]
}
Federal district jurisdictions:
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-jurisdiction-fed-district",
      "serviceId": "ee774b82-a411-4e2b-a38f-c0641bd836e7",
      "metadata": { "district": "New Hampshire District Court" }
    }
  ]
}
State jurisdictions:
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-jurisdiction-state",
      "serviceId": "c407f6dd-523e-4627-a4d9-8f52d30ee744",
      "metadata": { "state": "NH" }
    }
  ]
}
Use the POST /jurisdiction/find/all endpoint to help populate the specific jurisdiction order data. Setting autoProcessJurisdictions to true skips the need to specify individual jurisdiction items.

Professional license and certification

If a Professional License and Certification verification (CPLC) is being ordered, you must provide at least one CPLC order data item.
ServiceID
Professional License and Certificationservice-cplc
To get the required fields for a specific license or certification:
  1. Send a GET request to GET /service/cplc/list to retrieve all supported CPLCs and get the cplcId.
  2. Send a GET request to GET /service/cplc/id/{cplcId} to retrieve the required fields for that cplcId.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-cplc",
      "serviceId": "service-cplc",
      "metadata": {
        "cplcId": "e9a5f173-a9cc-4dc7-91a0-25d5586b3d50",
        "fields": [
          { "fieldId": "licenseNumber", "value": "LN123456" },
          { "fieldId": "firstName", "value": "William" },
          { "fieldId": "lastName", "value": "Moore" },
          { "fieldId": "state", "value": "NH" }
        ]
      }
    }
  ]
}

Shipments

If a shipment service is being ordered, you must provide at least one shipment order data item regardless of PII flow. If you don’t include the order data when creating a case, the service will be excluded from the case order.
ServiceID
Mask Shipmentservice-mask-shipment
To get the masks available for shipment:
  1. Send a GET request to GET /shipment/mask/list to retrieve a list of masks.
  2. In the returned list array, get the sku for a specific mask.
Only masks with inStock as true can be ordered. Attempting to order an out-of-stock mask results in a 422 response.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-shipment",
      "serviceId": "service-mask-shipment",
      "metadata": {
        "recipientName": "William Moore",
        "address1": "100 Main St",
        "address2": "Unit 2",
        "addressType": "home",
        "addressSource": "homeAddress",
        "city": "New York",
        "state": "NY",
        "postalCode": "10016",
        "shippingMethod": "2-3 Business Days",
        "maskType": "3M 8210"
      }
    }
  ]
}

Document Processing

If document processing is being ordered, you must provide one codt-idp order data item per document to be processed. If you don’t provide order data for a document, it will not be included in the processing order.
ServiceID
Document Processingservice-intelligent-document-process
metadata properties:
PropertyDescription
documentTypeIdDocument type identifier. Always use unclassified for Document Processing.
fileNameThe file name as provided when uploading the document.
secureDocumentIdThe secure document ID returned after creating the secure document record.
{
  "orderData": [
    {
      "caseOrderDataTypeId": "codt-idp",
      "serviceId": "service-intelligent-document-process",
      "metadata": {
        "documentTypeId": "unclassified",
        "fileName": "testfile1.pdf",
        "secureDocumentId": "e9a5f173-a9cc-4dc7-91a0-25d5586b3d50"
      }
    }
  ]
}
See the Document processing flow guide for a full walkthrough of uploading documents and creating a document processing order.