KarmaCheck · Schema

CaseOrderData

The data related to a service. Each service has different `metadata` properties based on the specified `caseOrderDataTypeId`. See [Provide order data](docs/guides/order-data.md) for additional details.

Background ChecksEmployment ScreeningIdentity VerificationCredential VerificationMotor Vehicle RecordsOccupational Health ScreeningDrug ScreeningHuman ResourcesStaffingHealthcareComplianceFCRAAdjudicationWebhookMCP ServerAgent-Native

Properties

Name Type Description
caseOrderDataTypeId string The type of data to include in the order.
serviceId string The ID of a [service](docs/reference/service.md) that requires a type of case order data. This field is required for the following case order data types: `codt-education` `codt-employment` `codt-mvr`
metadata object
View JSON Schema on GitHub

JSON Schema

karmacheck-case-order-data-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/karmacheck/json-schema/karmacheck-case-order-data-schema.json",
  "title": "CaseOrderData",
  "description": "The data related to a service. Each service has different `metadata` properties based on the specified `caseOrderDataTypeId`. See [Provide order data](docs/guides/order-data.md) for additional details.",
  "x-generated": "2026-11-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/karmacheck-cases-api-openapi.yml#/components/schemas/CaseOrderData",
  "type": "object",
  "required": [
    "caseOrderDataTypeId",
    "metadata"
  ],
  "properties": {
    "caseOrderDataTypeId": {
      "type": "string",
      "enum": [
        "codt-govt-id",
        "codt-dob",
        "codt-current-candidate-address",
        "codt-ohs-scheduling-address",
        "codt-education",
        "codt-employment",
        "codt-mvr",
        "codt-alias",
        "codt-address",
        "codt-jurisdiction-county",
        "codt-jurisdiction-fed-district",
        "codt-jurisdiction-state",
        "codt-cplc",
        "codt-shipment",
        "codt-ohs-service-substitutions",
        "codt-idp",
        "codt-drug-reason-for-test",
        "codt-drug-testing-authority"
      ],
      "description": "The type of data to include in the order."
    },
    "serviceId": {
      "type": "string",
      "description": "The ID of a [service](docs/reference/service.md) that requires a type of case order data. This field is required for the following case order data types: `codt-education` `codt-employment` `codt-mvr` `codt-alias` `codt-jurisdiction-county` `codt-jurisdiction-fed-district` `codt-jurisdiction-state` `service-cplc` `service-mask-shipment`"
    },
    "metadata": {
      "oneOf": [
        {
          "$ref": "#/$defs/CaseOrderDataGovtID",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataDOB",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataCandidateAddress",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataOHSAddress",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataEducation",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataEmployment",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataMVR",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataAlias",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataJurisdiction",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataJurisdictionCounty",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataJurisdictionFederal",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataJurisdictionState",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataCPLC",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataShipment",
          "type": "object"
        },
        {
          "$ref": "#/$defs/CaseOrderDataOHSServiceSubstitutions"
        },
        {
          "$ref": "#/$defs/CaseOrderDataDocumentProcessing"
        },
        {
          "$ref": "#/$defs/CaseOrderDataDrugReasonForTest"
        },
        {
          "$ref": "#/$defs/CaseOrderDataDrugTestingAuthority"
        }
      ]
    }
  },
  "$defs": {
    "CaseOrderDataAlias": {
      "title": "CaseOrderDataAlias",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-alias`.",
      "required": [
        "givenName",
        "familyName"
      ],
      "properties": {
        "givenName": {
          "type": "string",
          "description": "Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed."
        },
        "middleName": {
          "type": "string",
          "description": "Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed."
        },
        "familyName": {
          "type": "string",
          "description": "Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed."
        }
      }
    },
    "CaseOrderDataCPLC": {
      "title": "CaseOrderDataCPLC",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-cplc`.",
      "required": [
        "cplcId",
        "fields"
      ],
      "properties": {
        "cplcId": {
          "type": "string",
          "description": "The unique ID of the professional license or certification. See [Professional license and certification](docs/reference/cplc.md) for a list of possible values."
        },
        "fields": {
          "type": "array",
          "description": "Details about the candidate's professional license or certification. Call [GET `/service/cplc/id/{cplcId}`](karma-api-openapi.yaml/paths/~1service~1cplc~1id~1{cplcId}/get) for a list of required fields for the specific professional license or certification.",
          "items": {
            "type": "object",
            "required": [
              "fieldId",
              "value"
            ],
            "properties": {
              "fieldId": {
                "type": "string",
                "enum": [
                  "licenseNumber",
                  "firstName",
                  "lastName",
                  "middleInitial",
                  "certifyingBody",
                  "state",
                  "additionalInfo",
                  "certifyingBodyMemberId",
                  "certifyingBodyVerificationPin",
                  "expirationDate",
                  "issueDate",
                  "licenseTitle"
                ],
                "description": "The identifier for a specific detail of the professional license or certification."
              },
              "value": {
                "type": "string",
                "description": "The candidate's information corresponding to a specific field."
              }
            }
          }
        },
        "secureDocumentIds": {
          "type": "array",
          "description": "The IDs of uploaded secure documents that will be associated to the CPLC record. This optional field can be applied when providing data on behalf of the candidate.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "CaseOrderDataCandidateAddress": {
      "title": "CaseOrderDataCandidateAddress",
      "type": "object",
      "description": "The order data (candidate's current home address) when `caseOrderDataTypeId` is `codt-current-candidate-address`.",
      "required": [
        "address1",
        "city",
        "state",
        "postalCode",
        "country"
      ],
      "properties": {
        "address1": {
          "type": "string",
          "description": "The candidate's street address."
        },
        "address2": {
          "type": "string",
          "description": "The candidate's street address, continued."
        },
        "city": {
          "type": "string",
          "description": "The candidate's city of residence."
        },
        "state": {
          "type": "string",
          "description": "The two-letter abbreviation of the state in which the candidate resides."
        },
        "postalCode": {
          "type": "string",
          "description": "The candidate's zip code."
        },
        "country": {
          "type": "string",
          "description": "The two-letter abbreviation of the country in which the candidate resides."
        }
      }
    },
    "CaseOrderDataDOB": {
      "title": "CaseOrderDataDOB",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-dob`.",
      "required": [
        "dob"
      ],
      "properties": {
        "dob": {
          "type": "string",
          "format": "date",
          "description": "The candidate's date of birth in the format *YYYY*-*MM*-*DD*."
        }
      }
    },
    "CaseOrderDataDocumentProcessing": {
      "title": "CaseOrderDataDocumentProcessing",
      "type": "object",
      "required": [
        "documentTypeId",
        "fileName",
        "secureDocumentId"
      ],
      "properties": {
        "documentTypeId": {
          "type": "string",
          "enum": [
            "unclassified"
          ],
          "description": "The identifier of the document type for the document to be processed. For the document processing flow this should always be `unclassified`."
        },
        "fileName": {
          "type": "string",
          "description": "The name of the file."
        },
        "secureDocumentId": {
          "type": "string",
          "description": "The identifier for the secureDocumentRecord the document is associated with."
        }
      }
    },
    "CaseOrderDataDrugReasonForTest": {
      "title": "CaseOrderDataDrugReasonForTest",
      "type": "object",
      "description": "The reason for the drug test.",
      "properties": {
        "reasonForTest": {
          "type": "string",
          "enum": [
            "pre-employment",
            "followup",
            "post-accident",
            "return-to-duty"
          ],
          "description": "The reason for the drug test. Defaults to `pre-employment` if not provided.",
          "default": "pre-employment"
        }
      }
    },
    "CaseOrderDataDrugTestingAuthority": {
      "title": "CaseOrderDataDrugTestingAuthority",
      "type": "object",
      "description": "The regulatory authority under which a DOT drug test is conducted.",
      "properties": {
        "testingAuthority": {
          "type": "string",
          "enum": [
            "fmcsa",
            "faa",
            "fra",
            "fta",
            "phmsa",
            "uscg"
          ],
          "description": "The regulatory authority under which a DOT drug test is conducted. Defaults to `fmcsa` if not provided.",
          "default": "fmcsa"
        }
      }
    },
    "CaseOrderDataEducation": {
      "title": "CaseOrderDataEducation",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-education`.\n**Note:** Multiple properties are currently optional, but are strongly recommended to be included in requests.",
      "required": [
        "institution",
        "city",
        "state",
        "country",
        "current",
        "monthEnd",
        "yearEnd"
      ],
      "properties": {
        "institution": {
          "type": "string",
          "description": "The name of the institution where the candidate received their education."
        },
        "educationType": {
          "description": "The type of education, such as a college or university, a high school or equivalent (for example, GED), a technical or trade school, or other.",
          "type": "string"
        },
        "educationTypeDescription": {
          "type": "string",
          "description": "A description of the education type. This should be used when `educationType` is other."
        },
        "degree": {
          "type": "string",
          "description": "The educational degree. Recommended when `educationType` is college/university or technical/trade school."
        },
        "major": {
          "type": "string",
          "description": "The candidate's field of study. Recommended when `educationType` is college/university or technical/trade school."
        },
        "city": {
          "type": "string",
          "description": "The city in which the institution is located. Recommended to be included in *all* requests."
        },
        "state": {
          "type": "string",
          "description": "The two-letter state code. Recommended to be included in *all* requests."
        },
        "country": {
          "type": "string",
          "description": "The two-letter country code. Recommended to be included in *all* requests."
        },
        "monthBegin": {
          "type": "string",
          "description": "The month in which the candidate began their education."
        },
        "yearBegin": {
          "type": "string",
          "description": "The year in which the candidate began their education."
        },
        "current": {
          "type": "boolean",
          "description": "If true, the candidate is currently enrolled at the institution. If false, the candidate is not currently enrolled. Recommended to be included in *all* requests. (Required true if `monthEnd` and `yearEnd` are not provided)",
          "default": false
        },
        "monthEnd": {
          "type": "string",
          "description": "The month in which the candidate completed their education. (Required if `current` is false or not provided)"
        },
        "yearEnd": {
          "type": "string",
          "description": "The year in which the candidate completed their education. (Required if `current` is false or not provided)"
        },
        "nameIfDifferentFlag": {
          "type": "boolean",
          "description": "If true, the candidate attended or is attending the institution under a different name. If false, the candidate's name on record with the institution is the same as the candidate's name recorded for the case."
        },
        "nameIfDifferent": {
          "type": "string",
          "description": "The candidate's name that's on record with the institution."
        },
        "contact": {
          "type": "object",
          "description": "The institution's contact information. **Known issue:** The API currently requires this object to be passed (either empty or with any of its optional properties).",
          "properties": {
            "website": {
              "type": "string"
            },
            "email": {
              "type": "string"
            },
            "phone": {
              "type": "string"
            }
          }
        },
        "secureDocumentIds": {
          "type": "array",
          "description": "The IDs of uploaded secure documents that will be associated to the education record. This optional field can be applied when providing data on behalf of the candidate.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "CaseOrderDataEmployment": {
      "title": "CaseOrderDataEmployment",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-employment`.\n**Note:** Multiple properties are currently optional, but are strongly recommended to be included in requests.",
      "required": [
        "employer",
        "position",
        "city",
        "state",
        "country",
        "monthBegin",
        "yearBegin",
        "current",
        "monthEnd",
        "yearEnd"
      ],
      "properties": {
        "employer": {
          "type": "string",
          "description": "The name of the candidate's current or former employer. Must be less than or equal to 100 characters."
        },
        "position": {
          "type": "string",
          "description": "The candidate's position with the employer."
        },
        "city": {
          "type": "string",
          "description": "The city of employment. Recommended to be included in *all* requests."
        },
        "state": {
          "type": "string",
          "description": "The two-letter state code. Recommended to be included in *all* requests."
        },
        "country": {
          "type": "string",
          "description": "The two-letter country code. Recommended to be included in *all* requests."
        },
        "monthBegin": {
          "type": "string",
          "description": "The month in which the candidate began their employment. Recommended to be included in *all* requests."
        },
        "yearBegin": {
          "type": "string",
          "description": "The year in which the candidate began their employment. Recommended to be included in *all* requests."
        },
        "current": {
          "type": "boolean",
          "description": "If true, the candidate is currently employed with the employer. If false, the candidate is no longer employed with the employer. Recommended to be included in *all* requests. (Required true if `monthEnd` and `yearEnd` are not provided)",
          "default": false
        },
        "monthEnd": {
          "type": "string",
          "description": "The month in which the candidate ended their employment. (Required if `current` is false or not provided)"
        },
        "yearEnd": {
          "type": "string",
          "description": "The year in which the candidate ended their employment. (Required if `current` is false or not provided)"
        },
        "contact": {
          "type": "object",
          "description": "The employer's contact information. **Known issue:** The API currently requires this object to be passed (either empty or with any of its optional properties).",
          "properties": {
            "website": {
              "type": "string"
            },
            "email": {
              "type": "string"
            },
            "phone": {
              "type": "string"
            }
          }
        },
        "okToContact": {
          "type": "boolean",
          "description": "If true, the employer can be contacted about the candidate. If false, the employer cannot be contacted. Recommended to be included in *all* requests.",
          "default": true
        },
        "incomeAmount": {
          "type": "string",
          "description": "The amount earned. This is applicable to Employment Income Verification."
        },
        "incomeFrequency": {
          "type": "string",
          "description": "The frequency of the amount earned. This is applicable to Employment Income Verification."
        },
        "staffingAgency": {
          "type": "string",
          "description": "The Staffing Agency that the candidate is working for the employer through. (If applicable)",
          "maxLength": 100
        },
        "secureDocumentIds": {
          "type": "array",
          "description": "The IDs of uploaded secure documents that will be associated to the employment record. This optional field can be applied when providing data on behalf of the candidate.",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "CaseOrderDataGovtID": {
      "title": "CaseOrderDataGovtID",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-govt-id`.",
      "required": [
        "govtId"
      ],
      "properties": {
        "govtId": {
          "type": "string",
          "description": "The candidate's Social Security number in the format *xxx*-*xx*-*xxxx*.",
          "pattern": "^\\d{3}-\\d{2}-\\d{4}$"
        }
      }
    },
    "CaseOrderDataJurisdiction": {
      "title": "CaseOrderDataJurisdiction",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-address`.",
      "required": [
        "city",
        "state",
        "county"
      ],
      "properties": {
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "description": "The two-letter state code."
        },
        "county": {
          "type": "string"
        },
        "autoProcessJurisdictions": {
          "type": "boolean",
          "default": false,
          "description": "If true, jurisdiction order data will be automatically created based on the services ordered. If false, jurisdiction order data will be specified for the jurisdiction-based search type being ordered."
        }
      }
    },
    "CaseOrderDataJurisdictionCounty": {
      "title": "CaseOrderDataJurisdictionCounty",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-jurisdiction-county`.",
      "required": [
        "state",
        "county"
      ],
      "properties": {
        "state": {
          "type": "string",
          "description": "The two-letter state code."
        },
        "county": {
          "type": "string"
        }
      }
    },
    "CaseOrderDataJurisdictionFederal": {
      "title": "CaseOrderDataJurisdictionFederal",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-fed-district`.",
      "required": [
        "district"
      ],
      "properties": {
        "district": {
          "type": "string"
        }
      }
    },
    "CaseOrderDataJurisdictionState": {
      "title": "CaseOrderDataJurisdictionState",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-jurisdiction-state`.",
      "required": [
        "state"
      ],
      "properties": {
        "state": {
          "type": "string",
          "description": "The two-letter state code."
        }
      }
    },
    "CaseOrderDataMVR": {
      "title": "CaseOrderDataMVR",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-mvr`.",
      "required": [
        "state",
        "licenseNumber"
      ],
      "properties": {
        "state": {
          "type": "string",
          "description": "The two-letter state code of the candidate's driver's license."
        },
        "licenseNumber": {
          "type": "string",
          "description": "The candidate's driver's license number."
        },
        "firstNameIfDifferent": {
          "type": "string",
          "description": "If the name on the driver's license is different than the candidate name entered for the case, the first name on the candidate's driver's license."
        },
        "middleInitialIfDifferent": {
          "type": "string",
          "description": "If the name on the driver's license is different than the candidate name entered for the case, the middle initial on the candidate's driver's license."
        },
        "lastNameIfDifferent": {
          "type": "string",
          "description": "If the name on the driver's license is different than the candidate name entered for the case, the last name on the candidate's driver's license."
        }
      }
    },
    "CaseOrderDataOHSAddress": {
      "title": "CaseOrderDataOHSAddress",
      "type": "object",
      "description": "The order data (address for finding nearby clinics) when `caseOrderDataTypeId` is `codt-ohs-scheduling-address`.",
      "required": [
        "address1",
        "city",
        "state",
        "postalCode",
        "country"
      ],
      "properties": {
        "address1": {
          "type": "string"
        },
        "address2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "description": "The two-letter state code."
        },
        "postalCode": {
          "type": "string"
        },
        "country": {
          "type": "string",
          "description": "The two-letter country code."
        }
      }
    },
    "CaseOrderDataOHSServiceSubstitutions": {
      "title": "CaseOrderDataOHSServiceSubstitutions",
      "type": "object",
      "description": "The order data when `caseOrderDataTypeId` is `codt-ohs-service-substitutions`.  The `substitutionMap` is an object where each key is a service ID, and the corresponding value is an array of service IDs that are acceptable alternatives for substitution.\n\nThis mechanism is primarily intended for TB blood tests and drug panel services that are either identical or functionally equivalent. The goal is to expand clinic availability by allowing flexibility in the services that can be used to fulfill an order.",
      "properties": {
        "substitutionMap": {
          "type": "object",
          "description": "The substitutionMap defines service ids that we can consider substituting.  This is an object where each key is a service ID, and the corresponding value is an array of service IDs that are acceptable alternatives for substitution.",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "CaseOrderDataShipment": {
      "title": "CaseOrderDataShipment",
      "type": "object",
      "description": "The candidate data when `caseOrderDataTypeId` is `codt-shipment`.",
      "required": [
        "recipientName",
        "address1",
        "addressType",
        "city",
        "state",
        "postalCode",
        "shippingMethod",
        "maskType"
      ],
      "properties": {
        "recipientName": {
          "type": "string",
          "description": "The recipient name."
        },
        "address1": {
          "type": "string",
          "description": "The recipient's street address."
        },
        "address2": {
          "type": "string",
          "description": "The recipient's street address, continued."
        },
        "addressType": {
          "enum": [
            "home",
            "clinic"
          ],
          "description": "The address type."
        },
        "addressSource": {
          "enum": [
            "homeAddress",
            "newAddress"
          ],
          "description": "The source of the address, which indicates whether the address is the same as the candidate's home address. This is used only when `addressType` is `home`."
        },
        "city": {
          "type": "string",
          "description": "The recipient's city."
        },
        "state": {
          "type": "string",
          "description": "The two-letter state code."
        },
        "postalCode": {
          "type": "string",
          "description": "The recipient's zip code."
        },
        "shippingMethod": {
          "description": "The shipping method.",
          "enum": [
            "2-3 Business Days",
            "Overnight"
          ]
        },
        "maskType": {
          "type": "string",
          "description": "The mask SKU from [GET `/shipment/mask/list`](karma-api-openapi.yaml/paths/~1shipment~1mask~1list/get)."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/karmacheck-case-order-data"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.