Skip to main content
POST
/
case
/
create
curl --request POST \
  --url https://api-stage.karmacheck.io/case/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "packageId": "a12ddee3-4fa5-43fc-9876-123a5d23a08b",
  "email": "matt.williams@example.com",
  "givenName": "Matt",
  "familyName": "Williams"
}
'
{
  "caseId": "a09215ff-f46c-49a6-9767-762da1f3afd2",
  "caseInvitationId": "a2831b9e-897c-4971-85fd-a8328443ed63"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
packageId
string
required

The ID of the package to order for the case. See Get package list [blocked] to retrieve the list of available packages.

email
string
required

The candidate's email address.

givenName
string
required

The candidate's first name. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed.

familyName
string
required

The candidate's last name. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed.

autoProcess
boolean
default:false

If true, the customer is providing all of the information needed to run the check up front; other fields in the payload will be required. If false, the candidate will receive an onboarding invitation to provide the remaining data needed for the check.

caseTypeId
enum<string>
default:cde61186-4f22-45f4-9e19-429061365bce

The API currently supports only one type of case, which is a background check.

Available options:
cde61186-4f22-45f4-9e19-429061365bce
middleName
string

The candidate's middle name. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed.

phone
string

If autoProcess is true and OHS services exist in the package, a phone number in the format +[country_code][phone_number] is required (whether or not any OHS services are being ordered). If autoProcess is false, this field is optional.

Example:

"+18005550145"

apiTrackingUser
string

An external identifier that you can use to help track this case in your own system.

KarmaCheck does not do anything with this field other than include it in webhooks and other API calls, so despite its name, you can put any value.

A common use case is for the value to be the email address of the user in your system who ordered the case.

apiTrackingCode
string

An external identifier that you can use to help track this case in your own system.

KarmaCheck does not do anything with this field other than include it in webhooks and other API calls, so despite its name, you can put any value.

A common use case is for the value to be the identifier of the case in your system.

disableOptions
integer

A parameter to control how KarmaCheck sends email notifications about the case. By default, KarmaCheck sends an email notifying the candidate when a background check is initiated. Email notifications are standard, as further communication with the candidate might be necessary. To prevent certain emails from being sent, use the following values to disable emails to the candidate or customer:

  • 1: Prevents sending invite to the candidate
  • 2: Prevents sending updates to the candidate
  • 4: Prevents sending notifications to the customer
  • 7: Disables all email notifications described above
excludeServices
string[]

If the order should not run one or more services that are defined in the package, then list the IDs of each service. Not all services support exclusion; for example, legal authorizations and SSN Trace are needed for other services being ordered.

orderOverride
enum<string> | null

Indicates how to handle an active case that exists for the same candidate email:

  • Use add to create a new case anyway.
  • Use replace to archive the existing case and create a new case. Without this field, calling the API returns an error if a case already exists.
Available options:
add,
replace,
null
replaceCaseId
string

The ID of the existing case to replace. Required if orderOverride is replace.

If true, acknowledges collection of the candidate's signed disclosures and authorizations. This must be set to true if autoProcess is true.

candidateDisclosuresAndAuthorizationDocumentIds
string[]

A list of IDs for each secure document [blocked] to associate with the case.

orderData
CaseOrderData · object[]

The candidate's PII and other required data based on the services being ordered. Required if autoProcess is true. Each service has different metadata properties based on the specified caseOrderDataTypeId. See Provide order data [blocked] for additional details.

orderConfig
OrderConfig · object

Options that describe how to run certain screenings for a case. See Order configuration [blocked] for details on all configuration options.

All properties are optional, but a configuration will be set for all applicable screenings on the package regardless of whether those screenings are ordered. Therefore, aside from the contacts object, the default configuration will be used if one is not set.

Response

OK

caseId
string
caseInvitationId
string