openapi: 3.1.0 info: title: KarmaCheck API description: 'All requests to the KarmaCheck API require a JSON Web Token (JWT) in the Authorization header. For an overview of the API and its authentication method, refer to the following topics: - [API basics](docs/overview/apis/api-overview.md) - [Authentication](docs/overview/apis/authentication.md) - [Environments](docs/overview/apis/environments.md) - [Status codes and errors](docs/overview/apis/errors.md)' version: '1.0' contact: name: KarmaCheck email: customersuccess@karmacheck.com x-apievangelist-provenance: assembled: '2026-08-23' method: searched note: Reassembled verbatim from the 69 per-operation OpenAPI 3.1.0 YAML documents KarmaCheck publishes inside the markdown twins of its public API reference (https://developer.karmacheck.com/api-reference/.md). Each page embeds a complete, single-operation slice of KarmaCheck's own openapi.json; the 69 slices merged with ZERO conflicting definitions. No content was authored, inferred, or padded by API Evangelist. KarmaCheck's consolidated export at https://developer.karmacheck.com/background-check-api/api-reference/openapi.json is login-gated (HTTP 302 to /login), so this reassembly is the only machine-readable form of the contract reachable without credentials. source_index: https://developer.karmacheck.com/sitemap.xml slices_merged: 69 conflicts: 0 servers: - description: Stage url: https://api-stage.karmacheck.io - description: Prod url: https://api.karmacheck.io security: - JWT: [] tags: - name: Authentication - name: Cases - name: Candidate onboarding - name: Secure documents - name: Packages - name: Services - name: Users - name: Companies - name: Partner integrations paths: /auth/api: post: tags: - Authentication summary: Authenticate API client description: Authenticates an API client with KarmaCheck so that they can access the KarmaCheck system. operationId: post-auth-api requestBody: content: application/json: schema: type: object x-examples: Example 1: apiKey: 03c703eb-56cc-46f6-bb63-afb3e302d1bf clientAccessToken: ffb3c8ee-412d-43e5-975a-355e3cc54cf9 required: - apiKey - clientAccessToken properties: apiKey: type: string description: A unique key that identifies the partner in the KarmaCheck system. If you are building an API integration with KarmaCheck, contact your Account Manager for an `apiKey`. Whether you are creating an integration for your own company's use, for ordering checks on behalf of mutual customers of yourself and KarmaCheck, or for both, you will receive one `apiKey`. clientAccessToken: type: string description: 'A secret that grants an API partner access to a specific group of a company. The combination of an `apiKey` and a `clientAccessToken` generates a `token` for that group. If you''re building an integration to order checks for: - **Your own company:** Contact your Account Manager to get a `clientAccessToken` for each group you wish to order checks for over the API. - **A mutual customer:** Contact that mutual customer for them to give you `clientAccessToken`s associated with your `apiKey`.' examples: Example: value: apiKey: 03c703eb-56cc-46f6-bb63-afb3e302d1bf clientAccessToken: ffb3c8ee-412d-43e5-975a-355e3cc54cf9 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Authentication' examples: {} '403': description: Forbidden security: [] /case/id/{caseId}/cancel: parameters: - schema: type: string name: caseId in: path required: true description: the case you'd like to cancel post: tags: [] summary: Cancel a case operationId: post-case-id-caseId-cancel responses: '200': description: OK '401': description: Unauthorized '404': description: Returned if case is not found content: {} '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: type: object properties: message: type: string error: type: string statusCode: type: integer x-examples: Example 1: message: Service cannot be canceled. error: Unprocessable Entity statusCode: 422 examples: Example 1: value: message: Cannot cancel a case that has already started. error: Unprocessable Entity statusCode: 422 Example 2: value: message: Unable to cancel case. error: Unprocessable Entity statusCode: 422 '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string error: type: string statusCode: type: integer x-examples: Example 1: message: Service cannot be canceled. error: Unprocessable Entity statusCode: 422 examples: Example 1: value: message: An error has occurred while canceling the case error: Internal Server Error statusCode: 500 /case/id/{caseId}/services/cancel: parameters: - schema: type: string name: caseId in: path required: true description: The case containing the service you would like to cancel post: tags: [] summary: Cancel Case Service operationId: post-case-id-caseId-service-cancel requestBody: content: application/json: schema: type: object x-examples: Example 1: serviceIds: - '{{Service}}' required: - serviceIds properties: serviceIds: type: array items: type: string examples: Example 1: value: serviceIds: - AAAAAA-AAAAAAA-AAAAAAA-AAAAAAA responses: '200': description: OK '401': description: Unauthorized '404': description: Returned if case is not found content: application/json: schema: type: object properties: {} '422': description: Unprocessable Entity (WebDAV) content: application/json: schema: type: object properties: message: type: string error: type: string statusCode: type: integer x-examples: Example 1: message: Service cannot be canceled. error: Unprocessable Entity statusCode: 422 examples: Service cannot be canceled: value: message: Service cannot be canceled. error: Unprocessable Entity statusCode: 422 SSN Trace required: value: message: SSN Trace is required when County, State, or Federal Criminal Search are ordered. error: Unprocessable Entity statusCode: 422 '500': description: Internal Server Error content: application/json: schema: type: object properties: message: type: string error: type: string statusCode: type: integer x-examples: Example 1: message: An error has occurred while canceling the case error: Internal Server Error statusCode: 500 examples: Example 1: value: message: An error has occurred while canceling the case error: Internal Server Error statusCode: 500 /case/id/{caseId}/canadadisclosure/{language}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of a case. - $ref: '#/components/parameters/language' post: tags: - Candidate onboarding summary: Acknowledge Canada Disclosure description: Submits acknowledgement of a Canada Disclosure document for tracking and auditing purposes. This action creates a case data record with the provided information. The system records the acknowledgment and generates a downloadable PDF file of the acknowledged disclosure. operationId: post-case-id-caseId-canadadisclosure-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) requestBody: content: application/json: schema: $ref: '#/components/schemas/LegalAcknowledgmentDisclosure' responses: '200': description: OK '403': description: Forbidden '404': description: The case was not found. '422': description: The case doesn't have the specified disclosure service, or the candidate already acknowledged it. '500': description: Internal Server Error get: tags: - Candidate onboarding summary: Get Canada Disclosure description: Retrieves a Canada Disclosure document to present to the candidate so that the candidate can acknowledge and continue the onboarding process. If the candidate has already acknowledged the disclosure, the response will indicate this and provide a valid `caseDataId` so that the details of the previous acknowledgement can be retrieved. This can also be used to determine whether the candidate can skip this specific disclosure step if they leave and then continue their onboarding later or on another device, for example. operationId: get-case-id-caseId-canadadisclosure-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) responses: '200': description: OK content: application/json: schema: type: object required: - alreadyAck - title - body - authorizationStatement - authorizationObject properties: alreadyAck: type: boolean description: True if the candidate already acknowledged the disclosure; false otherwise. title: type: string description: Escaped HTML. header: type: string description: Escaped HTML. body: type: string description: Escaped HTML. authorizationStatement: type: string description: Escaped HTML. authorizationObject: type: object required: - sections properties: header: type: string selectionType: type: string enum: - single - multi sections: type: array items: type: object required: - selectionValue properties: title: type: string selectionValue: type: string description: The postback value when calling the corresponding acknowledge endpoint. example: signature body: type: string caseDataId: type: string description: Returned only if `alreadyAck` is true. format: uuid signature: type: string description: Returned only if `alreadyAck` is true. For candidates who onboarded using KarmaCheck's onboarding experience, this is the value that the candidate entered into the signature input field on the legal step, which might not be exactly the same as the name that the case was ordered under. examples: Example 1: value: alreadyAck: false title:
Canada Disclosure Acknowledgment and Authorization for Background Check
header:
Disclosure regarding background investigation and investigative consumer reports, a summary of your rights under the Fair Credit Reporting Act
body:

I acknowledge receipt of the separate documents entitled DISCLOSURE REGARDING BACKGROUND INVESTIGATION, A SUMMARY OF YOUR RIGHTS UNDER THE FAIR CREDIT REPORTING ACT and the DISCLOSURE FOR INVESTIGATIVE CONSUMER REPORT and certify that I have read and understand those documents.

In connection with your employment application with Example Company (the “Company”), this notice is intended to inform you that a consumer report(s) (also known as “a background check”) may be obtained on you from a consumer reporting agency for employment purposes. The reports may contain information about you relating to your criminal information or history, driving and/or motor vehicle records, education and/or employment history, social media, or other background checks, inclusive of but not necessarily limited to records and information from any law enforcement agency, administrator, state or federal agency, institution, school or university (public or private), information service bureau, employer, or insurance company. I agree that a facsimile ("fax"), electronic or photographic copy of this Authorization shall be as valid as the original.

The report(s) is being prepared by our background screening vendor, KarmaCheck, Inc. and its associated partners or vendors.

The scope of this notice and below authorization is not limited to the present and, if you are hired, will continue throughout the course of your employment and allow the Company to conduct future screenings for retention, promotion or reassignment, as permitted by law and unless revoked by you in writing.

authorizationStatement: '

AUTHORIZATION

By signing below, you authorize the obtaining of a consumer report by the Company at any time after receipt of this authorization and throughout the course of your employment, as described above.

Signature

' authorizationObject: sections: - title: AUTHORIZATION selectionValue: signature body: By signing below, you authorize the obtaining of a consumer report by the Company at any time after receipt of this authorization and throughout the course of your employment, as described above. '403': description: Forbidden '404': description: The case was not found. '422': description: The case does not have the specified disclosure as a requirement. '500': description: Internal Server Error /case/id/{caseId}/customdisclosure/{language}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of a case. - $ref: '#/components/parameters/language' post: tags: - Candidate onboarding summary: Acknowledge Custom Disclosure description: Submits acknowledgement of a Custom Disclosure document for tracking and auditing purposes. This action creates a case data record with the provided information. The system records the acknowledgment and generates a downloadable PDF file of the acknowledged disclosure. operationId: post-case-id-caseId-customdisclosure-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) requestBody: content: application/json: schema: $ref: '#/components/schemas/LegalAcknowledgmentDisclosure' responses: '200': description: OK '403': description: Forbidden '404': description: The case was not found. '422': description: The case doesn't have the specified disclosure service, or the candidate already acknowledged it. '500': description: Internal Server Error get: tags: - Candidate onboarding summary: Get Custom Disclosure description: Retrieves a Custom Disclosure document to present to the candidate so that the candidate can acknowledge and continue the onboarding process. If the candidate has already acknowledged the disclosure, the response will indicate this and provide a valid `caseDataId` so that the details of the previous acknowledgement can be retrieved. This can also be used to determine whether the candidate can skip this specific disclosure step if they leave and then continue their onboarding later or on another device, for example. operationId: get-case-id-caseId-customdisclosure-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) responses: '200': description: OK content: application/json: schema: type: object required: - alreadyAck - title - body - authorizationStatement - authorizationObject properties: alreadyAck: type: boolean description: True if the candidate already acknowledged the disclosure; false otherwise. title: type: string description: Escaped HTML. header: type: string description: Escaped HTML. body: type: string description: Escaped HTML. authorizationStatement: type: string description: Escaped HTML. authorizationObject: type: object required: - sections properties: header: type: string selectionType: type: string enum: - single - multi sections: type: array items: type: object required: - selectionValue properties: title: type: string selectionValue: type: string description: The postback value when calling the corresponding acknowledge endpoint. example: signature body: type: string caseDataId: type: string description: Returned only if `alreadyAck` is true. format: uuid signature: type: string description: Returned only if `alreadyAck` is true. For candidates who onboarded using KarmaCheck's onboarding experience, this is the value that the candidate entered into the signature input field on the legal step, which might not be exactly the same as the name that the case was ordered under. examples: Example 1: value: alreadyAck: false title:
Custom Disclosure Acknowledgment and Authorization for Background Check (custom)
header:
Disclosure regarding background investigation and investigative consumer reports, a summary of your rights under the Fair Credit Reporting Act
body:

custom disclosure - I acknowledge receipt of the separate documents entitled DISCLOSURE REGARDING BACKGROUND INVESTIGATION, A SUMMARY OF YOUR RIGHTS UNDER THE FAIR CREDIT REPORTING ACT and the DISCLOSURE FOR INVESTIGATIVE CONSUMER REPORT and certify that I have read and understand those documents.

In connection with your employment application with Example Company (the “Company”), this notice is intended to inform you that a consumer report(s) (also known as “a background check”) may be obtained on you from a consumer reporting agency for employment purposes. The reports may contain information about you relating to your criminal information or history, driving and/or motor vehicle records, education and/or employment history, social media, or other background checks, inclusive of but not necessarily limited to records and information from any law enforcement agency, administrator, state or federal agency, institution, school or university (public or private), information service bureau, employer, or insurance company. I agree that a facsimile ("fax"), electronic or photographic copy of this Authorization shall be as valid as the original.

The report(s) is being prepared by our background screening vendor, KarmaCheck, Inc. and its associated partners or vendors.

The scope of this notice and below authorization is not limited to the present and, if you are hired, will continue throughout the course of your employment and allow the Company to conduct future screenings for retention, promotion or reassignment, as permitted by law and unless revoked by you in writing.

authorizationStatement: '

AUTHORIZATION

By signing below, you authorize the obtaining of a consumer report by the Company at any time after receipt of this authorization and throughout the course of your employment, as described above.

Signature

' authorizationObject: sections: - title: AUTHORIZATION selectionValue: signature body: By signing below, you authorize the obtaining of a consumer report by the Company at any time after receipt of this authorization and throughout the course of your employment, as described above. '403': description: Forbidden '404': description: The case was not found. '422': description: The case does not have the specified disclosure as a requirement. '500': description: Internal Server Error /case/id/{caseId}/esig/{language}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case. - $ref: '#/components/parameters/language' post: tags: - Candidate onboarding summary: Acknowledge E-Signature description: Submits acknowledgement of the e-Signature for tracking and auditing purposes. This action creates a case data record with the provided information. The system records the acknowledgment and generates a PDF file of the e-Signature document, which includes the candidate's acknowledgment and is available for download. operationId: post-case-id-caseId-esig-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) requestBody: content: application/json: schema: $ref: '#/components/schemas/LegalAcknowledgmentSignature' examples: Example 1: value: signatureType: electronic signature: John Hancock responses: '200': description: OK '403': description: Forbidden '404': description: The case was not found. '422': description: The case doesn't include the e-Signature service, or the candidate already acknowledged it. '500': description: Internal Server Error get: tags: - Candidate onboarding summary: Get E-Signature description: 'Retrieves an e-Signature consent document and form that can be presented to and acknowledged by the candidate as part of the onboarding process. If the candidate has already acknowledged it, the response will indicate this as well as provide the `caseDataId` of the acknowledgement, which can be used to retrieve details. These can be used to determine whether the candidate can skip this step if they leave and then continue their onboarding later or on another device, for example. The e-Signature document can be customized. If a customer-specific version doesn''t exist, a default one will be returned.' operationId: get-case-id-caseId-esig-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) responses: '200': description: OK content: application/json: schema: type: object required: - alreadyAck - title - body - authorizationStatement - authorizationObject properties: alreadyAck: type: boolean description: True if the candidate already acknowledged the e-Signature document; false otherwise. title: type: string description: Escaped HTML. header: type: string description: Escaped HTML. body: type: string description: Escaped HTML. authorizationStatement: type: string description: Escaped HTML. authorizationObject: type: object required: - sections properties: header: type: string selectionType: enum: - single - multi sections: type: array items: type: object required: - selectionValue properties: title: type: string selectionValue: type: string description: The value used when [acknowledging the e-Signature](karma-api-openapi.yaml/paths/~1case~1id~1{caseId}~1esig~1{language}/post). enum: - electronic - manual body: type: string caseDataId: type: string description: Returned only if `alreadyAck` is true. format: uuid signatureType: description: Returned only if `alreadyAck` is true. enum: - electronic - manual signature: type: string description: Returned only if `alreadyAck` is true. For candidates who onboarded using KarmaCheck's onboarding experience, this is the value that the candidate entered into the signature input field on the legal step, which might not be exactly the same as the name that the case was ordered under. examples: Example 1: value: alreadyAck: false title:
Electronic Signature Consent
body:

e-signature - As part of the selection process at KarmaCheck, the "Company," you will need to consent to a background check electronically. By typing your name and clicking in the box below, you are consenting to receive any communications (legally required or otherwise) and all changes to such communications electronically. In order to use the website, you must provide at your own expense an Internet connected device that is compatible with the minimum requirements outlined below. You also confirm that your device will meet these specifications and requirements and will permit you to access and retain the communications electronically each time you access and use the website.

System Requirements to Access Information

To receive and view an electronic copy of the Communications you must have the following equipment and software:

System Requirements to Retain Information

To retain a copy, you must either have a printer connected to your personal computer or other device or, alternatively, the ability to save a copy through use of printing service or software such as Adobe Acrobat®. If you would like to proceed using paper forms, please choose option 2 below.

Withdrawal of Electronic Acceptance of Disclosures and Notices

You can also contact us to withdraw your consent to receive any future communications electronically, including if the system requirements described above change and you no longer possess the required system. If you withdraw your consent, we will terminate your use of the KarmaCheck, Inc. website and the services provided through the KarmaCheck, Inc. website.

To ensure that a signature is unique and to safeguard you against unauthorized use of your name, your IP address 130.176.213.149 has been recorded and will be stored along with your electronic signature. Please note that if you wish to submit your Disclosure and Authorization Forms electronically, KarmaCheck, Inc. requires that you include your social security number or user identification. All of your information will be encrypted and transmitted via our secure website.

authorizationStatement: '

CHOOSE ONE OF THE FOLLOWING OPTIONS:

' authorizationObject: header: 'CHOOSE ONE OF THE FOLLOWING OPTIONS:' selectionType: single sections: - title: 'Option #1 - Electronic Signature' selectionValue: electronic body: I consent to transacting electronically, including receiving legally required notices electronically. I understand that KarmaCheck, Inc. uses computer technology to ensure that my signed documents are not altered after submission. I agree to allow KarmaCheck, Inc. to validate my signed documents in this way. - title: 'Option #2 - Manual Signature (will delay your start date)' selectionValue: manual body: I do not wish to electronically sign my documents. I will print out and sign paper documents and return them to the Company. I understand this will delay the selection process. '403': description: Forbidden '404': description: The case was not found. '422': description: The case does not have e-Signature as a requirement. '500': description: Internal Server Error /case/id/{caseId}/fcra/{language}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of a case. - $ref: '#/components/parameters/language' post: tags: - Candidate onboarding summary: Acknowledge FCRA description: Submits acknowledgement of the FCRA for tracking and auditing purposes. This action creates a case data record with the provided information. The system records the acknowledgment and generates a downloadable PDF file of the acknowledged FCRA document. operationId: post-case-id-caseId-fcra-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) responses: '200': description: OK '403': description: Forbidden '404': description: The case was not found. '422': description: The case doesn't include the FCRA service, or the candidate already acknowledged it. '500': description: Internal Server Error get: tags: - Candidate onboarding summary: Get FCRA description: 'Retrieves a Fair Credit Reporting Act (FCRA) consent document and form that can be presented to and acknowledged by the candidate as part of the onboarding process. If the candidate has already acknowledged it, the response will indicate this as well as provide the `caseDataId` of the acknowledgement, which can be used to retrieve details. These can be used to determine whether the candidate can skip this step if they leave and then continue their onboarding later or on another device, for example. The FCRA document can be customized. If a customer-specific version doesn''t exist, a default one will be returned.' operationId: get-case-id-caseId-fcra-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) responses: '200': description: OK content: application/json: schema: type: object required: - alreadyAck - title - body - authorizationStatement - authorizationObject properties: alreadyAck: type: boolean description: True if the candidate already acknowledged the FCRA document; false otherwise. title: type: string description: Escaped HTML. header: type: string description: Escaped HTML. body: type: string description: Escaped HTML. authorizationStatement: type: string description: Escaped HTML. authorizationObject: type: object required: - sections properties: header: type: string selectionType: type: string enum: - single - multi sections: type: array items: type: object required: - selectionValue properties: title: type: string selectionValue: type: string description: The postback value when acknowledging the FCRA document. example: 'true' body: type: string caseDataId: type: string description: Returned only if `alreadyAck` is true. format: uuid examples: Example 1: value: alreadyAck: false title:
FCRA Summary of Rights
header: '

Para información en español, visite www.consumerfinance.gov/learnmore o escribe a la Consumer Financial Protection Bureau, 1700 G Street N.W., Washington, DC 20552.

A Summary of Your Rights Under the Fair Credit Reporting Act

The federal Fair Credit Reporting Act (FCRA) promotes the accuracy, fairness, and privacy of information in the files of consumer reporting agencies. There are many types of consumer reporting agencies, including credit bureaus and specialty agencies (such as agencies that sell information about check writing histories, medical records, and rental history records). Here is a summary of your major rights under the FCRA. For more information, including information about additional rights, go to www.consumerfinance.gov/learnmore or write to: Consumer Financial Protection Bureau, 1700 G Street N.W., Washington, DC 20552.

' body: '

States may enforce the FCRA, and many states have their own consumer reporting laws. In some cases, you may have more rights under state law. For more information, contact your state or local consumer protection agency or your state Attorney General. For information about your federal rights, contact:

TYPE OF BUSINESS:CONTACT:
1.a. Banks, savings associations, and credit unions with total assets of over $10 billion and their affiliatesa. Consumer Financial Protection Bureau
1700 G Street, N.W.
Washington, DC 20552
b. Such affiliates that are not banks, savings associations, or credit unions also should list, in addition to the CFPB:b. Federal Trade Commission: Consumer Response Center
600 Pennsylvania Avenue, N.W.
Washington, DC 20580
(877) 382-4357
2. To the extent not included in item 1 above:

a. National banks, federal savings associations, and federal branches and federal agencies of foreign banks
a. Office of the Comptroller of the Currency
Customer Assistance Group
1301 McKinney Street, Suite 3450
Houston, TX 77010-9050
b. State member banks, branches and agencies of foreign banks (other than federal branches, federal agencies, and Insured State Branches of Foreign Banks), commercial lending companies owned or controlled by foreign banks, and organizations operating under section 25 or 25A of the Federal Reserve Actb. Federal Reserve Consumer Help Center
P.O. Box. 1200
Minneapolis, MN 55480
c. Nonmember Insured Banks, Insured State Branches of Foreign Banks, and insured state savings associationsc. FDIC Consumer Response Center
1100 Walnut Street, Box #11
Kansas City, MO 64106
d. Federal Credit Unionsd. National Credit Union Administration
Office of Consumer Financial Protection (OCFP)
Division of Consumer Compliance Policy and Outreach
1775 Duke Street
Alexandria, VA 22314
3. Air carriers\tAsst. General Counsel for Aviation Enforcement & ProceedingsAviation Consumer Protection Division
Department of Transportation
1200 New Jersey Avenue, S.E.
Washington, DC 20590
4. Creditors Subject to the Surface Transportation BoardOffice of Proceedings, Surface Transportation Board
Department of Transportation
395 E Street, S.W.
Washington, DC 20423
5. Creditors Subject to the Packers and Stockyards Act, 1921Nearest Packers and Stockyards Administration area supervisor
6. Small Business Investment CompaniesAssociate Deputy Administrator for Capital Access
United States Small Business Administration
409 Third Street, S.W., Suite 8200
Washington, DC 20416
7. Brokers and DealersSecurities and Exchange Commission
100 F Street, N.E.
Washington, DC 20549
8. Federal Land Banks, Federal Land Bank Associations, Federal Intermediate Credit Banks, and Production Credit AssociationsFarm Credit Administration
1501 Farm Credit Drive
McLean, VA 22102-5090
9. Retailers, Finance Companies, and All Other Creditors Not Listed AboveFederal Trade Commission: Consumer Response Center
600 Pennsylvania Avenue, N.W.
Washington, DC 20580
(877) 382-4357
' authorizationStatement: '
' authorizationObject: sections: - selectionValue: 'true' body: I acknowledge receipt of the Summary of Your Rights Under the Fair Credit Reporting Act (FCRA) and certify that I have read and understand that document. '403': description: Forbidden '404': description: The case was not found. '422': description: The case does not have FCRA as a requirement. '500': description: Internal Server Error /case/id/{caseId}/intldisclosure/{language}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of a case. - $ref: '#/components/parameters/language' post: tags: - Candidate onboarding summary: Acknowledge International Disclosure description: Submits acknowledgement of an International Disclosure document for tracking and auditing purposes. This action creates a case data record with the provided information. The system records the acknowledgment and generates a downloadable PDF file of the acknowledged disclosure. operationId: post-case-id-caseId-intldisclosure-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) requestBody: content: application/json: schema: $ref: '#/components/schemas/LegalAcknowledgmentDisclosure' responses: '200': description: OK '403': description: Forbidden '404': description: The case was not found. '422': description: The case doesn't have the specified disclosure service, or the candidate already acknowledged it. '500': description: Internal Server Error get: tags: - Candidate onboarding summary: Get International Disclosure description: Retrieves an International Disclosure document to present to the candidate so that the candidate can acknowledge and continue the onboarding process. If the candidate has already acknowledged the disclosure, the response will indicate this and provide a valid `caseDataId` so that the details of the previous acknowledgement can be retrieved. This can also be used to determine whether the candidate can skip this specific disclosure step if they leave and then continue their onboarding later or on another device, for example. operationId: get-case-id-caseId-intldisclosure-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) responses: '200': description: OK content: application/json: schema: type: object required: - alreadyAck - title - body - authorizationStatement - authorizationObject properties: alreadyAck: type: boolean description: True if the candidate already acknowledged the disclosure; false otherwise. title: type: string description: Escaped HTML. header: type: string description: Escaped HTML. body: type: string description: Escaped HTML. authorizationStatement: type: string description: Escaped HTML. authorizationObject: type: object required: - sections properties: header: type: string selectionType: type: string enum: - single - multi sections: type: array items: type: object required: - selectionValue properties: title: type: string selectionValue: type: string description: The postback value when calling the corresponding acknowledge endpoint. example: signature body: type: string caseDataId: type: string description: Returned only if `alreadyAck` is true. format: uuid signature: type: string description: Returned only if `alreadyAck` is true. For candidates who onboarded using KarmaCheck's onboarding experience, this is the value that the candidate entered into the signature input field on the legal step, which might not be exactly the same as the name that the case was ordered under. examples: Example 1: value: alreadyAck: false title:
International Disclosure Acknowledgment and Authorization for Background Check
header:
Disclosure regarding background investigation and investigative consumer reports, a summary of your rights under the Fair Credit Reporting Act
body:

I acknowledge receipt of the separate documents entitled DISCLOSURE REGARDING BACKGROUND INVESTIGATION, A SUMMARY OF YOUR RIGHTS UNDER THE FAIR CREDIT REPORTING ACT and the DISCLOSURE FOR INVESTIGATIVE CONSUMER REPORT and certify that I have read and understand those documents.

In connection with your employment application with Example Company (the “Company”), this notice is intended to inform you that a consumer report(s) (also known as “a background check”) may be obtained on you from a consumer reporting agency for employment purposes. The reports may contain information about you relating to your criminal information or history, driving and/or motor vehicle records, education and/or employment history, social media, or other background checks, inclusive of but not necessarily limited to records and information from any law enforcement agency, administrator, state or federal agency, institution, school or university (public or private), information service bureau, employer, or insurance company. I agree that a facsimile ("fax"), electronic or photographic copy of this Authorization shall be as valid as the original.

The report(s) is being prepared by our background screening vendor, KarmaCheck, Inc. and its associated partners or vendors.

The scope of this notice and below authorization is not limited to the present and, if you are hired, will continue throughout the course of your employment and allow the Company to conduct future screenings for retention, promotion or reassignment, as permitted by law and unless revoked by you in writing.

authorizationStatement: '

AUTHORIZATION

By signing below, you authorize the obtaining of a consumer report by the Company at any time after receipt of this authorization and throughout the course of your employment, as described above.

Signature

' authorizationObject: sections: - title: AUTHORIZATION selectionValue: signature body: By signing below, you authorize the obtaining of a consumer report by the Company at any time after receipt of this authorization and throughout the course of your employment, as described above. '403': description: Forbidden '404': description: The case was not found. '422': description: The case does not have the specified disclosure as a requirement. '500': description: Internal Server Error /case/id/{caseId}/{disclosureType}/{language}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of a case. - schema: type: string enum: - disclosures - customdynamicdisclosure name: disclosureType in: path required: true description: The type of disclosure. - $ref: '#/components/parameters/language' put: tags: - Candidate onboarding summary: Acknowledge location-specific disclosures description: Submits acknowledgement of location-specific disclosures for tracking and auditing purposes. This action creates a case data record with the provided information. The system records the acknowledgment and generates a downloadable PDF file of the acknowledged disclosures. operationId: put-case-id-caseId-disclosureType-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) requestBody: description: 'All disclosures that are returned in the [Request location-specific disclosures](paths/~1case~1id~1{caseId}~1{disclosureType}~1{language}/post) API call must be included. If any expected disclosures are *not* acknowledged in this request, the entire request will be rejected and nothing will be saved for this request. > ##### Note > > Inclusion of a `legalType` in the request list indicates that the candidate acknowledged that legal disclosure via an input. The client should *not* include the `legalType` in the post request until that acknowledgement happens.' content: application/json: schema: $ref: '#/components/schemas/LegalAcknowledgmentDisclosures' examples: Example 1: value: sendReport: true list: - legalType: general-ca-disclosure signature: Alex Smith - legalType: state-city-all-disclosure - legalType: custom-ab-ca-disclosure-1 signature: Alex Smith - legalType: custom-ab-ca-disclosure-2 signature: Alex Smith responses: '200': description: OK '403': description: Forbidden '404': description: The case was not found. '422': description: 'This response indicates one of the following: - The candidate already acknowledged all disclosures of this type. - The case doesn''t have this disclosure in its service group. - The request doesn''t have all of the required data for all of the disclosures.' '500': description: Internal Server Error post: tags: - Candidate onboarding summary: Request location-specific disclosures description: Retrieves location-specific disclosure documents and forms that can be presented to and acknowledged by the candidate as part of the onboarding process. operationId: post-case-id-caseId-disclosureType-language parameters: - name: language in: path required: true schema: type: string description: The language code (e.g. en-US) requestBody: content: application/json: schema: type: object required: - opportunityState - addressState properties: opportunityState: type: string description: The state associated with the opportunity, such as the location of a job for which a candidate is undergoing a background check. opportunityCity: type: string description: The city associated with the opportunity, such as the location of a job for which a candidate is undergoing a background check. addressState: type: string description: The candidate's state of residence. addressCity: type: string description: The candidate's city of residence. description: 'Required disclosures vary from locale to locale, so location information in the request is used to return the relevant documents. Once *all* disclosures have been [acknowledged](paths/~1case~1id~1{caseId}~1{disclosureType}~1{language}/put), calling this endpoint again will indicate that with `alreadyAck` and provide the `caseDataId` of the acknowledgment, which can be used to retrieve details. These can be used to determine whether the candidate can skip this step if they leave and then continue their onboarding later or another device, for example. Additionally, the location data in the request will be ignored. However, if this endpoint is called again while some or all disclosures from the previous response remain unacknowledged, the endpoint will use the location information in the current request to return new documents and previously saved data will be discarded. ' responses: '200': description: OK content: application/json: schema: type: object required: - alreadyAck properties: alreadyAck: type: boolean description: True if the candidate already acknowledged the disclosures; false otherwise. caseDataId: type: - string - array description: Returned only if `alreadyAck` is true. format: uuid items: {} list: type: array description: Returned only if `alreadyAck` is false. items: type: object required: - id - legalType - language - title - body - authorizationStatement - authorizationObject - crStamp - modStamp properties: id: type: string description: The unique identifier of the legal document type. legalType: $ref: '#/components/schemas/LegalType' language: type: string description: The [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) code representing the language of the document. title: type: string description: Escaped HTML. header: type: string description: Escaped HTML. body: type: string description: Escaped HTML. authorizationStatement: type: string description: Escaped HTML. authorizationObject: type: object required: - sections properties: header: type: string selectionType: type: string enum: - single - multi sections: type: array items: type: object required: - selectionValue properties: title: type: string selectionValue: type: string description: The value used when calling the corresponding acknowledgment endpoint for the legal document. example: signature body: type: string crStamp: type: string format: date-time modStamp: type: string format: date-time examples: Before acknowledgement: value: alreadyAck: false list: - id: 681ab1fe-f862-4130-a6c1-1ca0e7b975bd legalType: general-ca-disclosure title:
Acknowledgment and Authorization for Background Check (general-ca)
body:

gen-cs-disc - Please be advised that KarmaCheck (the "Company") will procure one or more investigative consumer reports, as that term is defined under California law, about you for employment purposes, including for decisions regarding hiring, promotion, reassignment, or retention as an employee. Such reports may include information on your character, general reputation, personal characteristics, and mode of living.

The investigation will be conducted by KarmaCheck Inc. and its associated partners or vendors. KarmaCheck, Inc., 595 Pacific Ave. 4th floor, San Francisco, CA 94133, (877) 732-2129, www.karmacheck.com

The nature and scope of the report may include criminal history checks and other public records, educational verification, employment verification, social media, and motor vehicle records and the reports will be used for employment screening purposes.


NOTICE – BACKGROUND INVESTIGATION

CALIFORNIA RESIDENTS

This summary of the provisions of California Civil Code section 1786.22 is being provided to you pursuant to state law.

Your employer intends to obtain information about you from an investigative consumer reporting agency, as defined under California law, for employment purposes.

Under California law you are entitled to visually inspect all files maintained about you by an investigative consumer reporting agency (ICRA), such as KarmaCheck, Inc., upon request and presentation of proper identification during normal business hours and on reasonable notice as follows:

"Proper Identification" includes documents such as a valid driver’s license, social security account number, military identification card, and credit cards.  If an ICRA is unable to reasonably identify you on the basis of these documents, they may require additional information concerning your employment and personal or family history in order to verify your identity.

The ICRA will provide trained personnel to explain any information furnished to you and will provide a written explanation of any coded information contained in files maintained on you.  This written explanation will be provided whenever a file is provided to you for visual inspection.

You may be accompanied by one other person of your choosing, who must furnish reasonable identification.  An ICRA may require you to furnish a written statement granting permission to the ICRA to discuss your file in such person’s presence.

header:
Disclosure regarding background investigation and investigative consumer reports as required by California law
authorizationStatement: '

AUTHORIZATION FOR INVESTIGATIVE CONSUMER REPORTS

By signing below, I hereby authorize the Company to procure investigative consumer reports concerning me for employment purposes at all times prior to my employment and, if I am hired/employed, throughout the duration of my employment, as permitted by law and unless revoked by me in writing.

Signature

' language: en crStamp: '2020-01-04T14:39:30.000+00:00' modStamp: '2024-02-26T19:53:16.000+00:00' authorizationObject: sections: - title: AUTHORIZATION FOR INVESTIGATIVE CONSUMER REPORTS selectionValue: signature body: By signing below, I hereby authorize the Company to procure investigative consumer reports concerning me for employment purposes at all times prior to my employment and, if I am hired/employed, throughout the duration of my employment, as permitted by law and unless revoked by me in writing. - id: 42d3de15-ad5e-46d4-8af3-cf24581210db legalType: state-city-all-disclosure title:
Additional State Disclosures and Notices (state city all)
body: '

state-city-all-disc - Minnesota: If you are a resident of Minnesota or applying for employment at a location within the State of Minnesota, you have the right to submit a written request to KarmaCheck, Inc. for a complete and accurate disclosure of the nature and scope of any consumer report the Company ordered about you. KarmaCheck, Inc.  must provide you with this disclosure within five business days after its receipt of your request or the report was requested by the Company, whichever date is later. 

New Jersey: If you are a New Jersey resident or applying for employment at a location within the State of New Jersey, by signing below you acknowledge receipt of the New Jersey Fair Credit Reporting Act provisions.

New York: If you are a New York resident or applying for employment at a location within the State of New York, by signing below you acknowledge receipt of a copy of Article 23-A of the New York Correction Law. You have the right to inspect and receive a copy of any investigative consumer report requested by the Company by contacting KarmaCheck, Inc 877-732-2129.

Vermont: If you are a Vermont resident or applying for employment at a location within the State of Vermont, by signing below you acknowledge receipt of the NOTICE – BACKGROUND INVESTIGATION AND USE OF CREDIT INFORMATION.

Washington State:  If you are a Washington resident or applying for employment at a location within the State of Washington, you have the right to request from KarmaCheck, Inc. a written summary of your rights and remedies under the Washington Fair Credit Reporting Act.

Massachusetts and Oklahoma:  If you are a resident of Massachusetts or Oklahoma or applying for employment in one of these states, please check the box in the Disclosure and Acknowledgement peeiouv to this if you would like to receive a copy of your consumer report, free of charge, if one is obtained by the Company.


NEW JERSEY RESIDENTS

New Jersey Residents or Employees – this summary of the provisions of the New Jersey Fair Credit Reporting Act (“NJFCRA”) is being provided to you pursuant to state law (N.J.S.A. § 56:11-28 et seq.)

Before an employer can obtain a consumer report about you from a consumer reporting agency they must provide you with a clear and conspicuous disclosure in writing that such may be obtained for employment purposes.  You must provide written consent to the procurement, for employment purposes, of a consumer report.

When using a consumer report for employment purposes, before taking adverse action based in whole or in part on the report, an employer must provide you with a copy of the consumer report and a description in writing of your rights under the federal Fair Credit Reporting Act as well as the NJFCRA.

You must be afforded a reasonable opportunity to dispute, with the consumer reporting agency, any information on which the employer relied upon in your consumer report.

You can request from a consumer reporting agency all information in your file, upon proper identification.  This includes sources of information and identification of each person who procured a consumer report for employment purposes during the two-year period preceding your request. These requests must be made during normal business hours and on reasonable notice. It can be done in person or by telephone, if you have made a written request and pay the toll charge. A consumer reporting agency must provide trained personnel to explain to you any information in the consumer report.

You can dispute inaccurate information with the consumer reporting agency. If you dispute the completeness or accuracy of any of the information in your file, the consumer reporting agency must reinvestigate free of charge during a 30-day period. A consumer reporting agency must provide written notice to you of the results of the reinvestigation not later than five business days after completion of the reinvestigation.

If, after a reinvestigation, any information disputed by you is found to be inaccurate or incomplete or cannot be verified, the consumer reporting agency must promptly delete that item of information from your file or modify that item of information, as appropriate, based on the results of the reinvestigation.

         You can seek damages for noncompliance under the NJFCRA.


NEW YORK RESIDENTS

New York Residents or Employees – this summary of the provisions of the New York Correction Law is being provided to you pursuant to state law.

Article 23-A

Licensure and Employment of Persons Previously

Convicted of One or More Criminal Offenses

§ 750. Definitions

For the purposes of this article, the following terms shall have the following meanings:

(1) “Public agency” means the state or any local subdivision thereof, or any state or local department, agency, board or commission.

(2) “Private employer” means any person, company, corporation, labor organization or association which employs ten or more persons.

(3) “Direct relationship” means that the nature of criminal conduct for which the person was convicted has a direct bearing on his fitness or ability to perform one or more of the duties or responsibilities necessarily related to the license, opportunity, or job in question.

(4) “License” means any certificate, license, permit or grant of permission required by the laws of this state, its political subdivisions or instrumentalities as a condition for the lawful practice of any occupation, employment, trade, vocation, business, or profession. Provided, however, that “license” shall not, for the purposes of this article, include any license or permit to own, possess, carry, or fire any explosive, pistol, handgun, rifle, shotgun, or other firearm.

(5) “Employment” means any occupation, vocation or employment, or any form of vocational or educational training. Provided, however, that “employment” shall not, for the purposes of this article, include membership in any law enforcement agency.

§ 751. Applicability

The provisions of this article shall apply to any application by any person for a license or employment at any public or private employer, who has previously been convicted of one or more criminal offenses in this state or in any other jurisdiction, and to any license or employment held by any person whose conviction of one or more criminal offenses in this state or in any other jurisdiction preceded such employment or granting of a license, except where a mandatory forfeiture, disability or bar to employment is imposed by law, and has not been removed by an executive pardon, certificate of relief from disabilities or certificate of good conduct. Nothing in this article shall be construed to affect any right an employer may have with respect to an intentional misrepresentation in connection with an application for employment made by a prospective employee or previously made by a current employee.

§ 752. Unfair discrimination against persons previously convicted of one or more criminal offenses prohibited

No application for any license or employment, and no employment or license held by an individual, to which the provisions of this article are applicable, shall be denied or acted upon adversely by reason of the individual's having been previously convicted of one or more criminal offenses, or by reason of a finding of lack of “good moral character” when such finding is based upon the fact that the individual has previously been convicted of one or more criminal offenses, unless:

(1) there is a direct relationship between one or more of the previous criminal offenses and the specific license or employment sought or held by the individual; or

(2) the issuance or continuation of the license or the granting or continuation of the employment would involve an unreasonable risk to property or to the safety or welfare of specific individuals or the general public.

§ 753. Factors to be considered concerning a previous criminal conviction; presumption

1. In making a determination pursuant to section seven hundred fifty-two of this chapter, the public agency or private employer shall consider the following factors:

(a) The public policy of this state, as expressed in this act, to encourage the licensure and employment of persons previously convicted of one or more criminal offenses.

(b) The specific duties and responsibilities necessarily related to the license or employment sought or held by the person.

(c) The bearing, if any, the criminal offense or offenses for which the person was previously convicted will have on his fitness or ability to perform one or more such duties or responsibilities.

(d) The time which has elapsed since the occurrence of the criminal offense or offenses.

(e) The age of the person at the time of occurrence of the criminal offense or offenses.

(f) The seriousness of the offense or offenses.

(g) Any information produced by the person, or produced on his behalf, in regard to his rehabilitation and good conduct.

(h) The legitimate interest of the public agency or private employer in protecting property, and the safety and welfare of specific individuals or the general public.

2. In making a determination pursuant to section seven hundred fifty-two of this chapter, the public agency or private employer shall also give consideration to a certificate of relief from disabilities or a certificate of good conduct issued to the applicant, which certificate shall create a presumption of rehabilitation in regard to the offense or offenses specified therein.

§ 754. Written statement upon denial of license or employment

At the request of any person previously convicted of one or more criminal offenses who has been denied a license or employment, a public agency or private employer shall provide, within thirty days of a request, a written statement setting forth the reasons for such denial.

§ 755. Enforcement

1. In relation to actions by public agencies, the provisions of this article shall be enforceable by a proceeding brought pursuant to article seventy-eight of the civil practice law and rules.

2. In relation to actions by private employers, the provisions of this article shall be enforceable by the division of human rights pursuant to the powers and procedures set forth in article fifteen of the executive law, and, concurrently, by the New York city commission on human rights.


WASHINGTON D.C. RESIDENTS

The District of Columbia Fair Criminal Record Screening Amendment Act of 2014 only allows businesses to withdraw a conditional job offer or take an adverse action because of an applicant's criminal conviction(s) for a legitimate business reason. Your conditional job offer was revoked based on a review of your past criminal conviction(s). This decision must be considered reasonable in light of six factors.*

If you believe your job offer was improperly revoked based on the employer's review of your criminal conviction, you have the right to:

Complaints must be filed with OHR within one year of the adverse action, and can be filed online at ohr.dc.gov/page/complaints, or at 441 4th Street NW, Suite 570N, Washington,DC, 20010.

Penalties can be imposed against the business if a violation is found, with half the penalty being awarded to you as the applicant and the other half to the District of Columbia government.

For more information about your rights under the Fair Criminal Record Screening Amendment Act or about the complaint process at OHR, visit ohr.dc.gov/page/returning citizens or call 202.727.4559.

* The employer's legitimate business reason must be reasonable in light of the following factors: A reasonable business purpose must be determined using six factors: (1) Specific duties and responsibilities necessarily related to the employment; (2)Fitness or ability to perform one or more job duties or responsibilities given the offense; (3) Time elapsed since the offense;(4) Age of the applicant when the offense occurred; (5) Frequency and seriousness of the offense; and (6) Any information about the applicant that indicates rehabilitation or good conduct since the offense occurred.


WASHINGTON STATE RESIDENTS

Washington State Residents or Employees – this summary of the provisions of the Washington State Fair Credit Reporting Act (WFCRA) is being provided to you pursuant to state law.  The WFCRA is designed to promote accuracy, fairness, consumer confidentiality and the proper use of credit data by each consumer reporting agency (CRA) in accordance with the requirements of the WFCRA.

The WFCRA is modeled after, and generally provides the same rights as, the federal Fair Credit Reporting Act (FCRA) (15 U.S.C. § 1681 et seq.)  A summary of your rights under the FCRA is available at http://files.consumerfinance.gov/f/201504_cfpb_summary_your-rights-under-fcra.pdf.

The complete text of the WFCRA RCW 19.182, can be obtained from the:

Washington Code Revisers Office
P.O.  Box  40551
Olympia,  WA  98504

Online  at  http://apps.leg.wa.gov/rcw/default.aspx?cite=19.182&full=true%20-%2019.182.070

One significant distinction between the FCRA and the WFCRA is that in Washington, an employer may not obtain a consumer report that indicates the consumer's credit worthiness, credit standing, or credit capacity, unless (1) the information is substantially job related and the employer's reason(s) for using the information are disclosed in writing, or (2) the information is required by law.

The following is a summary of your major rights under the WFCRA:

For questions or concerns regarding the WFCRA, please contact:

Office of the Attorney General
Consumer Protection Division
800 5th Avenue, Suite 2000
Seattle, Washington 98104-3188
Phone 1-800-551-4636 or (206) 464-6684
Statewide Toll-Free TDD: 800-833-6388

Any complaints by consumers under state law may be directed to:

The Attorney General's Office via U.S. Mail or Online. 

Information and forms related to filing a consumer complaint can be found at:

http://www.atg.wa.gov/FileAComplaint.aspx

Additional information about consumer issues can be found at:

http://www.atg.wa.gov/consumer-issues



SAN FRANCISCO, CALIFORNIA NOTICE IN ENGLISH:

CITY AND COUNTY OF SAN FRANCISCO EDWIN M. LEE, MAYOR

NOTICE TO JOB APPLICANTS AND EMPLOYEES

San Francisco Fair Chance Ordinance Police Code, Article 49

Starting August 13, 2014, the Fair Chance Ordinance (San Francisco Police Code, Article 49) requires employers to follow strict rules regarding the use of arrest and conviction records in hiring and employment decisions. The ordinance covers job applicants and employees who would be or are performing work in whole, or in substantial part, in San Francisco and applies to employers who have 20 or more employees (regardless of the employees' locations).

Certain matters are off-limits. An employer may never ask about, require disclosure of, or consider: an arrest not leading to a conviction (other than an unresolved arrest that is still undergoing criminal investigation or trial); participation in a diversion or deferral of judgment program; a conviction that has been expunged or made inoperative; any determination in the juvenile justice system; a conviction more than 7 years old; and a criminal offense other than a felony/misdemeanor. Matters that are off-limits cannot be used by the employer for any reason at any stage of the hiring process.

An employer cannot ask about an individual's conviction history or unresolved arrests at the start of the hiring process. This includes through a job application form, informal conversation, or otherwise.

A mandatory interactive process for matters not off-limits. Only after a live interview has been conducted, or a conditional offer of employment made, is the employer allowed to ask about an individual's conviction history (except as to matters that are off-limits) and unresolved arrests. Only those convictions and unresolved arrests that directly relate to the individual's ability to do the job may be considered in making an employment decision.

Before the employer may take an adverse action such as failing/refusing to hire, discharging, or not promoting an individual based on a conviction history or unresolved arrest, the employer must give the individual an opportunity to present evidence that the information is inaccurate, the individual has been rehabilitated, or other mitigating factors. The individual has seven days to respond, at which point the employer must delay any adverse action for a reasonable time and reconsider the adverse action. The employer must notify the individual of any final adverse action.

Evidence of rehabilitation include satisfying parole/probation; receiving education/training; participating in alcohol/drug treatment programs; letters of recommendation; and age at which the individual was convicted. Mitigating factorsinclude coercion, physical or emotional abuse, and untreated substance abuse/mental illness, that contributed to the conviction.

No Retaliation. An employer may not take an adverse action against an applicant or employee for exercising their rights under the ordinance or cooperating with the Office of Labor Standards Enforcement OLSE.

If you need more information, or wish to report an employer that you believe has violated this ordinance, please contact the OLSE at 415-554-5192 or email FCE@sfgov.org.
OFFICE OF LABOR STANDARDS ENFORCEMENT
City Hall, Room 430 1 Dr. Carlton B. Goodlett Place San Francisco CA 94102-4685 Tel. (415) 554-6235 Fax (415) 554-4791.

 

SAN FRANCISCO, CALIFORNIA NOTICE IN SPANISH:

CIUDAD Y CONDADO DE SAN FRANCISCO EDWIN M. LEE, ALCALDE

AVISO PARA LOS SOLICITANTES DE EMPLEO Y EMPLEADOS

Ordenanza de Oportunidades Equitativas de San Francisco Código de Policía, Artículo 49

A partir del 13 de agosto de 2014, la Ordenanza de Oportunidades Equitativas (Código Policiaco de San Francisco, Artículo 49) requiere que los empleadores sigan reglas estrictas referentes al uso de los expedientes de arrestos y condenas al tomar decisiones de contratación y empleo. La ordenanza cubre a los solicitantes de empleos y empleados que estarían o están realizando su trabajo, o una parte sustancial del mismo, en San Francisco y se aplica a los empleadores que tengan 20 o más empleados (sin importar la ubicación de los empleados).

Está prohibido tocar ciertos asuntos. Un empleador nunca puede preguntar, requerir la divulgación de, o considerar: un arresto que no haya resultado en una condena (que no sea un arresto no resuelto que actualmente esté bajo investigación penal o juicio); participación en un programa de justicia alternativa o de fallo diferido; una condena que haya sido cancelada o declarada inoperante; cualquier determinación en el sistema de justicia juvenil; una condena de más de 7 años de antigüedad; y una infracción penal que no sea un delito mayor o delito menor. El empleador no puede utilizar los asuntos que están prohibidos para ningún propósito, en ninguna etapa del proceso de contratación.

Un empleador no puede preguntar sobre el historial de condenas o de arrestos no resueltos de una persona al inicio del proceso de contratación. Esto incluye preguntar mediante un formulario de solicitud de empleo, una conversación informal o de otra forma.

Un proceso interactivo obligatorio para asuntos que no estén prohibidos. Sólo después de que se haya hecho una entrevista en persona, o se haya hecho una oferta condicional de empleo, el empleador tiene permitido hacer preguntas sobre el historial de condenas de una persona (excepto sobre asuntos que estén prohibidos) y arrestos no resueltos. Sólo se pueden tomar en cuenta las condenas y los arrestos no resueltos que directamente se relacionen con la capacidad de la persona para hacer el trabajo al tomar la decisión del empleo.

Antes de que el empleador pueda tomar una acción adversa como no contratar, negarse a contratar, despedir, o no dar un ascenso a una persona con base en su historial de condenas o arrestos no resueltos, debe darle a la persona una oportunidad para presentar evidencia de que la información no es precisa, que la persona está rehabilitada, y otros factores atenuantes. La persona tiene 7 días para responder, en cuyo momento, el empleador debe posponer cualquier acción adversa durante un tiempo razonable y reconsiderar la acción adversa. El empleador debe avisar al individuo sobre cualquier acción adversa final.

La evidencia de rehabilitación incluye una libertad probatoria/bajo palabra satisfactoria; recibir educación/capacitación; participación en programas de tratamiento contra alcohol/drogas; cartas de recomendación; y la edad a la que la persona recibió la condena. Los factores atenuantes incluyen el chantaje, el maltrato físico o emocional, y la enfermedad no tratada mental o de consumo de sustancias que hayan contribuido con la condena.

Sin represalias. Un empleador no puede tomar una acción adversa contra un solicitante o empleado por ejercer sus derechos conforme a la ordenanza o por cooperar con la Oficina de Cumplimiento de los Estándares Laborales (Office of Labor Standards Enforcement, OLSE).

Si usted necesita más información, o si desea reportar a un empleador que usted crea que ha infringido esta ordenanza, por favor comuníquese con la OLSE al 415-554-5192 o por correo electrónico a FCE@sfgov.org.
OFFICE OF LABOR STANDARDS ENFORCEMENT
City Hall, Room 430 1 Dr. Carlton B. Goodlett Place San Francisco CA 94102-4685 Tel. (415) 554-6235 Fax (415) 554-4791.

 

SAN FRANCISCO, CALIFORNIA NOTICE IN TAGALOG:

LUNGSOD AT COUNTY NG SAN FRANCISCO EDWIN M. LEE, MAYOR

PASABI SA MGA APLIKANTE NG TRABAHO AT MGA KAWANI

Ordinansa ng Makatarungang Pagkakataon ng San Francisco (San Francisco Fair Chance Ordinance) Police Code, Article 49

Simula ng Agosto 13, 2014, ang Ordinansa ng Makatarungang Pagkakataon (Fair Chance Ordinance) (San Francisco Police Code, Article 49) ay nag-uutos sa mga may-ari ng negosyo na mahigpit na sundin ang mga alituntunin tungkol sa paggamit ng mga talaan sa pagdakip at paghatol ng pagkakasala sa mga desisyon sa pagtanggap ng kawani at pagtatrabaho. Ang ordinansa ay sumasakop sa mga aplikante ng trabaho at mga kawani na magtatrabaho o nagtatrabaho sa kabuuan, o sa mahalagang bahagi, sa San Francisco at umiiral sa mga may-ari ng negosyo na may 20 o higit pang kawani (sa kabila ng mga lugar na kinaroroonan ng mga kawani).

Ang ilang mga bagay ay pinagbabawal. Ang may-ari ng negosyo ay hindi kailanman maaaring magtanong, mangailangan ng pagbubunyag, o isaalang-alang ang tungkol sa: pagdakip na hindi nagresulta sa paghatol ng pagkakasala (maliban sa hindi pa nalulutas na pagdakip na sumasailalim pa ng kriminal na imbestigasyon o paglilitis); paglahok sa programa ng isang paglihis o pagliban ng paghatol; paghatol ng pagkakasala na binura o hindi ipinatupad; anumang pagpapasiya sa sistema ng katarungang pangkabataan; paghatol ng pagkakasala na mahigit sa 7 taon; at kriminal na pagkakasala maliban sa krimen/maliit na kasalanan. Ang mga bagay na pinagbabawal ay hindi maaaring gamitin ng employer para sa anumang dahilan at anumang bahagi ng proseso ng pagtanggap ng kawani.

Ang may-ari ng negosyo ay hindi maaaring magtanong sa indibiduwal tungkol sa kasaysayan ng paghatol ng pagkakasala o hindi pa nalulutas na mga pagdakip sa simula ng proseso ng pagtanggap ng kawani. Kabilang dito ang paggamit sa pormularyo ng aplikasyon sa trabaho, hindi pormal na pakikipag-usap, o ng iba pang paraan.

Ang inuutos na interaktibong proseso para sa mga bagay na hindi pinagbabawal. Pagkatapos lamang na magsagawa ng personal na panayam, o magbigay ng may-kondisyong alok ng pagtatrabaho, ang employer ay pinapahintulutang magtanong sa indibiduwal tungkol sa kasaysayan ng paghatol ng pagkakasala (maliban sa mga bagay na pinagbabawal) at hindi pa nalulutas na mga pagdakip. Iyon lamang mga paghatol ng pagkakasala at hindi pa nalulutas na mga pagdakip na tuwirang may-kaugnayan sa kakayahan ng indibiduwal na gawin ang trabaho ang maaaring isaalang-alang sa paggawa ng desisyon sa pagtatrabaho.

Bago maaaring gumawa ng kasalungat na aksiyon ang employer gaya ng pagbagsak/pagtangging tanggapin sa trabaho, pagpapaalis, o hindi pagtataas ng tungkulin ng indibiduwal batay sa kasaysayan ng paghatol ng pagkakasala o hindi pa nalulutas na pagdakip, ang employer ay dapat bigyan ng pagkakataon ang indibiduwal na magharap ng ebidensiya na ang impormasyon ay hindi wasto, na ang indibiduwal ay dumaan na sa rehabilitasyon, o iba pang nakakababang mga dahilan. Ang indibiduwal ay may pitong araw upang tumugon, na kung saan ang employer ay dapat ipagpaliban ang anumang kasalungat na aksiyon sa loob ng makatwirang panahon at muling isaalang-alang ang kasalungat na aksiyon. Ang employer ay dapat ipabatid sa indibiduwal ang anumang panghuling kasalungat na aksiyon.

Kabilang sa ebidensiya ng rehabilitasyon ay ang kasiya-siyang parol/pansamantalang pagpapalaya (probation); pagtanggap ng edukasyon/pagsasanay; paglahok sa mga programa ng paggamot ng alkohol/druga; mga sulat ng rekomendasyon; at edad nang nahatulan ang indibiduwal. Kabilang sa nakakababang mga dahilan ay pananakot, pisikal o emosyonal na pag-abuso, at hindi pa nagagamot na pag-abuso sa substansiya/sakit pangkaisipan, na naging dahilan sa paghatol ng pagkakasala.

Walang Pagganti. Ang may-ari ng negosyo ay hindi maaaring gumawa ng kasalungat na aksiyon laban sa aplikante o kawani dahil sa pagganap ng kanilang mga karapatan sa ilalim ng ordinansa o pakikipag-tulungan sa Office of Labor Standards Enforcement (OLSE).

Kung kailangan pa ninyo ng higit na impormasyon, o nais mag-ulat ng employer na sa palagay ninyo ay lumabag sa ordinansang ito, mangyaring kontakin ang OLSE sa 415-554-5192 o email FCE@sfgov.org.
OFFICE OF LABOR STANDARDS ENFORCEMENT
City Hall, Room 430 1 Dr. Carlton B. Goodlett Place San Francisco CA 94102-4685 Tel. (415) 554-6235 Fax (415) 554-4791.

SAN FRANCISCO, CALIFORNIA NOTICE IN CHINESE:

三藩市縣
市長李孟賢
求職者和雇員通告
三藩市公平機會條例
《警察法規》第49條

2014年8月13日起,《公平機會條例》(《三藩市員警法規》第49條》)要求雇主做出招聘和雇用決定時嚴格遵守使用被捕和犯罪記錄相關的規定。。本條例適用於將來或目前大部分時間在三藩市工作的求職者和雇員並適用於有20名或以上雇員的雇主(不考慮雇員的所在地)。

某些事項受到禁止。雇主任何時候不得問及、要求披露或者考慮求職者或雇員相關的以下事項:(1)未導致定罪的逮捕(仍在進行刑事調查或審理的除外);(2)參與判決程序轉移或延期;(3)被刪除或宣告無效的有罪判決;(4)青少年司法系統的決定;(5)7年前的有罪判決;以及(6)重罪/輕罪以外的犯罪行為。雇主在招聘過程開始時,不得問及個人的犯罪史或未定罪的逮捕。這包括透過職位申請表、非正式談話或其他方式的詢問。

不受禁止事項在聘用過程中必須遵守的規定。。僅可在進行現場面試或者提供有條件雇用之後,才准許雇主問及個人的定罪史(受到禁止的事項除外)和未定罪的逮捕。做出雇用決定時僅可考慮與個人從事該工作的能力直接相關的有罪判決和未定罪的逮捕。

雇主根據定罪史或未定罪的逮捕採取不/拒絕聘用、解雇或不晉升個人之前,雇主必須給予此人機會提交證據表明該資訊不準確、此人已改過自新或者其他減輕因素。此人有七天時間做出回應,在此期間雇主必須合理延遲時間並重新考慮該不聘佣決定。雇主必須通知此人任何最終的決定。

改過自新的證據包括令人滿意的假釋/緩刑;接受教育/培訓;參加酒精/毒品治療項目;推薦信;以及個人被判有罪的年齡。減輕因素包括促成有罪判決的脅迫、身體或精神虐待以及未得到治療的藥物濫用/精神疾病。禁止報復。 雇主不得因求職者或雇員行使條例規定的權利或者配合勞工標準執行辦公室(OLSE),而對求職者或雇員採取報復行動。

如果您需要更多資訊或者想要舉報您認為違反本條例的雇主,請撥打415-554-5192或者發送電子郵件到FCE@sfgov.org聯繫OLSE。

勞工標準執行辦公室

City Hall, Room 430 1 Dr. Carlton B.

Goodlett Place San Francisco CA 94102

4685 電話 (415) 554-6235 傳真 (415) 554-4791

 


LOS ANGELES, CALIFORNIA NOTICE IN ENGLISH:

City of Los Angeles, California

Eric Garceti, Mayor

Notice to Applicants & Employees

Fair Chance Initiative for Hiring Ordinance

These are your rights:

1.         An Employer shall not inquire about or seek information about an Applicant's Criminal History until after a Conditional Offer of Employment has been made to the Applicant*.

a.         This includes job solicitations and applications or during any conversations and interviews.

2.         If an Employer decides to rescind an offer of employment based on information discovered during the criminal background check, the Employer is required to perform and Individualized Assessment.

a.         Individualized Assessment – a written assessment that effectively links the specific aspects of the Applicant's Criminal History with risks inherent in the duties of the Employment position sought by the Applicant.

b.         If the offer is rescinded, the Applicant must receive: Written notification, a copy of the Individualized Assessment, and copies of a ny documentation used in the Employer's decision.

3.         The Applicant has the right to the Fair Chance Process.

a.         The Applicant has the opportunity to provide information or documentation to an Employer regarding the accuracy of their Crimnal History or Criminal History Report. Such evidence of rehabilitation or other mitigating factors should be considered in the Employer's assessment.

b.         The Employer is required to hold the job open for at least five (5) business days from the notification date of the proposed adverse action to allow an Applicant to submit such documentation. The Employer is required to review any documentation to reassess their decision.

For additional information or assistance, call:

City of Los Angeles
Department of Public Works
Office of Wage Standards
1149 S. Broadway, Suite 300
Los Angeles, CA 90015
Phone: (844) WagesLA – Email: WagesLA@lacity.org

*Note: Not all applicants are covered under the FCHIO. Please see the ordinance (LAMC 189.00) for more details.

Form FCIHO, Rev 08/18

LOS ANGELES, CALIFORNIA NOTICE IN SPANISH:

City of Los Angeles, California

Eric Garceti, Mayor

Aviso para Solicitantes y Empleados
Ordenanza de la  Iniciativa  de Oportunidad Justa para la  Contratacion

Estos son  sus  derechos:

1.        Los Empleadores no pueden preguntar al solicitante sobre los  antecedentes  penales hasta  después  de que se le haya dado al Solicitante* una oferta condicional de empleo.

a.         Esto  incluye solicitaciones y solicitudes de empleo o durante cualquier tipo de conversaciones o entrvistas.

2.        Si  el Empleador decide  recindir  la oferta de empleo como resultado de la  investigación  de  antecedentes,  el Empleador está obligado a realizer una Evaluación  Individualizada.

a.         Evaluación  Individualizada – un  análisis  por escrito de las funciones y responsabilidades del trabajo, los  antecedentes  penales del Solicitante y cualquier otro factores que pueden afectar a la  decisión  de contractacion.

b.         Si  se rescinde  la oferta, el Solicitante debe recibir: un aviso por escrito, una copia de la  Evalucion  Individual, y copias de todos los documentos que el Empleador  utilizó  a llegar a la decision.

3.        El  solicitante tiene el derecho al proceso de la Oportunidad Justa.

a.         El  Solicitante tiene la oportunidad de proporcionar  información  o  documentación  a un Empleador con  respecto  a la  exactitud  de sus Antecedentes Penales. Dichos datos deben ser considerados en la  evaluacioón  del Empleador, como evidencia de  rehabilitación  u otros factores mitigadores.

b.         Se  requiere  que el Empleador mantenga el puesto abierto por lo menos cinco (5)  días  laborales de la fecha de  notificación  de la  acción  adversa propuesta para permitir que  el Solicitante presente  tal  documentación.  El Empleador  está  obligado  revisar cualquier  documentación  para  reevaluar  su  decisión.

Para  más  información  o asistencia, puede llamar a:
City of Los Angeles
Department of Public Works
Office of Wage Standards
1149 S. Broadway, Suite 300
Los Angeles, CA 90015
Teléfono: (844) WagesLA – Email: WagesLA@lacity.org

*La nota: No todos los solicitantes/empleados están cubierto bajo el FCHIO. Consulte con le ordenanza (LAMC 189.00) para más detalles.

Form FCIHO, Rev 08/18


PHILADELPHIA, PENNSYLVANIA FAIR CHANCE HIRING LAW

Ensuring people with criminal records have a fair chance to work. It is illegal in Philadelphia for employers* to ask about your criminal background during the job application process.

This means that:

Employers cannot ask about your criminal background on job applications or during any job interview.

Employers can run your criminal background check ONLY AFTER a conditional offer of employment is made (final hiring depends on the results of your background check).

If your background check reveals a conviction, the employer must consider:

Employers can reject you based on your criminal record ONLY if you pose an unacceptable risk to the business or to other people.

If you are rejected, the employer must send the decision to you in writing with a copy of the background report used to make the decision.

If you believe your employer has violated the law, you can file a complaint with the PCHR.

Philadelphia Commission on Human Relations
601 Walnut Street, Suite 300 South
Philadelphia,PA 19106
(p) 215-686-4670 (f) 215-686-4684
email: pchr@phila.gov
www.phila.gov/humanrelations

*Some employers are exempt

' authorizationStatement: '
' language: en crStamp: '2020-01-04T16:39:12.000+00:00' modStamp: '2024-02-26T19:53:34.000+00:00' authorizationObject: sections: - selectionValue: 'true' body: I acknowledge receipt of the Disclosure and certify that I have read and understand this document. After acknowledgement: value: caseDataId: 6243f41d-1eb7-4769-c3ff-cda6231dd10e alreadyAck: true '403': description: Forbidden '404': description: The case was not found. '422': description: The case does not have the disclosure-type requested as a requirement, or the request body has missing or invalid fields. '500': description: Internal Server Error /invitation/candidate/create: post: tags: - Candidate onboarding summary: Create candidate by proxy for invitation description: 'Creates the candidate object in KarmaCheck on behalf of the candidate so that there can be pre-population of PII before the candidate accepts an invitation and enters the system. The candidate will be directed to onboard the associated case via the one-time token link that will be provided by the API partner. This API marks the candidate object as not secured in the KarmaCheck system, which results in the candidate being prompted to set a password when the onboarding of the case begins. After this call is complete, the candidate will be associated with the specific `caseId` that was attached to the invitation. The `caseId` will be used for saving all further case data, such as authorizations and acknowledgements. This assumes that a candidate will need to sign up with KarmaCheck before being able to continue to accept the invitation. ' operationId: post-invitation-candidate-create parameters: [] requestBody: content: application/json: schema: type: object required: - caseInvitationId - email - password properties: caseInvitationId: type: string email: type: string description: The candidate's email address. password: type: string description: The password for the candidate's account. The supplied password must be at least eight characters long and must contain a lowercase letter, an uppercase letter, a number, and a special character. givenName: type: string middleName: type: string familyName: type: string dob: type: string description: The candidate's birthdate in the format *YYYY*-*MM*-*DD*. format: date phone: type: string govtId: type: string examples: Example 1: value: caseInvitationId: e1f27fde-8ec3-4fa2-abfe-43b7c9f43084 email: john.lee@example.com password: Password!1 givenName: John middleName: Michael familyName: Lee dob: '1980-09-19' phone: 800-555-0142 govtId: 111-11-1111 responses: '200': description: OK content: application/json: schema: type: object properties: caseId: type: string candidateId: type: string examples: Example 1: value: caseId: af51d69f-996a-4891-a745-aadfcdec225a candidateId: 10f4deb6-fd4e-4907-a47e-355caf6e449d '400': description: An invalid `email`, `password`, or `dob` format was passed. '403': description: Forbidden content: application/json: schema: type: object properties: {} '404': description: An invalid `caseInvitationId` was passed. '422': description: 'The candidate cannot be created due to one of the following: - The invitation expired. - The invitation was deleted. - The invitation was completed. - The invitation is already associated with another candidate. - An account already exists for the candidate.' content: application/json: schema: type: object properties: caseId: type: string candidateId: type: string '500': description: Internal Server Error security: - JWT: [] /testimony/create/case/id/{caseId}: parameters: - schema: type: string name: caseId in: path required: true description: The identifier of the case for which to create a testimony. post: tags: - Candidate onboarding summary: Create testimony for case description: 'Stores personally identifiable information (PII) on a candidate in KarmaCheck. Only one piece of PII can be included in a single piece of testimony. Testimony is owned by the candidate, and can be attached to a case. When testimony is attached to a case, a separate case testimony record is created, which then becomes part of the case.' operationId: post-testimony-create-case-id-caseId requestBody: content: application/json: schema: $ref: '#/components/schemas/Testimony' examples: Education testimony: value: testimonyTypeId: 19edb27e-5bfd-4c0f-888a-a5130b2f5250 details: institution: UCLA city: Los Angeles state: CA country: US educationType: College/University current: false degree: B.S. major: Nursing monthBegin: September yearBegin: '2015' monthEnd: May yearEnd: '2019' Professional License and Certification testimony: value: testimonyTypeId: testimony-type-cplc testimonySubType: 512d0d24-a4bd-4b1d-b6d1-182247a0f6ec details: cplcId: 512d0d24-a4bd-4b1d-b6d1-182247a0f6ec fields: - fieldId: certifyingBody value: AMTA - fieldId: licenseNumber value: M123456 - fieldId: firstName value: John - fieldId: lastName value: Smith responses: '200': description: OK content: application/json: schema: type: object required: - id properties: id: type: string description: The unique identifier of the testimony created. format: uuid examples: Example 1: value: id: e0c9c732-68ea-4f73-857d-d37f1c9e2028 '403': description: Forbidden '422': description: The request data is invalid or incomplete. '500': description: Internal Server Error /testimony/id/{testimonyId}/detach/case/id/{caseId}: parameters: - in: path name: testimonyId required: true description: The ID of the testimony to remove from a case. schema: type: string - schema: type: string name: caseId in: path required: true description: The identifier of the case. delete: tags: - Candidate onboarding summary: Detach testimony from case description: 'Removes previously attached testimony from a case. If the testimony is not attached to the supplied case, then calling this endpoint generates an error with 404. If the case has finished onboarding, then this call will fail with 403. If the testimony has not been attached to any other case, then detaching will result in deletion of the testimony from the system.' operationId: delete-testimony-id-testimonyId-detach-case-id-caseId parameters: [] responses: '200': description: OK '403': description: 'Forbidden: Case has finished onboarding.' '404': description: 'Not Found: Testimony not attached to supplied case.' '500': description: Internal Server Error security: - JWT: [] /candidate/invitation/token/{invitationToken}: parameters: - schema: type: string example: 84729060-f3f3-42fc-88fe-c5ac3da46d41 name: invitationToken in: path required: true description: The token used for the invitation. This can be retrieved from [Get invitation for case ID](karma-api-openapi.yaml/paths/~1invitation~1case~1{caseId}/get). get: tags: - Candidate onboarding summary: Get candidate for invitation description: Retrieves the candidate information associated with an invitation. operationId: get-candidate-invitation-token-invitationToken responses: '200': description: OK content: application/json: schema: type: object required: - caseId - candidateId - legalStarted properties: caseId: type: string description: The ID of the case associated with the candidate and invitation. candidateId: type: string description: The ID of the candidate associated with the invitation. legalStarted: type: boolean description: True if the candidate began authorization of legal checks (for example, acknowledged a disclosure); false otherwise. examples: Example 1: value: caseId: 6f84bc4b-9206-49e4-92b2-529c3d5990b3 candidateId: 56730732-b977-4e1f-b6d4-ffd96c51ff5b legalStarted: false '403': description: Forbidden '422': description: 'The invitation is no longer valid due to one of the following: - The invitation expired. - The invitation was canceled and deleted. - The invitation was completed. In other words, a candidate acknowledged the invitation and completed the onboarding process. ' content: application/json: schema: type: string examples: Example 1: value: Token is not valid '500': description: 'An error occurred on KarmaCheck''s end. **Known issue:** The API returns this error instead of a 4xx response when either of the following occurs: - The invited candidate hasn''t initiated the onboarding process. - The invitation token provided is invalid.' content: application/json: schema: type: string examples: Example 1: value: Server Error /candidate/countries: get: tags: - Candidate onboarding summary: Get countries description: Fetches the list of countries and their respective ISO 3166 codes to use for creating testimony with proper codes. operationId: get-candidate-countries responses: '200': description: OK content: application/json: schema: type: object required: - list properties: list: type: array items: type: object required: - iso31662 - iso31663 - country properties: iso31662: type: string description: The two-character ISO-3166 code for the country. iso31663: type: string description: The three-character ISO-3166 code for the country. country: type: string description: The name of the country. examples: Example 1: value: list: - iso31662: US iso31663: USA country: United States '403': description: Forbidden '500': description: Internal Server Error security: - JWT: [] /invitation/case/{caseId}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case that the invitation is attached to. get: tags: - Candidate onboarding summary: Get invitation for case ID description: Retrieves the invitation associated with a case. operationId: get-invitation-case-caseId responses: '200': description: OK content: application/json: schema: type: object properties: invitation: type: object properties: id: type: string description: The unique identifier of the case invitation. email: type: string givenName: type: string familyName: type: string dob: type: string format: date invitationToken: type: string invitationStatusId: $ref: '#/components/schemas/InvitationStatusID' packageId: type: string expiresStamp: type: string format: date-time example: '2024-08-20T07:00:00.000+00:00' deletedStamp: type: string format: date-time example: '2024-08-14T14:17:01.000+00:00' completedStamp: type: string format: date-time example: '2024-08-14T14:17:01.000+00:00' crStamp: type: string format: date-time example: '2024-08-14T14:17:00.000+00:00' modStamp: type: string format: date-time example: '2024-08-14T14:17:01.000+00:00' examples: Example 1: value: invitation: id: 03c8ee25-0d4c-4a45-8030-456ef96e6513 email: jackwilliams@example.com invitationToken: 1238ee25-4a51-ab7f-8030-456dd96d4321 invitationStatusId: d1962405-dd97-48f2-bede-530c2895481f packageId: 7e32983c-1ea5-4271-9832-231a51c740be givenName: Jack familyName: Williams expiresStamp: '2022-04-28T06:59:59.000+00:00' crStamp: '2022-04-13T15:26:10.000+00:00' completedStamp: '2022-04-13T15:45:24.000+00:00' modStamp: '2022-07-01T13:11:02.000+00:00' '403': description: Forbidden '404': description: No invitation exists for the given `caseId`. content: {} '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/legal/status/{legalType}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case for which to retrieve a legal acknowledgement status. - schema: type: string enum: - esig - fcra - disclosure - customdisclosure - customdynamicdisclosure - canadadisclosure - intldisclosure - custom-ab-disclosure-1 - custom-ab-disclosure-2 name: legalType in: path required: true description: A type of legal document. Each corresponds to a legal service that was ordered for the case. get: tags: - Candidate onboarding summary: Get legal acknowledgement status description: Retrieves the candidate acknowledgment status of the specified legal document for the case. This can be used to determine whether the candidate can skip acknowledging that legal document if they leave and then continue their onboarding later or on another device, for example. operationId: get-case-id-caseId-legal-status-legalType responses: '200': description: OK content: application/json: schema: type: object required: - alreadyAck properties: alreadyAck: type: boolean description: True if the candidate already acknowledged the legal document; false otherwise. examples: Example 1: value: alreadyAck: true '403': description: Forbidden '404': description: The case specified was not found. '422': description: Invalid legal document type, or the case does not have the specified legal document type as a requirement. '500': description: Internal Server Error /case/id/{caseId}/candidate/id/{candidateId}/url: parameters: - schema: type: string name: caseId in: path required: true - name: candidateId in: path required: true description: The ID of the candidate for the case. schema: type: string get: tags: - Candidate onboarding summary: Get one-time token link description: 'Retrieves a one-time token (OTT) URL to give to a candidate so that they can complete onboarding for a case. The returned URL contains a token, ensuring that the candidate secures their account before proceeding with onboarding. This endpoint is typically called when a candidate has been newly integrated into KarmaCheck by a partner. This is so that testimony can be presented on behalf of the candidate for a case before onboarding begins. The URL is designed to ensure that the onboarding process includes a step where the candidate can secure their account before continuing. **Note:** To properly redirect the candidate to the provided invitation context to commence their background check, append the full invitation link to the end of the returned OTT URL as a `redirect_url` query parameter. For example: - `https://my.karmacheck.com/ott/{ott}?redirect_url=/invite/{invitationToken}` - `https://my.karmacheck.com/ott/{ott}?redirect_url=https://my.karmacheck.com/invite/{invitationToken}`' operationId: get-case-id-caseid-candidate-id-candidateId-url parameters: [] responses: '200': description: OK content: application/json: schema: type: object required: - ottUrl properties: ottUrl: type: string description: The URL in the format `https://my{-env}.karmacheck.com/ott/{ott}`, with `{ott}` as the token. example: https://my.karmacheck.com/ott/a1bc234-56de-7891-234a-b5c6d7c8e901 '403': description: 'Forbidden: No access to the candidate or the case.' '422': description: 'Unprocessable Entity: Candidate account is already secured, or bad credentials.' '500': description: Internal Server Error /candidate/secureimage/id/{secureImageId}: parameters: - schema: type: string name: secureImageId in: path required: true description: The identifier of a secure image. get: tags: - Candidate onboarding summary: Get secure image by ID description: Retrieves a secure image by its identifier. operationId: get-candidate-secureimage-id-secureImageId responses: '200': description: OK '403': description: Forbidden '404': description: Not Found '422': description: Unable to download image. '500': description: Internal Server Error /testimony/case/{caseId}: parameters: - schema: type: string name: caseId in: path required: true description: The identifier of the case. get: tags: - Candidate onboarding summary: Get testimony for case description: Retrieves the testimony attached to a case. operationId: get-testimony-case-caseId responses: '200': description: OK content: application/json: schema: type: object required: - testimony properties: testimony: type: object description: Each testimony type has a key in this object whose value is an array of the related testimony. If no testimony is available for a particular testimony type, the array will be empty. required: - address - driversLicense - parentalConsent - education - employment - customProfessionalLicense properties: address: type: array items: $ref: '#/components/schemas/TestimonyAddress' driversLicense: type: array items: $ref: '#/components/schemas/TestimonyDriversLicense' parentalConsent: type: array items: $ref: '#/components/schemas/TestimonyParentalConsent' education: type: array items: $ref: '#/components/schemas/TestimonyEducation' employment: type: array items: $ref: '#/components/schemas/TestimonyEmployment' customProfessionalLicense: type: array items: $ref: '#/components/schemas/TestimonyCustomProfessionalLicense' examples: Example 1: value: testimony: address: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 city: San Clemente state: CA country: US address: 2 Main Street address2: Unit 3 postalCode: '92670' current: true driversLicense: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 state: CA licenseNumber: D1234567 parentalConsent: [] education: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 institution: San Diego University city: San Diego state: CA country: US educationType: College/University current: true degree: B.S. major: Biology monthBegin: September yearBegin: '2006' monthEnd: May yearEnd: '2010' employment: - id: 497f6eca-6276-4993-bfeb-53cbbbba6f08 employer: Example Employer city: San Clemente state: CA country: US current: true okToContact: true position: Nurse monthBegin: August yearBegin: '2010' customProfessionalLicense: [] '403': description: 'Forbidden This response likely indicates that you don''t have access to the case.' content: {} '404': description: Invalid `caseId`. '500': description: Internal Server Error /case/id/{caseId}/action/refreshinvite: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to refresh the invitation for. put: tags: - Candidate onboarding summary: Refresh invitation for case description: 'Refreshes the expiration date for an existing invitation. When an onboarding invitation is generated, the candidate has 14 days (the default expiration period) to begin and complete their onboarding, or else the link in their invitation email becomes invalid. As long as the invitation is refreshed during the 14-day period, enough time will be added so that the candidate has 14 days to complete onboarding. For example, if only 1 day remains, 13 days will be added. If 12 days still remain, only 2 days will be added. Note that for your cases that don''t rely on the candidate to onboard, such as those that use the customer PII entry feature, you''ll never need to call this API.' operationId: put-case-id-caseId-action-refreshinvite responses: '200': description: OK '403': description: Forbidden '422': description: The candidate already began or finished onboarding. '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/action/resendinvite: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to resend an invitation for. post: tags: - Candidate onboarding summary: Resend case invitation description: 'Resends the invitation email for a case. Note that a case can have only one active invitation at a time, and resending the invite actually creates and sends a new invitation with a new ID. This means that the link in an old invitation email will stop working, so make sure to update any references to the old invitation in order to use the new one.' operationId: post-case-id-caseId-action-resendinvite parameters: - schema: type: string name: caseId in: path required: true requestBody: content: application/json: schema: type: object required: - email properties: email: type: string format: email responses: '200': description: OK '403': description: Unauthorized Request '422': description: 'Could not resend the invitation. This can be due to one of the following: - A data issue - Existing invitation was already used to create a candidate' '500': description: Server Error /candidate/id/{candidateId}/update/case/id/{caseId}: parameters: - schema: type: string name: candidateId in: path required: true description: The identifier of a candidate. - schema: type: string name: caseId in: path required: true description: The identifier of a case associated with the candidate. post: tags: - Candidate onboarding summary: Update candidate for case description: Sets modifiable data for a candidate. operationId: post-candidate-id-candidateId-update-case-id-caseId requestBody: content: application/json: schema: type: object properties: email: type: string description: Cannot be changed once PII is locked. Value provided cannot already be associated with another candidate. format: email dob: type: string format: date description: Cannot be changed once PII is locked. example: '1987-01-30' givenName: type: string description: Cannot be changed once PII is locked. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed. middleName: type: - string - 'null' description: Cannot be changed once PII is locked. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed. familyName: type: string description: Cannot be changed once PII is locked. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed. phone: type: - string - 'null' pattern: ^\+\d+$ example: '+18005550164' govtId: type: - string - 'null' description: Cannot be changed once PII is locked, but can still be set if the current value is `null`. examples: Before PII lock: value: email: dwight@example.com dob: '1991-04-05' givenName: Dwight familyName: Miller middleName: James phone: '+18005550164' govtId: null After PII lock: value: phone: '+18005550164' govtId: 333-22-1111 description: 'All fields in the request are optional, so only those that are passed in will be set or updated. Any fields left out of the request will keep their existing values. Some fields are nullable, so passing in an empty string or `null` will update the field to be an empty string or `null`. Some fields cannot be an empty string or `null`, in which case passing in such values will cause the call to fail. After a candidate''s first case begins processing, their personally indentifiable information (PII) will be locked, and only their `phone` can be updated. Their `govtId` can be set if it hasn''t been already, but cannot be updated. Call [Get candidate info for case](paths/~1candidate~1info~1case~1id~1{caseId}/get) to check whether a candidate has their PII locked.' responses: '200': description: This response will be returned as long as at least one valid update is made. The invalid fields will simply be ignored. '400': description: 'This response will be returned if the request didn''t contain at least one valid update, such as by attempting to update only PII fields after PII has been locked. ' '403': description: Forbidden '500': description: Internal Server Error /testimony/id/{testimonyId}/update/case/id/{caseId}: parameters: - in: path name: testimonyId required: true description: The identifier of the testimony record to update. schema: type: string - in: path name: caseId required: true schema: type: string description: The identifier of the case that the testimony is attached to. post: tags: - Candidate onboarding summary: Update testimony for case description: Updates testimony associated with a case. operationId: post-testimony-id-testimonyId-update-case-id-caseId parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/Testimony' examples: Example 1: value: testimonyTypeId: 19edb27e-5bfd-4c0f-888a-a5130b2f5250 details: institution: UCLA city: Los Angeles state: CA country: US educationType: College/University current: false degree: B.S. major: Nursing monthBegin: September yearBegin: '2015' monthEnd: May yearEnd: '2019' description: To properly update an existing testimony record, the value for `testimonyTypeId` must be the same as the one used to [create the testimony](paths/~1testimony~1create~1case~1id~1{caseId}/post). responses: '200': description: 'The call was successful, but note the following behavior: - If the testimony is *not* attached to other cases, the record will be updated and the `testimonyId` returned will be the same as the `testimonyId` supplied. - If the testimony *is* attached to other cases, the record will be detached from this case, unmodified. Then, a new testimony record will be created with the data in the request and attached to the case. The new record''s `testimonyId` will be in the response, and so it is the caller''s responsibility to save and use the new ID as needed. This is because a testimony record become read-only once it''s used in the processing of a case.' content: application/json: schema: type: object required: - id properties: id: type: string description: The identifier of the updated or newly created testimony record. format: uuid examples: Example 1: value: id: 83b7eaf3-0409-4863-9709-14e28ab9cfa7 '403': description: The case has begun processing, so testimony can no longer be modified. '404': description: The `testimonyId` provided is not associated with the `caseId`. '422': description: 'The request data is invalid or incomplete. **Known issue:** The API returns a 500 response instead of a 422 when this error occurs.' '500': description: Internal Server Error /case/id/{caseId}/add/services: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to add services to. post: tags: - Cases summary: Add to order description: Adds the requested services to the existing ordered case. The requested services must be part of the package for the case. The authentication token must be for the group that the case is owned by. operationId: post-case-id-caseId-add-services parameters: [] requestBody: content: application/json: schema: type: object x-examples: Example 1: services: - id: 85307784-1f84-471a-8596-c8ea088c3a62 orderData: - caseOrderDataTypeId: codt-education serviceId: 85307784-1f84-471a-8596-c8ea088c3a62 metadata: {} properties: services: type: array items: type: object properties: id: type: string description: The unique identifier of a service. See [Service](docs/reference/service.md) for a list of possible values. orderData: type: array items: $ref: '#/components/schemas/CaseOrderData' orderConfig: $ref: '#/components/schemas/OrderConfig' description: Updated [configurations](docs/reference/order-configuration.md) that describe how to run certain screenings for the case. The current configurations for the case can be overridden only if there has not already been a screening dispatched where that configuration applies. For example, if a criminal screening was ordered during case creation, then `aliasNameConfiguration` cannot be updated. examples: Example 1: value: services: - id: service-cplc orderData: - caseOrderDataTypeId: codt-cplc serviceId: service-cplc metadata: cplcId: 1d16c91d-c2da-47d1-b102-bd67d5b8b1ee fields: - fieldId: licenseNumber value: L1234567 - fieldId: firstName value: Matt - fieldId: lastName value: Williams - fieldId: state value: NY orderConfig: serviceConfigs: 9ac65633-b4c4-4062-875c-3556db9d2a08: verificationMethod: psv-first 85307784-1f84-471a-8596-c8ea088c3a62: verificationMethod: psv-first description: '`services` and `orderData` are both optional, but at least one of them is required to call this endpoint.' responses: '200': description: success '403': description: Unauthorized Request '422': description: 'The report is not ready yet, or a data issue such as: - The service specified is not allowed for the case. - A configuration is already set on the case for a dispatched service.' '500': description: Server Error security: - JWT: [] /case/archive/{caseId}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to archive. post: tags: - Cases summary: Archive case description: Archives a case so that it no longer appears in the KarmaCheck dashboard. operationId: post-case-archive-caseId parameters: [] responses: '200': description: OK content: text/plain: schema: type: string examples: Example 1: value: success '403': description: Forbidden '404': description: Not Found content: text/plain: schema: type: string examples: Example 1: value: Invalid case '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/action/beginprocessing: parameters: - schema: type: string name: caseId in: path description: The ID of the case to begin processing. required: true put: tags: - Cases summary: Begin processing case description: 'Begins the processing of screenings for a case. This endpoint must be called when the onboarding of a case is complete, unless you are: - Sending invitation emails to the candidate so they can onboard. - Using the customer-provided PII flow to [create the case](paths/~1case~1create/post). In these instances, the case will begin processing as soon as the candidate information has been provided.' operationId: put-case-id-caseId-action-beginprocessing parameters: [] responses: '200': description: OK '403': description: This response indicates a missing or invalid authentication token, or no access to the case. '422': description: This response means that the case is not ready to begin processing (for example, if a required testimony such as date of birth is missing), or that the case has already begun processing. '500': description: Internal Server Error /case/data/id/{caseDataId}/search/id/{searchId}/cancel: parameters: - schema: type: string name: caseDataId in: path required: true description: The ID of the case data containing the search. - schema: type: string name: searchId in: path required: true description: The ID of the search to cancel. post: tags: - Cases summary: Cancel case data search description: 'Endpoint to cancel individual case data search records. Currently supports cancelling education and employment searches.' operationId: post-case-data-id-caseDataId-search-id-searchId-cancel responses: '200': description: OK '204': description: No Content '400': description: Bad Request '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /case/create: post: tags: - Cases summary: Create case description: 'Orders a background check report and opens a case for tracking. The new case includes references to the package. Depending on the values entered in the request, the case goes through one of two flows: - **Candidate onboarding flow:** The new case will have an initial status of **Pending** and a secondary status of **Waiting for Authorization**. An invitation is emailed to the candidate, who is required to provide their personally identifiable information (PII) via the invitation email. - **Customer-provided PII flow:** All PII for the candidate is provided in the request body. Setting `autoProcess` to true initiates a case for the candidate and immediately begins processing. ### API Integration - Attributing a case to a specific user To provide additional insight for API integrations the Create Case API supports an optional header that allows an API customer to provide additional information about the end user that is initiating the API call through their integration. This optional header is only ever used if the API call has a valid authentication token. The optional header is `karmacheck-on-behalf-of` and the value that should be provided is an email address. When the `karmacheck-on-behalf-of` header contains an email address, the server will validate the email address provided, and if valid, the user associated with the email address will be recorded in the KarmaCheck system as the user that created the associated case. When validating the email address that is provided for this header: - if there is no user in the KarmaCheck system, then the value will simply be ignored and the case creation will be attributed to the authenticated API token itself. - if there is a user in the KarmaCheck system associated with the email address, but that user does not have the proper access to create a case for the package (or is not a user that is directly associated with the calling company) that is being requested then the API call will fail with a result that indicates that the user is not authorized to make that call. This error will occur even though the API token itself may be allowed to make the call but, because of the conflict, the call will be rejected. ### Restrictions The following restrictions exist when creating a case. Be sure to adhere to these restrictions when selecting a package or excluding services from the order (via `excludeServices`). #### Criminal and identity screening restrictions - SSN Trace is required when a County, State, or Federal Criminal Search is being ordered. - Cannot order Identity Verification and Identity And Liveliness Verification at the same time. - International Identity Verification cannot be ordered without other international screenings. - Must choose between US criminal screenings or international criminal screenings. - Must include International Identity Verification if Canadian Criminal Record Check or International Criminal Record Check is included. #### OHS and drug screening restrictions - Cannot order more than one type of TB test. - Cannot order DOT and non-DOT drug screenings in the same order. - Cannot order more than one non-DOT drug screening. - Only one urine drug screening can be selected for any order. - Cannot order both vaccine and titer for the same immunization type. This applies for each of the following immunization types: Varicella, Hepatitis A, Hepatitis B, and MMR. - OSHA Respirator/Fit to Wear Questionnaire is required when Respirator/Mask Fit Testing - Qualitative or Respirator/Mask Fit Testing - Quantitative is being ordered. - OHS and drug screenings are US-only and cannot be ordered with Canadian or international screenings.' operationId: post-case-create parameters: - name: karmacheck-on-behalf-of in: header required: false description: Optional. The email address of the end user who initiated this request through your integration. Only applied when the request is authenticated with an API User token. When the email matches a KarmaCheck user with the appropriate access, that user is recorded as the creator of the case instead of the API User. See the endpoint description for full validation behavior. schema: type: string format: email requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateCase' examples: Candidate-provided PII flow: value: packageId: a12ddee3-4fa5-43fc-9876-123a5d23a08b email: matt.williams@example.com givenName: Matt familyName: Williams Customer-provided PII flow: value: autoProcess: true packageId: a12ddee3-4fa5-43fc-9876-123a5d23a08b email: matt.williams@example.com givenName: Matt familyName: Williams phone: '+18005550184' candidateConsentProvided: true candidateDisclosuresAndAuthorizationDocumentIds: - 1234e9a3-8b78-4764-9fdd-12ce8c2b7f29 - b123427c-d3a1-4611-a4c3-7dc6e29b43aa - ddde1e00-c1cd-4cb5-ade0-29ec1c3c4049 orderData: - caseOrderDataTypeId: codt-govt-id metadata: govtId: 111-22-3333 - caseOrderDataTypeId: codt-dob metadata: dob: '1980-02-22' - caseOrderDataTypeId: codt-current-candidate-address metadata: address1: 1 Main Street city: New York state: NY postalCode: '10036' country: US orderConfig: aliasNameConfiguration: alias-all+hits-only serviceConfigs: 9ac65633-b4c4-4062-875c-3556db9d2a08: verificationMethod: psv-first contacts: - email: defaultcontact@example.com type: default phone: 800-555-0170 name: Dana R. - email: escalationcontact@example.com type: escalation name: Alex P. description: '' responses: '200': description: OK content: application/json: schema: type: object properties: caseId: type: string caseInvitationId: type: string examples: Example 1: value: caseId: a09215ff-f46c-49a6-9767-762da1f3afd2 caseInvitationId: a2831b9e-897c-4971-85fd-a8328443ed63 '400': description: Bad Request '403': description: Forbidden '409': description: A case for the specified email already exists in the group that the case is being created under. content: application/json: schema: type: object properties: cases: type: array items: type: object required: - existingCaseId - existingCaseCrStamp - existingCasePackageId - existingCasePackageName - existingCaseStatusId - existingCaseStatus - modStamp properties: existingCaseId: type: string existingCaseCrStamp: type: string existingCasePackageId: type: string existingCasePackageName: type: string existingCaseStatusId: type: string existingCaseStatus: type: string existingCaseSecondaryStatusId: type: string existingCaseSecondaryStatus: type: string modStamp: type: string description: If the existing case is complete, this is when it completed. format: date-time examples: Example 1: value: cases: - existingCaseId: 74e1c0da-3106-4efb-b293-0f1648afae50 existingCaseCrStamp: '2024-05-23T00:58:06.000+00:00' existingCasePackageId: 7e32983c-1ea5-4271-9832-231a51c740be existingCasePackageName: Basic Check existingCaseStatusId: d894b8a0-937e-46b1-8799-15bad611844f existingCaseStatus: Pending existingCaseSecondaryStatusId: 8e0c9756-a42f-4a7d-b8e2-412a0f6b9dea existingCaseSecondaryStatus: Waiting for Authorization modStamp: '2024-05-23T00:58:06.000+00:00' '422': description: Bad data, or cannot replace an already completed case. '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/data/{serviceId}/pdf/download: parameters: - schema: type: string name: caseId in: path required: true - schema: type: string name: serviceId in: path required: true description: The ID of the legal service. get: tags: - Cases summary: Download legal doc for case data description: Downloads the PDF document for the legal service requested for a case. Legal checks are the various required authorizations collected from a candidate when they authorize a background check (e-signature, FCRA, and disclosures). operationId: get-case-id-caseId-data-serviceId-pdf-download responses: '200': description: OK '403': description: Forbidden '404': description: Not Found '422': description: Unable to download file. '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/preadverse/{type}/pdf/download: parameters: - schema: type: string name: caseId in: path required: true - schema: type: string enum: - notice - report name: type in: path required: true get: tags: - Cases summary: Download pre-adverse action document description: Downloads the PDF file for the pre-adverse action notice or the case report that was active at the time of the pre-adverse action. operationId: get-case-id-caseId-preadverse-type-pdf-download responses: '200': description: OK '403': description: Forbidden '404': description: Not Found '422': description: The case is not in an adverse action process. '500': description: Internal Server Error security: - JWT: [] /jurisdiction/find/all: post: tags: - Cases summary: Find jurisdictions description: 'Retrieves a list of relevant county and federal district jurisdictions based on a set of city/county/state combinations. This list is needed when ordering a case, as it ensures that the case is ordered with the correct list of jurisdictions.' operationId: post-jurisdiction-find-all requestBody: content: application/json: schema: type: object properties: counties: type: array items: $ref: '#/components/schemas/JurisdictionCounties' examples: Example 1: value: counties: - city: Long Beach state: CA county: Los Angeles - city: Newport Beach state: CA county: Orange responses: '200': description: OK content: application/json: schema: type: object properties: list: type: array items: type: object allOf: - $ref: '#/components/schemas/JurisdictionsFederalDistrictCourtAndCounty' - type: object required: - jurisdictionType properties: jurisdictionType: type: string enum: - federal-district - county examples: Example 1: value: list: - name: LOS ANGELES stateCode: CA state: CALIFORNIA jurisdictionType: county - name: ORANGE stateCode: CA state: CALIFORNIA jurisdictionType: county - name: California Central District Court district: Central stateCode: CA state: CALIFORNIA county: LOS ANGELES jurisdictionType: federal-district '400': description: Bad Request '403': description: Forbidden '500': description: Internal Server Error security: - JWT: [] /case/list: parameters: [] get: tags: - Cases summary: Get active cases description: 'Retrieves all active cases for the `groupProfileId` on the token used. The response includes summary-level information with IDs for accessing details using other endpoints. The cases are listed in descending order by `crStamp`. If any `crStamp` values are identical, the cases are then sorted by `caseStatusId`, followed by `caseSecondaryStatusId`.' operationId: get-case-list responses: '200': description: OK content: application/json: schema: type: object required: - cases properties: cases: type: array items: $ref: '#/components/schemas/CaseSummary' examples: {} '403': description: This response indicates missing authorization, or valid authorization but insufficient permissions. '500': description: Internal Server Error /case/list/all: parameters: [] get: tags: - Cases summary: Get all cases description: 'Retrieves all cases (both active and archived) for the `groupProfileId` on the token used. The response includes summary-level information with IDs for accessing details using other endpoints. The cases are listed in descending order by `crStamp`. If any `crStamp` values are identical, the cases are then sorted by `caseStatusId`, followed by `caseSecondaryStatusId`.' operationId: get-case-list-all parameters: - schema: type: string in: query name: userId description: If included, filters the cases to only those ordered by the specified user. - schema: type: string in: query name: packageId description: If included, filters the cases to only those ordered with the specified package. requestBody: content: {} responses: '200': description: OK content: application/json: schema: type: object required: - cases properties: cases: type: array items: $ref: '#/components/schemas/CaseSummary' examples: {} '400': description: Invalid Request '403': description: This response indicates missing authorization, or valid authorization but insufficient permissions. '500': description: Internal Server Error /case/id/{caseId}/services: parameters: - schema: type: string name: caseId in: path required: true get: tags: - Cases summary: Get all services for case description: Retrieves a list of all services ordered for a case. operationId: get-case-id-caseId-services responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceGroupServicesCase' '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /candidate/info/case/id/{caseId}: parameters: - schema: type: string name: caseId in: path required: true description: The identifier of a case. get: tags: - Cases summary: Get candidate info for case description: Retrieves information about the candidate associated with the case. operationId: get-candidate-info-case-id-caseId responses: '200': description: OK content: application/json: schema: type: object x-examples: Example 1: candidate: id: 9b766aef-be7f-4844-8b46-be7b53f74bf9 email: better_than_jim_halpert@gmail.com password: '########' givenName: Dwight familyName: Schrute govtId: XXX-XX-3333 phone: '+15702025821' dob: '1966-01-20' piiValidated: false piiLocked: 1 enabled: true crStamp: '2022-02-07T20:37:21.000+00:00' modStamp: '2022-07-07T17:48:23.000+00:00' secured: 1 candidateId: 9b766aef-be7f-4844-8b46-be7b53f74bf9 username: better_than_jim_halpert@gmail.com accountNonExpired: true accountNonLocked: true credentialsNonExpired: true fullName: Dwight Schrute required: - candidate properties: candidate: type: object required: - id - email - password - givenName - familyName - fullName - dob - piiValidated - piiLocked - enabled - crStamp - modStamp - secured - candidateId - username - accountNonExpired - accountNonLocked - credentialsNonExpired properties: id: type: string email: type: string format: email password: type: string description: An obfuscated password. example: '########' givenName: type: string middleName: type: string familyName: type: string fullName: type: string govtId: type: string description: The candidate's Social Security number, which is obfuscated except for last 4 digits. example: XXX-XX-3333 phone: type: string dob: type: string format: date example: '1987-01-30' piiValidated: type: boolean piiLocked: type: integer enum: - 1 - 0 description: A boolean integer. enabled: type: boolean crStamp: type: string format: date-time example: '2024-07-22T23:48:24.000+00:00' modStamp: type: string format: date-time example: '2024-07-23T01:34:00.000+00:00' secured: type: integer enum: - 1 - 0 description: A boolean integer. candidateId: type: string username: type: string accountNonExpired: type: boolean accountNonLocked: type: boolean credentialsNonExpired: type: boolean examples: Example 1: value: candidate: id: dfb411b1-ab2e-4076-9a22-9f2fda30b365 email: dani@example.com password: '########' givenName: Dani familyName: Garcia middleName: A. govtId: XXX-XX-3333 phone: '+18005550126' dob: '1995-05-04' piiValidated: false piiLocked: 1 enabled: true crStamp: '2024-03-06T20:05:09.000+00:00' modStamp: '2024-03-13T21:46:38.000+00:00' secured: 0 credentialsNonExpired: true accountNonExpired: true accountNonLocked: true candidateId: dfb411b1-ab2e-4076-9a22-9f2fda30b365 username: dani@example.com fullName: Dani A. Garcia '403': description: Forbidden '404': description: 'The `caseId` provided is not associated with a case, or no candidate has been linked to the case yet. The latter scenario most likely means that for candidate onboarding cases, the candidate has not yet begun onboarding. For customer PII entry cases, a candidate might already exist under the email used, but other PII has mismatched.' '500': description: Internal Server Error /config/case/id/{caseId}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case for which to retrieve configurations. get: tags: - Cases summary: Get case configuration description: Returns the service configurations and contact information for a case. For information on how to create or update configuration options for a case, see [Create case](paths/~1case~1create/post) or [Add to order](paths/~1case~1id~1{caseId}~1add~1services/post). operationId: get-config-case-id-caseId responses: '200': description: 'The response can include any combination of the objects described below. The structure of the response is determined by: - Any points of contact that were added to the case. - All screenings from the package that was used to create the case, regardless of whether those screenings were ordered for the case.' content: application/json: schema: $ref: '#/components/schemas/Configuration' examples: {} '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /case/id/{caseId}/data/{serviceTypeId}: parameters: - schema: type: string name: caseId in: path description: The ID of the case to retrieve details for. required: true - schema: type: string enum: - 30bc2c03-c8dd-409a-8da6-e0070ea6a681 - a3b74b1b-b665-40be-bad2-2a49c801cf3f - service-type-payment - service-type-idv - service-type-shipment name: serviceTypeId in: path required: true description: The ID of the [service type](docs/reference/service-type.md) to retrieve. get: tags: - Cases summary: Get case data by case ID description: Gets the details associated with services ordered and processed for a case. operationId: get-case-id-caseid-data-servicetypeid responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array description: The case data associated with each service for the case. This will be undefined if no case data records exist for the given `serviceTypeId`. items: $ref: '#/components/schemas/CaseData' examples: Example 1: value: data: - id: 12345678-f4ae-4579-b43d-5ab19c93add0 description: National Criminal Search caseId: 1c233169-fc0c-474e-9311-a35029e6154b storageId: 1234fed4-e9a6-45fc-b280-8df5dac39c37 details: "{\n \"source\" : \"TazWorks\",\n \"rawDataType\" : \"xml\",\n \"rawDataKey\"\ \ : \"16a2841b-a9c2-4415-b57b-280ea1a6e4f9\",\n \"serviceId\" : \"d8e3dbdb-c2d7-4787-9736-86fffab74da4\"\ ,\n \"dateCompleted\" : \"2024-08-07T22:04:44.222+00:00\",\n \"timeToComplete\"\ \ : \"instant\",\n \"reportHtmlSecureDocumentId\" : \"fea58286-0283-452a-8151-3796435d0e44\"\ \n}" serviceId: d8e3dbdb-c2d7-4787-9736-86fffab74da4 serviceName: National Criminal Search serviceTypeId: 30bc2c03-c8dd-409a-8da6-e0070ea6a681 serviceTypeName: Screening statusId: e086eea7-e4b7-4c74-ac04-4c3b51c23a33 status: clear statusDisplayName: Clear crStamp: '2024-08-07T22:04:37.000+00:00' modStamp: '2024-08-07T22:04:42.000+00:00' groupProfileId: ab1234c5-ac27-4c96-bb22-06ae7e372fd2 candidateId: 123d5439-18fe-4f14-b7fb-00eca6aa598f detailsObject: source: TazWorks rawDataType: xml rawDataKey: 16a2841b-a9c2-4415-b57b-280ea1a6e4f9 serviceId: d8e3dbdb-c2d7-4787-9736-86fffab74da4 dateCompleted: '2024-06-28T16:08:36.222+00:00' timeToComplete: instant reportHtmlSecureDocumentId: fea58286-0283-452a-8151-3796435d0e44 serviceCategory: Criminal Check serviceCategoryId: service-cat-criminal locked: false - id: 66068dd2-2bdb-44c7-97c9-14bd92eeed7c description: NDOT Physical caseId: 4b473169-fc0c-474e-9311-a35029e6154b storageId: 637807a7-fd66-4ec4-853a-30cfc6a902d2 details: '{"dateCompleted":"2024-08-07T22:05:00.000Z","timeToComplete":"instant","effectiveDate":"2024-08-07T22:05:00.000Z","externalId":"tWSAxlkhueHHoWRPUzGU","confirmationNumber":"AItWSAxlkhueHHoWRPUzGU","scheduledDate":"2024-08-02T22:04:00.000Z","expirationDate":"2024-08-09T22:04:00.000Z","clientName":"Example Company","clientAccount":"629236","clientSubAccount":"28","clinicId":"9588","clinicName":"Test Clinic","clinicAddress1":"7500 W 110th Street","clinicAddress2":"","clinicCity":"Omaha","clinicState":"NE","clinicZip":"66210","clinicPhoneNumber":"800-555-0175","clinicFaxNumber":"8005550100","network":"Out of Network","firstName":"Alex","lastName":"Miller","birthDate":"06/21/1985","ssnLast4":"3333","serviceId":"service-ohs-ndotphysical","source":"escreen","rawDataType":"xml","rawDataKey":"escreen-tWSAxlkhueHHoWRPUzGU-ohs-779b7282-11fa-4fc0-826e-9b6d0cac94a2","physicalID":"658070","verificationType":"physical","componentId":"1","componentDescription":"Non-DOT Physical","status":"Complete","result":"Able to work without restrictions/limitations","resultId":"ohs-result-22-acknowleged-1","resultCode":"22","resultDate":"2024-08-07T22:05:00.000Z","resultDueToReason":"","resultExpirationDate":"","resultStatusDescription":"Pass","partialReasons":[],"examDate":"8/7/2024","followUpDate":"","certExpirationDate":"","tbReadDate":"","comments":"Alex Miller is clean","clientAddress1":"7878 Guy St","clientCity":"Omaha","clientContact":"Rosario S.","clientState":"NE","clientZip":"64086","collectionSitePhoneNumber":"800-555-0155","cdlFlag":"0","overallStatusDescription":"Complete","physicalReasonDescription":"Follow Up","additionalInfo":""}' serviceId: service-ohs-ndotphysical serviceName: NDOT Physical serviceTypeId: 30bc2c03-c8dd-409a-8da6-e0070ea6a681 serviceTypeName: Screening statusId: 1a8490cb-084d-4209-bf2f-d46e41d760d6 status: acknowledge statusDisplayName: Clear crStamp: '2024-08-07T22:04:38.000+00:00' modStamp: '2024-08-07T22:05:32.000+00:00' groupProfileId: ab1234c5-ac27-4c96-bb22-06ae7e372fd2 candidateId: 123d5439-18fe-4f14-b7fb-00eca6aa598f detailsObject: dateCompleted: '2024-08-07T22:05:00.000Z' timeToComplete: instant effectiveDate: '2024-08-07T22:05:00.000Z' externalId: tWSAxlkhueHHoWRPUzGU confirmationNumber: AItWSAxlkhueHHoWRPUzGU scheduledDate: '2024-08-02T22:04:00.000Z' expirationDate: '2024-08-09T22:04:00.000Z' clientName: Example Company clientAccount: '629236' clientSubAccount: '28' clinicId: '9588' clinicName: Test Clinic clinicAddress1: 7500 W 110th Street clinicAddress2: '' clinicCity: Omaha clinicState: NE clinicZip: '66210' clinicPhoneNumber: 800-555-0175 clinicFaxNumber: '8005550100' network: Out of Network firstName: Alex lastName: Miller birthDate: 06/21/1985 ssnLast4: '3333' serviceId: service-ohs-ndotphysical source: escreen rawDataType: xml rawDataKey: escreen-tWSAxlkhueHHoWRPUzGU-ohs-779b7282-11fa-4fc0-826e-9b6d0cac94a2 physicalID: '658070' verificationType: physical componentId: '1' componentDescription: Non-DOT Physical status: Complete result: Able to work without restrictions/limitations resultId: ohs-result-22-acknowleged-1 resultCode: '22' resultDate: '2024-08-07T22:05:00.000Z' resultDueToReason: '' resultExpirationDate: '' resultStatusDescription: Pass partialReasons: [] examDate: 8/7/2024 followUpDate: '' certExpirationDate: '' tbReadDate: '' comments: Alex Miller is clean clientAddress1: 7878 Guy St clientCity: Omaha clientContact: Rosario S. clientState: NE clientZip: '64086' collectionSitePhoneNumber: 800-555-0155800-555-0155 cdlFlag: '0' overallStatusDescription: Complete physicalReasonDescription: Follow Up additionalInfo: '' serviceCategory: Occupational Health Screening serviceCategoryId: service-cat-ohs serviceSubCategory: Physical serviceSubCategoryId: service-subcat-physical locked: false '403': description: Forbidden '500': description: Internal Server Error /case/id/{caseId}: parameters: - schema: type: string name: caseId in: path required: true get: tags: - Cases summary: Get case description: Retrieves the details of a case by its ID. The response includes summary-level information with IDs for accessing details using other endpoints. operationId: get-case-id-caseid responses: '200': description: OK content: application/json: schema: type: object required: - cases properties: cases: type: array items: $ref: '#/components/schemas/CaseSummary' examples: {} '403': description: This response indicates an invalid authentication token, valid authorization but insufficient permissions, or that the case ID provided was not found. '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/report/pdf/download/url: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to get a report for. post: tags: - Cases summary: Get custom report download URL description: Returns a URL to download a PDF report for one or more case screenings (in other words, case data). operationId: post-caseid-caseId-report-pdf-download-url requestBody: content: application/json: schema: x-examples: Example 1: caseDataIds: - 7fcb0b74-147b-48e2-84c9-7aefa3d0e0fa excludeCaseDataAttachments: false type: object required: - caseDataIds properties: caseDataIds: type: array description: The list of case screenings to include in the report. Each element of this array is the `caseDataId` associated with an ordered service. It is *not* the `serviceId` itself. This granularity allows you to generate a report with only some instances of an ordered service. For example, you can generate a report with just the most recent attempt at a Drug 10 Panel instead of a previous one that was lost in transit. items: type: string excludeCaseDataAttachments: type: boolean default: false description: Some services might have attachments that are permitted to appear in the PDF report, like search results or supporting documents. By default, these will appear in the report. You can explicitly specify whether to include these attachments, if there are any associated with the `caseDataId`s you've chosen, by providing this flag. If there are no applicable attachments, this flag is ignored. Note that some attachments visible in the dashboard, like eScreen ePassports, have feature flags that control whether or not they will show in the reports, even if you set this flag to `false`. Contact Customer Success if you do not see attachments that you are expecting to see. examples: Example 1: value: caseDataIds: - 7fcb0b74-147b-48e2-84c9-7aefa3d0e0fa excludeCaseDataAttachments: false description: '' responses: '200': description: The URL returned in this response is a self-signed S3 URL with a time to live (TTL) of 60 seconds. You have 60 seconds to begin the download, but once the download begins, it can take as long as needed. As many download attempts as needed can be made during the 60-second period. content: text/html: schema: type: string format: uri example: https://s3.amazonaws.com/stage.private.storage-bin.karmacheck.io/98704f90-2770-4999-ba01-453ef6d0deea-report.pdf?AWSAccessKeyId=REDACTED_AWS_ACCESS_KEY_ID&Expires=1699391676&Signature=sL5Am9sMbvWSd8%2B%2F5CoejqsmeO4%3D&X-Amzn-Trace-Id=Root%3D1-654aa880-4e319ca04da8fe7c3faa6d1e%3BParent%3D3b8e51107e55b256%3BSampled%3D0%3BLineage%3D1dda0c46%3A0&x-amz-security-token=FwoGZXIvYXdzEIb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDML%2B7WMBiIwah8j4aiK7AVB2sHfQ5tkVkU4Okov%2BRz%2BB%2FMSg6XpdmcOmEb5hJAdg%2BEAxL%2Bt33yt3We5CJUf4auHXMr9huYmkLK%2FQtg3QJQS8CAcZKXPSCaAQ7Wn66D8%2Bpl3x5ppxmgzAONgfejqSfKrYgxl0Srr%2BuAHOz53R5ujbAUA9wwgvfXFoWlJZ4YHah%2BgjFFLzbva%2F4a63g5Mw0Nyngb3EoccWRRn4tEWlzavuGjXYffFcZo2jHT7GXr9eeLoK1sZ96c2jn9oo6cqqqgYyLT8yXkspVciOKVnnBS32UCjIS5rlwu7bL2bMJAW2ocIW0ymnVbak0qb1fMnp6w%3D%3D '403': description: Your token does not have access to the `caseId` requested, or you do not have access to individual screening reports. '404': description: The report could not be found in the S3 bucket. '422': description: 'A data issue exists, or the report is not ready. In particular, custom reports require that all `caseDataId`s requested for the report have their services in a completed state. If one or more services are pending, a 422 will be returned.' '500': description: Internal Server Error get: tags: - Cases summary: Get full report download URL description: Returns a URL to download a PDF report for the entire case and available attachments. operationId: get-caseid-caseId-report-pdf-download-url responses: '200': description: The URL returned in this response is a self-signed S3 URL with a time to live (TTL) of 60 seconds. You have 60 seconds to begin the download, but once the download begins, it can take as long as needed. As many download attempts as needed can be made during the 60-second period. content: text/html: schema: type: string format: uri example: https://s3.amazonaws.com/stage.private.storage-bin.karmacheck.io/98704f90-2770-4999-ba01-453ef6d0deea-report.pdf?AWSAccessKeyId=REDACTED_AWS_ACCESS_KEY_ID&Expires=1699391676&Signature=sL5Am9sMbvWSd8%2B%2F5CoejqsmeO4%3D&X-Amzn-Trace-Id=Root%3D1-654aa880-4e319ca04da8fe7c3faa6d1e%3BParent%3D3b8e51107e55b256%3BSampled%3D0%3BLineage%3D1dda0c46%3A0&x-amz-security-token=FwoGZXIvYXdzEIb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDML%2B7WMBiIwah8j4aiK7AVB2sHfQ5tkVkU4Okov%2BRz%2BB%2FMSg6XpdmcOmEb5hJAdg%2BEAxL%2Bt33yt3We5CJUf4auHXMr9huYmkLK%2FQtg3QJQS8CAcZKXPSCaAQ7Wn66D8%2Bpl3x5ppxmgzAONgfejqSfKrYgxl0Srr%2BuAHOz53R5ujbAUA9wwgvfXFoWlJZ4YHah%2BgjFFLzbva%2F4a63g5Mw0Nyngb3EoccWRRn4tEWlzavuGjXYffFcZo2jHT7GXr9eeLoK1sZ96c2jn9oo6cqqqgYyLT8yXkspVciOKVnnBS32UCjIS5rlwu7bL2bMJAW2ocIW0ymnVbak0qb1fMnp6w%3D%3D '403': description: Your token does not have access to the `caseId` requested, or the case is still in a status of pending and you do not have access to reports for cases that are still pending. '404': description: The report could not be found in the S3 bucket. '422': description: A data issue exists, or the report is not ready. '500': description: Internal Server Error /case/id/{caseId}/data/{serviceId}/pdf: parameters: - schema: type: string name: caseId in: path required: true - schema: type: string name: serviceId in: path required: true description: The ID of the legal service. get: tags: - Cases summary: Get legal doc for case data description: Returns inline the PDF document for the legal service requested for a case. Legal checks are the various required authorizations collected from a candidate when they authorize a background check (e-signature, FCRA, and disclosures). operationId: get-case-id-caseId-data-serviceId-pdf responses: '200': description: OK '403': description: Forbidden '404': description: Not Found '422': description: The document is not ready. '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/preadverse/{type}/pdf: parameters: - schema: type: string name: caseId in: path required: true - schema: type: string enum: - notice - report name: type in: path required: true get: tags: - Cases summary: Get pre-adverse action document description: Returns inline the PDF file for the pre-adverse action notice or the case report that was active at the time of the pre-adverse action. operationId: get-case-id-caseId-preadverse-type-pdf responses: '200': description: OK '403': description: Forbidden '404': description: Not Found '422': description: The case is not in an adverse action process. '500': description: Internal Server Error security: - JWT: [] /case/id/{caseId}/services/{serviceType}: parameters: - schema: type: string name: caseId in: path required: true - schema: type: string enum: - screenings - payment - idv - legal - shipment name: serviceType in: path required: true description: The type of services to retrieve in the response. If an undefined value is provided, only screenings are returned. get: tags: - Cases summary: Get services for case description: 'Retrieves a list of services ordered for a case. The list includes services of only one of the following types: - **`idv`:** Identity verification services ordered for the case. - **`legal`:** Legal checks ordered for the case. Legal checks are the various required authorizations collected from a candidate when they authorize a background check (e-signature, FCRA, and disclosures). - **`payment`:** Payment services ordered for the case. - **`screenings`:** Screenings ordered for the case. - **`shipment`:** Shipments ordered for the case.' operationId: get-case-id-caseId-services-serviceType responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceGroupServicesCase' '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /case/id/{caseId}/action/place: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to place. put: tags: - Cases summary: Place case description: Sets the status of a case to Placed in the system. Internally, the API sets the case's status to `Adjudicated` and its result to `Placed`. The secondary status, if any, gets reset. operationId: put-case-id-caseId-action-place parameters: [] responses: '200': description: OK '403': description: Forbidden '404': description: The `caseId` provided was not found. '422': description: The case could not be put into Placed. This is likely because the case is not ready to be placed. '500': description: Internal Server Error /case/id/{caseId}/action/preadverse: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to to begin an adverse action process on. post: tags: - Cases summary: Pre-adverse action for case description: Begins the adverse action process for a case by putting the case into the Pre-Adverse Action status. This also sends a pre-adverse action notice to the candidate by email, which can also be downloaded from both the customer and candidate dashboards. operationId: post-case-id-caseId-action-preadverse requestBody: content: application/json: schema: type: object x-examples: Example 1: reason: The candidate was positive for cocaine in his drug test. adverseScreeningSelections: - service-drug-1200-panel properties: reason: type: string description: An explanation of why the adverse action process is being initiated for the case. adverseScreeningSelections: type: array description: A list of specific `serviceId`s whose results give some basis to begin the adverse action process for the case. items: type: string examples: Example 1: value: reason: The candidate was positive for cocaine in his drug test. adverseScreeningSelections: - service-drug-1200-panel description: The request body is optional, but if provided, note that the values in the `reason` and `adverseScreeningSelections` fields will be visible to the candidate in the pre-adverse action notice. This is to give an indication of the reason and specific screenings for which the action is being taken. responses: '200': description: OK '403': description: This response indicates that you don't have an authentication token, that you have insufficient permissions, or that the `caseId` provided was not found. '404': description: The `caseId` provided was not found. '422': description: This response indicates that the case cannot be put into Pre-Adverse Action. This is likely because the case is not in a complete state (which would require that all screenings have gone into some kind of complete status, whether clear or with records found). '500': description: Internal Server Error /case/unarchive/{caseId}: parameters: - schema: type: string name: caseId in: path required: true description: The ID of the case to unarchive. post: tags: - Cases summary: Unarchive case description: Unarchives a case so that it reappears in the KarmaCheck dashboard. This operation reverses a previous archive operation on the case. operationId: post-case-unarchive-caseId parameters: - schema: type: string name: caseId in: path required: true responses: '200': description: OK '403': description: Unauthorized Request '422': description: Could not unarchive case. '500': description: Server Error security: - JWT: [] /package/id/{packageId}/services: parameters: - schema: type: string name: packageId in: path required: true get: tags: - Packages summary: Get all enabled services for package description: Retrieves a list of all enabled services for a package. operationId: get-package-id-packageId-services responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceGroupServices' '403': description: This response indicates missing authorization, valid authorization but insufficient permissions, or that the package ID provided is not found. '500': description: Internal Server Error security: - JWT: [] /package/min/list: get: tags: - Packages summary: Get package list description: Retrieves a list of enabled packages for the user to order new reports/cases. This list includes the identifier and the name of each package, sorted alphabetically by name. operationId: get-package-min-list responses: '200': description: OK content: application/json: schema: type: object properties: packages: type: array items: type: object properties: id: type: string name: type: string x-examples: example-1: packages: - id: string name: string examples: Example 1: value: packages: - id: e35fece1-1ea5-43fc-b023-231a5d23a08b name: Package A - id: 7d35473c-428f-4271-9832-7e9241c740be name: Package B - id: 6229c081-eaab-433e-8df9-22576b4de002 name: Package C '403': description: Forbidden '500': description: Internal Server Error security: - JWT: [] /package/min/id/{packageId}: parameters: - schema: type: string name: packageId in: path required: true get: tags: - Packages summary: Get package description: Retrieves the identifier and the name of a specific package. operationId: get-package-min-id-packageid responses: '200': description: OK content: application/json: schema: type: object properties: packages: type: array items: type: object properties: id: type: string name: type: string x-examples: example-1: packages: - id: string name: string examples: Example 1: value: packages: - id: 7d35473c-428f-4271-9832-7e9241c740be name: Package B '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error security: - JWT: [] /package/id/{packageId}/services/{serviceType}: parameters: - schema: type: string name: packageId in: path required: true - schema: type: string enum: - idv - legal - payment - screenings name: serviceType in: path description: The type of services to retrieve in the response. If an undefined value is provided, only screenings are returned. required: true get: tags: - Packages summary: Get services for package description: 'Retrieves a list of enabled services for a package. The list includes services of only one of the following types: - **`idv`:** Identity verification services in the package. - **`legal`:** Legal checks in the package. Legal checks are the various required authorizations collected from a candidate when they authorize a background check (e-signature, FCRA, and disclosures). - **`payment`:** Payment services in the package. - **`screenings`:** Screenings in the package.' operationId: get-package-id-packageId-services-serviceType responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ServiceGroupServices' '403': description: This response indicates missing authorization, valid authorization but insufficient permissions, or that the package ID provided is not found. '500': description: Internal Server Error security: - JWT: [] /document/secure/create: parameters: [] post: tags: - Secure documents summary: Create secure document records description: 'Creates secure document records in the KarmaCheck system and associates uploaded documents with an existing case. This is step 3 of 3 when adding documents to KarmaCheck. At this stage, you should have successfully uploaded your documents via the URLs obtained from the [Generate secure document upload URLs](paths/~1document~1secure~1upload/post) API call. The uploaded documents are unavailable for use in KarmaCheck until they are associated with a case in this third step. Document associations are identified by sending access grants. If your token does not have access to associate a document with a specific entity, a 403 Forbidden response will be returned. In addition to associating a document with an existing case, you can call this API to create candidate disclosure and authorization document records before a case is created. When [creating a case](paths/~1case~1create/post), you can send the newly created document IDs to associate these documents with the case and the candidate. Note that this association is allowed only when the document type is a candidate disclosure or authorization.' operationId: post-document-secure-create requestBody: content: application/json: schema: $ref: '#/components/schemas/DocumentCreateRecords' x-examples: Example 1: list: - originalFileName: example_document.jpg documentTypeId: candidate-disclosures-and-authorizations fileKey: 1daa3c43-ea4e-4d66-9330-0cbd197feee6 accessGrants: caseId: 22e88848-17d1-4946-bbac-18d44f381ca7 examples: Candidate disclosure document: value: list: - originalFileName: example_document.jpg documentTypeId: candidate-disclosures-and-authorizations fileKey: 1daa3c43-ea4e-4d66-9330-0cbd197feee6 accessGrants: caseId: 22e88848-17d1-4946-bbac-18d44f381ca7 description: '' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/DocumentRecords' x-examples: Example 1: list: - secureDocumentId: 7225e58b-55a3-49ad-af82-2b3ab9595741 examples: Example 1: value: list: - secureDocumentId: f6723gd8-ee70-4db3-b238-6bb27abf66c0 '400': description: Bad Request '403': description: Forbidden '413': description: Request Entity Too Large '500': description: Internal Server Error /document/secure/upload: post: tags: - Secure documents summary: Generate secure document upload URLs description: 'Generates short-lived URLs that can be used to upload one or more secure documents to the KarmaCheck system. This API call is step 1 of 3 when adding a document to the system and linking it to a case. The returned URLs expire after 1 hour. If an attempt to use an expired URL occurs, the server responds with a 403 HTTP status code.' operationId: post-document-secure-upload requestBody: content: application/json: schema: $ref: '#/components/schemas/DocumentFiles' examples: Example 1: value: files: - documentTypeId: candidate-disclosures-and-authorizations mimeType: application/pdf description: '' responses: '200': description: OK content: application/json: schema: type: object required: - list properties: list: type: array items: type: object required: - url - fileKey properties: url: type: string format: uri description: The URL to upload the document to. This expires after 1 hour. fileKey: type: string description: The identifier used to reference the file in KarmaCheck's storage system. This must be included in the [Create secure document records](karma-api-openapi.yaml/paths/~1document~1secure~1create/post) call. examples: Example 1: value: list: - url: https://s3.amazonaws.com/dev.private.storage-bin.karmacheck.io/b92fef93-437f-4a05-adb7-182357b8a1f0?AWSAccessKeyId=REDACTED_AWS_ACCESS_KEY_ID&Content-Type=image%2Fjpeg&Expires=1710031824&Signature=x0e6I7GZFOJLUe%2FTkRmDjoNmNvc%3D&X-Amzn-Trace-Id=Root%3D1-65ecf5c0-4c1e58d24ba6707d02d69e20%3BParent%3D3898fdce19660298%3BSampled%3D0%3BLineage%3De3b20767%3A0&x-amz-security-token=FwoGZXIvYXdzEBEaDLO5SgCTmUgIMZ7bNyK5AUBiY%2B5i0%2B8%2Fcg8Y0XFmpfLWBqhmstkdrK3uF79EMlgDjWpX%2FqgRisuvbPzFFOZ9K1dgSorlUAPgTYIXKGdadO3ZsdsVTaL4kAZDX5qQNa%2FnP%2BFB9SVgqa6F4%2FIaBzA1aDiqs7w%2Ft7tGounuPV42O86V6ig3cuBHcx9%2BUOcd9mbJ2GGytKjDrZ7PBfIJimKy0tMFaFaTSCVIPcMVyqUe1%2BGFTHtc8686WQFpIW34Ff06SzPZmfQTVRcFKKXrs68GMi2QMcUwY0v194kGFN3WaGw1sqIqab3xJLwKXQGR4GbQUwiQHMK6Ws7cg4Hesx4%3D fileKey: b92fef93-437f-4a05-adb7-182357b8a1f0 '400': description: 'Bad Request - An invalid or unsupported document type was provided. - An invalid or unsupported MIME type was provided.' '403': description: Forbidden '500': description: Internal Server Error /document/secure/id/{secureDocumentId}/download/url: parameters: - schema: type: string name: secureDocumentId in: path required: true description: The ID of the document to download. get: tags: - Secure documents summary: Get secure document download URL description: Gets a URL from KarmaCheck, which can then be used to download a secure document. The URL will be valid for only 60 minutes, but once the download begins, the download can take as long as needed. The URL can also be reused as many times as needed during the 60-minute validity period. operationId: get-document-secure-id-secureDocumentId-download-url responses: '200': description: OK content: text/html: schema: type: string examples: Example 1: value: https://s3.amazonaws.com/stage.private.storage-bin.karmacheck.io/escreen-gkfQxkAStpb7VxOw9gsT-doc-ohs-occupational-health.pdf?AWSAccessKeyId=REDACTED_AWS_ACCESS_KEY_ID&Expires=1698176316&Signature=JEiJoN04lEsSTk212%2BQeXN7On%2B8%3D&X-Amzn-Trace-Id=Root%3D1-65380f2c-2e8f8372612dc45d463cf244%3BParent%3D51f9b6490fd41e98%3BSampled%3D0%3BLineage%3De3b20767%3A0&x-amz-security-token=FwoGZXIvYXdzEDQaDIDz3VR%2FxjmXT%2Fw2PSK7Acn2jWag5OEjzrRGT37r%2FZWKUfgFrYIceTA401Psv1sTisbuYMbSkdpQWEhM2%2B65%2BZMvO3tuZN9waO7XfCsXK5LpyV79VJobVTs89tjEasjV6WZdiI%2FoHf0qs%2BKPbZeBtvUlvI6xGOrj6KOFKxxF%2BZyxHb8FxUS6CnRf50oiCmyrR4rOMKqFFzUdfC3yS5eVIp2T6sAEl1FZcfsOUKG4eRZ%2BAvSG0It3xXo89ChDIXvXY4AE5ETiBX3yucMorJ7gqQYyLeH7XjvfVyel85XfJsdOrBsimh3CwpZ4ARtPih7y%2F71XLerGQpOhCZhyf1g5Pg%3D%3D '400': description: Bad Request '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /document/secure/list/case/id/{caseId}: parameters: - schema: type: string name: caseId in: path required: true get: tags: - Secure documents summary: Get secure document list description: Returns a list of the secure documents associated with a case. operationId: get-document-secure-list-case-id-caseId parameters: [] responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/DocumentList' examples: Example 1: value: - id: 9038ed0b-e4ec-48d2-8b02-6b83cfc91c71 documentTypeId: ohs-participant-passport title: null description: null fileName: escreen-8W53CrkbECCh5rGvOUN7-doc-ohs-participant-passport.pdf fileKey: escreen-8W53CrkbECCh5rGvOUN7-doc-ohs-participant-passport.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: ce1a7040-ed8a-4757-8cab-b8dba2c8c618 documentTypeId: ohs-occupational-health title: null description: null fileName: escreen-Zpqpiv2WuZ8rfZHSyvAx-doc-ohs-occupational-health.pdf fileKey: escreen-Zpqpiv2WuZ8rfZHSyvAx-doc-ohs-occupational-health.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: 0d19059e-af73-499d-9c33-9373b3375bce documentTypeId: ohs-occupational-health title: null description: null fileName: escreen-8W53CrkbECCh5rGvOUN7-doc-ohs-occupational-health.pdf fileKey: escreen-8W53CrkbECCh5rGvOUN7-doc-ohs-occupational-health.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: aa211c20-c189-464e-9158-2cffa45ccffb documentTypeId: ohs-participant-passport title: null description: null fileName: escreen-Zpqpiv2WuZ8rfZHSyvAx-doc-ohs-participant-passport.pdf fileKey: escreen-Zpqpiv2WuZ8rfZHSyvAx-doc-ohs-participant-passport.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: cb00f796-a5eb-4359-904c-c6398bbadfa8 documentTypeId: ohs-result-certificate title: null description: null fileName: escreen-8W53CrkbECCh5rGvOUN7-doc-ohs-result-certificate.pdf fileKey: escreen-8W53CrkbECCh5rGvOUN7-doc-ohs-result-certificate.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: a6615dbd-f144-49a8-b240-454f27744002 documentTypeId: ohs-occupational-health title: null description: null fileName: escreen-61DuAAjaoT1fhSZczTGC-doc-ohs-occupational-health.pdf fileKey: escreen-61DuAAjaoT1fhSZczTGC-doc-ohs-occupational-health.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: 2165c1db-354f-493b-9e0a-b4f815f3671a documentTypeId: ohs-result-certificate title: null description: null fileName: escreen-61DuAAjaoT1fhSZczTGC-doc-ohs-result-certificate.pdf fileKey: escreen-61DuAAjaoT1fhSZczTGC-doc-ohs-result-certificate.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: 0a869770-6a6b-4a83-b5b7-577d7809836f documentTypeId: ohs-participant-passport title: null description: null fileName: escreen-gkfQxkAStpb7VxOw9gsT-doc-ohs-participant-passport.pdf fileKey: escreen-gkfQxkAStpb7VxOw9gsT-doc-ohs-participant-passport.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: c0cf61e7-71ed-4985-9902-bb3742084074 documentTypeId: ohs-result-certificate title: null description: null fileName: escreen-Zpqpiv2WuZ8rfZHSyvAx-doc-ohs-result-certificate.pdf fileKey: escreen-Zpqpiv2WuZ8rfZHSyvAx-doc-ohs-result-certificate.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: 4bd3ec33-6411-46e0-aba9-e1286f4b3d07 documentTypeId: ohs-occupational-health title: null description: null fileName: escreen-gkfQxkAStpb7VxOw9gsT-doc-ohs-occupational-health.pdf fileKey: escreen-gkfQxkAStpb7VxOw9gsT-doc-ohs-occupational-health.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: b73f8dce-dd3f-4ec5-aed0-f3dbd429161e documentTypeId: ohs-result-certificate title: null description: null fileName: escreen-gkfQxkAStpb7VxOw9gsT-doc-ohs-result-certificate.pdf fileKey: escreen-gkfQxkAStpb7VxOw9gsT-doc-ohs-result-certificate.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 - id: 5eea79cc-08b4-45f0-8337-f9f25da019d7 documentTypeId: ohs-participant-passport title: null description: null fileName: escreen-61DuAAjaoT1fhSZczTGC-doc-ohs-participant-passport.pdf fileKey: escreen-61DuAAjaoT1fhSZczTGC-doc-ohs-participant-passport.pdf fileFormat: pdf crUserId: d7b55ff8-704c-4d8d-854e-d3c11ce0b420 displayReport: 0 '403': description: Forbidden '500': description: Internal Server Error security: - JWT: [] /document/secure/mimetypes: get: tags: - Secure documents summary: Get secure document MIME types description: Gets acceptable MIME types for secure documents. operationId: get-document-secure-mimetypes responses: '200': description: OK content: application/json: schema: type: object required: - list properties: list: type: array description: A list of MIME types that can be uploaded to KarmaCheck as secure documents. items: type: string examples: Example 1: value: list: - application/epub+zip - application/msword - application/pdf - application/rtf - application/vnd.apple.keynote - application/vnd.apple.numbers - application/vnd.apple.pages - application/vnd.lotus-wordpro - application/vnd.ms-excel - application/vnd.ms-excel.addin.macroenabled.12 - application/vnd.ms-excel.sheet.binary.macroenabled.12 - application/vnd.ms-excel.sheet.macroenabled.12 - application/vnd.ms-excel.template.macroenabled.12 - application/vnd.ms-powerpoint - application/vnd.ms-powerpoint.addin.macroenabled.12 - application/vnd.ms-powerpoint.presentation.macroenabled.12 - application/vnd.ms-powerpoint.slideshow.macroenabled.12 - application/vnd.ms-powerpoint.template.macroenabled.12 - application/vnd.ms-word.document.macroenabled.12 - application/vnd.ms-word.template.macroenabled.12 - application/vnd.oasis.opendocument.presentation - application/vnd.oasis.opendocument.spreadsheet - application/vnd.oasis.opendocument.text - application/vnd.openofficeorg.extension - application/vnd.openxmlformats-officedocument.presentationml.presentation - application/vnd.openxmlformats-officedocument.presentationml.slideshow - application/vnd.openxmlformats-officedocument.presentationml.template - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - application/vnd.openxmlformats-officedocument.wordprocessingml.document - application/vnd.openxmlformats-officedocument.wordprocessingml.template - application/vnd.pagemaker - application/vnd.quark.quarkxpress - application/vnd.rn-realmedia - application/vnd.visio - application/vnd.wordperfect - application/x-7z-compressed - application/x-mswrite - application/x-rar-compressed - application/xhtml+xml - application/zip - image/avif - image/bmp - image/cgm - image/g3fax - image/gif - image/heic - image/heif - image/hej2k - image/ief - image/jp2 - image/jpeg - image/jpeg2000 - image/jpm - image/jpx - image/ktx - image/ktx2 - image/pjpeg - image/png - image/svg+xml - image/tiff - image/vnd.adobe.photoshop - image/vnd.djvu - image/vnd.dwg - image/vnd.dxf - image/vnd.microsoft.icon - image/vnd.wap.wbmp - image/vnd.xiff - image/webp - image/x-cmu-raster - image/x-cmx - image/x-icon - image/x-portable-anymap - image/x-portable-bitmap - image/x-portable-graymap - image/x-portable-pixmap - image/x-rgb - image/x-tga - image/x-xbitmap - image/x-xpixmap - image/x-xwindowdump - image/xbm - text/csv - text/html - text/plain '403': description: Forbidden '500': description: Internal Server Error /document/secure/type/list: get: tags: - Secure documents summary: Get secure document type list description: Returns a list of objects representing all secure document types in KarmaCheck. Among other uses, it enables population of the supported document types in a list that users can select from and associate with the document that they are uploading. operationId: get-document-secure-type-list parameters: [] responses: '200': description: Secure document types are listed in alphanumeric order by ID. content: application/json: schema: $ref: '#/components/schemas/DocumentType' x-examples: Example 1: - id: 06813017-94ef-4250-9083-375935ce9dc8 secureDocumentType: tin-check-result displayName: TIN Check Results displayInDashboard: 0 examples: Example 1: value: - id: 06813017-94ef-4250-9083-375935ce9dc8 secureDocumentType: tin-check-result displayName: TIN Check Results '403': description: Forbidden '500': description: Internal Server Error /service/cplc/list/all: get: tags: - Services summary: Get all CPLCs description: Retrieves the list of all professional licenses and certifications, including ones that are disabled for verification. operationId: get-service-cplc-list-filter parameters: [] responses: '200': description: OK content: application/json: schema: type: object required: - cplcList properties: cplcList: type: array items: $ref: '#/components/schemas/CPLC' examples: Example 1: value: cplcList: - id: f269f4d6-6ed7-4d1b-8ed5-230ccc88f41b name: BLS Certification category: Healthcare enabled: true crStamp: '2021-08-06T06:13:14.000Z' modStamp: '2021-08-06T06:13:14.000Z' - id: fabeb100-5417-400b-81b6-d2e7402d019c name: CST category: Healthcare enabled: true crStamp: '2021-08-05T21:38:17.000Z' modStamp: '2021-08-05T21:38:17.000Z' '403': description: Forbidden '500': description: Internal Server Error /service/cplc/id/{cplcId}: parameters: - schema: type: string name: cplcId in: path required: true description: The [unique identifier](docs/reference/cplc.md) of a professional license or certification. get: tags: - Services summary: Get CPLC full definition description: Returns an object describing a specific professional license or certification. operationId: get-service-cplc-id-cplcId responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CPLCDefinition' x-examples: Example 1: id: 041c0aa6-2d64-48d0-b672-83bfcd10d47f name: CFP category: Finance enabled: true crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T18:01:34.000Z' fields: - id: 413b926c-57f0-401a-9d9f-1af89f70607a fieldId: lastName cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Last Name as on License required: true displayLabel: Last Name as on License crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T18:01:34.000Z' ordinal: 6 - id: 54cfa3aa-dd76-4627-8fa9-dcbea5fc5c37 fieldId: middleInitial cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Middle Initial as on License required: false displayLabel: Middle Initial as on License crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T18:01:34.000Z' ordinal: 5 - id: 74bfafba-972e-4a61-a308-7252eadd2e79 fieldId: licenseNumber cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: 'License/Cert # or ID' required: true displayLabel: 'License/Cert # or ID' crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T20:40:41.000Z' ordinal: 2 - id: 7ea4e04d-a6e4-49d2-8c14-d08834279766 fieldId: firstName cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: First Name as on License required: true displayLabel: First Name as on License crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T18:01:34.000Z' ordinal: 4 - id: ce1bc678-a5fa-47a9-bae8-b6310268e058 fieldId: state cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: State Where Issued required: false displayLabel: State Where Issued crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-12T18:22:49.000Z' ordinal: 1 - id: cf71fbad-8025-498c-82fd-c0fd54fb5aea fieldId: additionalInfo cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Other Info Provided required: false displayLabel: Other Info Provided crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-10T06:06:30.000Z' ordinal: 9 - id: e1460773-fac4-4df7-8ad5-994f2a54064e fieldId: issueDate cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Issued/Completed Date required: false displayLabel: Issued/Completed Date crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T18:01:34.000Z' ordinal: 7 - id: e943f10d-1c2c-4f82-b1ea-1978b2f09063 fieldId: expirationDate cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Expiration/Renewal Date required: false displayLabel: Expiration/Renewal Date crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T18:01:34.000Z' ordinal: 8 - id: f1969299-906a-4942-8dac-d8cf1dc94290 fieldId: certifyingBody cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Certifying Body required: true displayLabel: Certifying Body crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T20:40:42.000Z' ordinal: 0 examples: {} '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error /service/cplc/case/id/{caseId}: parameters: - schema: type: string format: uuid name: caseId in: path required: true description: The ID of the case for which to retrieve CPLC definitions. get: tags: - Services summary: Get CPLC full definitions for case description: Retrieves a list of definitions for all the professional licenses and certifications that were provided to a case as testimony. This is used when rendering Professional License and Certification testimony by associating the testimony data with the definition. operationId: get-service-cplc-case-id-caseId responses: '200': description: OK content: application/json: schema: type: object x-examples: example-1: cplcDefinitionsList: - id: string name: string category: string enabled: boolean cr_stamp: Date mod_stamp: Date fields: - id: string cplcId: string fieldId: string label: string displayLabel: string required: boolean Cr_stamp: Date mod_stamp: Date required: - cplcDefinitionsList properties: cplcDefinitionsList: type: array items: $ref: '#/components/schemas/CPLCDefinition' '403': description: Forbidden '500': description: Internal Server Error /service/cplc/list: get: tags: - Services summary: Get CPLCs description: Retrieves the list of supported professional licenses and certifications that are enabled for verification. operationId: get-service-cplc-list parameters: [] responses: '200': description: OK content: application/json: schema: type: object required: - cplcList properties: cplcList: type: array items: $ref: '#/components/schemas/CPLC' examples: Example 1: value: cplcList: - id: f269f4d6-6ed7-4d1b-8ed5-230ccc88f41b name: BLS Certification category: Healthcare enabled: true crStamp: '2021-08-06T06:13:14.000Z' modStamp: '2021-08-06T06:13:14.000Z' - id: fabeb100-5417-400b-81b6-d2e7402d019c name: CST category: Healthcare enabled: true crStamp: '2021-08-05T21:38:17.000Z' modStamp: '2021-08-05T21:38:17.000Z' '403': description: Forbidden '500': description: Internal Server Error /shipment/mask/list: get: tags: - Services summary: Get mask list description: Retrieves a list of masks for the user to order new shipment. operationId: get-shipment-mask-list responses: '200': description: OK content: application/json: schema: type: object properties: list: type: array items: type: object properties: inStock: type: boolean description: True if the mask is available for shipment; false otherwise. name: type: string description: The mask name that's displayed to dashboard users. sku: type: string description: The unique identifier of the mask. examples: Success Example: value: list: - inStock: false name: 3M 1860 and 1860S sku: 3M 1860 and 1860S - inStock: true name: 3M 1870+ sku: 3M 1870+ - inStock: true name: 3M 8210 sku: 3M 8210 - inStock: false name: 3M 9205+ sku: 3M 9205+ - inStock: true name: BYD N95 (TC 84A-9221) sku: BYD N95 (TC 84A-9221) - inStock: true name: Halyard FLUIDSHIELD* (Small & Regular) sku: Halyard FLUIDSHIELD* - inStock: true name: Honeywell DC365 N95 sku: Honeywell DC365 N95 - inStock: true name: Honeywell DF300 N95 sku: Honeywell DF300 N95 - inStock: true name: Makrite 9500 N95 (NIOSH 84A-5411) sku: Makrite 9500 N95 (NIOSH 84A-5411) - inStock: true name: Prestige Ameritech ProGear sku: Prestige Ameritech ProGear '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error security: - JWT: [] /company/user/list: parameters: - schema: type: string in: query name: groupProfileId get: tags: - Users summary: Get users by group profile description: 'Gets the users for every group within the company that the authenticated user belongs to. If the `groupProfileId` query parameter is included, the endpoint retrieves users associated with only the specified group.' operationId: get-company-user-list parameters: - schema: type: string in: query name: groupProfileId responses: '200': description: OK content: application/json: schema: type: object required: - users properties: users: description: A list of users associated with the user's groups or specified group. oneOf: - items: $ref: '#/components/schemas/UserGetUserByGroup' - items: $ref: '#/components/schemas/UserGetUserByGroupInternal' type: array examples: Example 1: value: users: - id: f7bdbab9-fb9f-4c24-928d-91700030e5bc givenName: John familyName: Doe enabled: 0 - id: f7bdbab9-fb9f-4c24-928d-91700030e5ab givenName: Jane familyName: Doe enabled: 1 '400': description: Bad Request '403': description: Forbidden '422': description: The user has access to the specified group, but the group profile ID is not associated with the user's company ID. '500': description: Internal Server Error security: - JWT: [] /vbook/search: post: tags: - Verification Book summary: Search Verification Book description: 'Search for Verification Book entries. Results will be returned by matching against the name and aliases of book items. ' operationId: post-vbook-search requestBody: content: application/json: schema: type: object required: - searchDetails properties: searchDetails: $ref: '#/components/schemas/SearchDetails' description: Details to perform the search with. listMetadata: $ref: '#/components/schemas/ListMetadata' description: Data for how you want the results returned. Not providing this results in page = 0 and pageSize = 10. responses: '200': description: OK content: application/json: schema: type: object properties: listMetadata: type: object properties: page: type: number description: The provided page number. pageSize: type: number description: The provided page size. totalPages: type: number description: The total number of pages based on the number of results and the page size provided. results: type: array items: $ref: '#/components/schemas/PublicVerificationBookItem' '400': description: Bad Request '403': description: Forbidden '404': description: Not Found '500': description: Internal Server Error components: schemas: Authentication: title: Authentication type: object examples: - id: 7a9af724-a459-49e5-af08-91fc50373818 username: f08f1be0-9059-467e-a59e-b3721f434375@api.example.com token: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJmMDhmMWJlMC05MDU5LTQ2N2UtYTU5ZS1iMzcyMWY0MzQzNzVAYXBpLmthcm1hY2hlY2suY29tIiwianRpIjoiN2E5YWY3MjQtYTQ1OS00OWU1LWFmMDgtOTFmYzUwMzczODE4IiwiZ3JvdXBQcm9maWxlSWQiOiI1NTM4MmJmNC02Nzc0LTQ3OGItYmYzMC1kZDI0NWJmZWIwM2MiLCJjb21wYW55SWQiOiJkZGNkY2MzMC1lYTVhLTRiZTktODExOS03OTljZTQzZDk1MWQiLCJncm91cE5hbWUiOiJLYXJtYUNoZWNrIiwiY29tcGFueU5hbWUiOiJLYXJtYUNoZWNrIiwiaXNJbnRlcm5hbCI6MSwiaXNBZG1pbiI6MSwiaWF0IjoxNzAzOTgzNTcyfQ.TvaSgnm0W4XWqYSY1rep4cjPMN2DEDOMIjpKOQMq0zc groupProfileId: pe0286f4-ac27-4e36-bfb20-06ae7e392fd2 required: - id - username - token - groupProfileId properties: id: type: string description: The unique identifier of the client. This is the same as the JWT ID (`jti` property) of the token. username: type: string description: The KarmaCheck username of the client. When this endpoint is first called for a particular combination of an `apiKey` and a `clientAccessToken`, a client user is created in the KarmaCheck system whose permissions are scoped to the corresponding group. A randomized `username` with `api` in the name is generated to make it clear that actions were taken by an API client instead of a user of the enterprise dashboard. token: type: string description: A [JSON Web Token](https://jwt.io/) (JWT) that can be used to perform actions like ordering checks and getting results for a group of a company. Does not expire, but can be revoked upon request or at KarmaCheck's discretion. groupProfileId: type: string description: The ID of the group of the company that the `token` can access. LegalAcknowledgmentDisclosure: title: LegalAcknowledgmentDisclosure type: object properties: sendReport: type: boolean description: If true, a report notification will be emailed to the candidate when the report is finished. default: false signature: type: string description: The name entered into the signature input field on the legal step during candidate onboarding. This value might not be exactly the same as the name that the case was ordered under. LegalAcknowledgmentSignature: title: LegalAcknowledgmentSignature type: object required: - signatureType - signature properties: signatureType: type: string enum: - electronic - manual signature: type: string description: For candidates who onboarded using KarmaCheck's onboarding experience, the value that the candidate entered into the signature input field on the legal step. This might not be exactly the same as the name that the case was ordered under. LegalAcknowledgmentDisclosures: title: LegalAcknowledgmentDisclosures type: object required: - sendReport - list properties: sendReport: type: boolean description: If true, a report notification will be emailed to the candidate when the report is finished. list: type: array items: type: object required: - legalType properties: legalType: $ref: '#/components/schemas/LegalType' description: The type of legal disclosure. This is the value returned after calling [Request location-specific disclosures](karma-api-openapi.yaml/paths/~1case~1id~1{caseId}~1{disclosureType}~1{language}/post). signature: type: string description: The value that the candidate entered into the signature input field on the legal step. Required if `legalType` is `general-*` or `custom-*`; not required for other types of legal disclosures. LegalType: title: LegalType type: string enum: - general-all-disclosure - general-ca-disclosure - state-city-all-disclosure - custom-ab-disclosure-1 - custom-ab-ca-disclosure-1 - custom-ab-disclosure-2 - custom-ab-ca-disclosure-2 - custom-dynamic-all-disclosure - custom-dynamic-ca-disclosure description: The type of legal disclosure. Testimony: title: Testimony type: object required: - testimonyTypeId properties: testimonyTypeId: $ref: '#/components/schemas/TestimonyType' type: string testimonySubType: type: string description: Only required for Professional License and Certification testimony, for which you must provide the `cplcId` as the `testimonySubType`. For education testimony, this field must be provided as `no-testimony-to-verify` if the candidate has no education testimony to verify; this provides a form of candidate affirmation that they have no education history to verify. Simply leaving off any testimony records in such a scenario will require KarmaCheck Customer Success intervention and cause processing delays. description: type: string description: A free-form description of the testimony. If not provided, one will be automatically generated based on the type and details of the testimony. details: description: Shape of payload must correspond to the `testimonyTypeId`. oneOf: - $ref: '#/components/schemas/TestimonyEducationCreate' - $ref: '#/components/schemas/TestimonyEmploymentCreate' - $ref: '#/components/schemas/TestimonyDriversLicense' - $ref: '#/components/schemas/TestimonyParentalConsent' - $ref: '#/components/schemas/TestimonyAddress' - $ref: '#/components/schemas/TestimonyCustomProfessionalLicense' type: object TestimonyType: title: TestimonyType type: string enum: - 19edb27e-5bfd-4c0f-888a-a5130b2f5250 - aa99dc08-0238-4050-9176-bf322e077f71 - 3d83f3a0-fb6c-4c5a-a4dc-4dbf6a663870 - 994bb728-f06d-4e4d-b689-f180adfb6ca5 - 4143f0d4-4e3d-4ff7-b40a-9a26b569cf32 - testimony-type-cplc description: 'The ID of the type of candidate data provided as testimony. - Education: `19edb27e-5bfd-4c0f-888a-a5130b2f5250` - Employment: `aa99dc08-0238-4050-9176-bf322e077f71` - Driver''s License: `3d83f3a0-fb6c-4c5a-a4dc-4dbf6a663870` - Parental Consent: `994bb728-f06d-4e4d-b689-f180adfb6ca5` - Address: `4143f0d4-4e3d-4ff7-b40a-9a26b569cf32` - Professional License and Certification: `testimony-type-cplc`' TestimonyEducationCreate: title: TestimonyEducation type: object description: The testimony details when `testimonyTypeId` is `19edb27e-5bfd-4c0f-888a-a5130b2f5250`. **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. 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. example: NY country: type: string description: The ISO 3166 (2 or 3 letter) code. Recommended to be included in *all* requests. example: US nameIfDifferent: type: string description: The candidate's name that's on record with the institution. educationType: example: College/University 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 current: type: boolean default: false description: If true, the candidate is currently enrolled at the institution. If false, the candidate is not currently enrolled. (Required true if `monthEnd` and `yearEnd` are not provided) degree: type: string description: The educational degree. major: type: string description: The candidate's field of study. gpa: type: string description: The candidate's grade point average (GPA). 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. monthEnd: type: string description: The month in which the candidate completed their education. Not applicable if `current` is true. (Required if `current` is false or not provided) yearEnd: type: string description: The year in which the candidate completed their education. Not applicable if `current` is true. (Required if `current` is false or not provided) comments: type: string contact: $ref: '#/components/schemas/TestimonyContact' description: The institution's contact information. TestimonyEmploymentCreate: title: TestimonyEmployment type: object description: The testimony details when `testimonyTypeId` is `aa99dc08-0238-4050-9176-bf322e077f71`. **Note:** Multiple properties are currently optional, but are strongly recommended to be included in requests. required: - employer - city - state - country - current - position - monthBegin - yearBegin - 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. 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 ISO 3166 (2 or 3 letter) code. Recommended to be included in *all* requests. nameIfDifferent: type: string description: The candidate's name that's on record with the employer. 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 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. position: type: string description: The candidate's position with the employer. incomeAmount: type: string description: The amount earned. Recommended to be included for Employment Income Verification. incomeCurrency: type: string description: The currency of the income earned. This is applicable to Employment Income Verification. incomeFrequency: type: string description: The frequency of the amount earned. Recommended to be included for Employment Income Verification. monthBegin: type: string description: The month in which the candidate began their employment. yearBegin: type: string description: The year in which the candidate began their employment. monthEnd: type: string description: The month in which the candidate ended their employment. Not applicable if `current` is true. (Required if `current` is false or not provided) yearEnd: type: string description: The year in which the candidate ended their employment. Not applicable if `current` is true. (Required if `current` is false or not provided) additionalInfo: type: string contact: $ref: '#/components/schemas/TestimonyContact' description: The employer's contact information. staffingAgency: type: string description: The Staffing Agency that the candidate is working for the employer through.(If applicable) maxLength: 100 TestimonyDriversLicense: title: TestimonyDriversLicense type: object required: - id - state - licenseNumber properties: id: type: string format: uuid description: The unique identifier of the testimony record. readOnly: true country: type: string state: type: string licenseNumber: type: string description: Must be a valid [state driver's license format](https://ntsi.com/drivers-license-format/). firstNameIfDifferent: type: string middleInitialIfDifferent: type: string lastNameIfDifferent: type: string source: type: string readOnly: true TestimonyParentalConsent: title: TestimonyParentalConsent type: object required: - id - parentGivenName - parentFamilyName - parentEmail properties: id: type: string format: uuid description: The unique identifier of the testimony record. readOnly: true parentGivenName: type: string parentFamilyName: type: string parentEmail: type: string TestimonyAddress: title: TestimonyAddress type: object required: - id - city - state - country - address - postalCode - current properties: id: type: string format: uuid description: The unique identifier of the testimony record. readOnly: true city: type: string maxLength: 30 state: type: string description: For US, use 2-letter abbreviation country: type: string description: ISO 3166 (2 or 3 letter) code address: type: string maxLength: 60 address2: type: string postalCode: type: string current: type: boolean source: type: string example: certn readOnly: true TestimonyCustomProfessionalLicense: title: TestimonyCustomProfessionalLicense type: object required: - id - caseDataIds - cplcId - cplcName - fields properties: id: type: string format: uuid description: The unique identifier of the testimony record. readOnly: true caseDataIds: type: array items: type: string readOnly: true cplcId: type: string cplcName: type: string readOnly: true fields: type: array items: type: object required: - fieldId - value properties: fieldId: type: string value: type: string TestimonyContact: title: TestimonyContact type: object properties: phone: type: string email: type: string website: type: string InvitationStatusID: title: InvitationStatusID type: string enum: - 3f5e6898-6641-4685-8ee0-1363b7e10c98 - b5af27f7-8a03-4820-b2bd-82587dcacf5b - d1962405-dd97-48f2-bede-530c2895481f - 0f6acacc-71c4-43ec-80fa-941ff71c0c16 description: 'The status ID of a case invitation. See [Invitation status](docs/reference/invitation-status.md) for more details about each possible status. - pending: 3f5e6898-6641-4685-8ee0-1363b7e10c98 - expired: b5af27f7-8a03-4820-b2bd-82587dcacf5b - completed: d1962405-dd97-48f2-bede-530c2895481f - cancelled: 0f6acacc-71c4-43ec-80fa-941ff71c0c16 ' TestimonyEducation: title: TestimonyEducation type: object required: - id - institution - city - state - country - current - monthEnd - yearEnd properties: id: type: string format: uuid description: The unique identifier of the testimony record. readOnly: true institution: type: string description: The name of the institution where the candidate received their education. city: type: string description: The city in which the institution is located. state: type: string description: The two-letter state code. example: NY country: type: string description: The ISO 3166 (2 or 3 letter) code. example: US nameIfDifferent: type: string description: The candidate's name that's on record with the institution. educationType: example: College/University 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 current: type: boolean default: false description: True if the candidate is currently enrolled at the institution; false otherwise. (Required true if `monthEnd` and `yearEnd` are not provided) degree: type: string description: The educational degree. major: type: string description: The candidate's field of study. gpa: type: string description: The candidate's grade point average (GPA). 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. monthEnd: type: string description: The month in which the candidate completed their education. Not applicable if `current` is true. (Required if `current` is false or not provided) yearEnd: type: string description: The year in which the candidate completed their education. Not applicable if `current` is true. (Required if `current` is false or not provided) comments: type: string contact: $ref: '#/components/schemas/TestimonyContact' description: The institution's contact information. TestimonyEmployment: title: TestimonyEmployment type: object required: - id - employer - city - state - country - current - position - monthBegin - yearBegin - monthEnd - yearEnd properties: id: type: string format: uuid description: The unique identifier of the testimony record. readOnly: true employer: type: string description: The name of the candidate's current or former employer. Must be less than or equal to 100 characters. city: type: string description: The city of employment. state: type: string description: The two-letter state code. country: type: string description: The ISO 3166 (2 or 3 letter) code. nameIfDifferent: type: string description: The candidate's name that's on record with the employer. current: type: boolean default: false description: True if the candidate is currently employed with the employer; false otherwise. (Required true if `monthEnd` and `yearEnd` are not provided) okToContact: type: boolean description: True if the employer can be contacted about the candidate; false otherwise. position: type: string description: The candidate's position with the employer. incomeAmount: type: string description: The amount earned. This is applicable to Employment Income Verification. incomeCurrency: type: string description: The currency of the income 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. monthBegin: type: string description: The month in which the candidate began their employment. yearBegin: type: string description: The year in which the candidate began their employment. monthEnd: type: string description: The month in which the candidate ended their employment. Not applicable if `current` is true. (Required if `current` is false or not provided) yearEnd: type: string description: The year in which the candidate ended their employment. Not applicable if `current` is true. (Required if `current` is false or not provided) additionalInfo: type: string contact: $ref: '#/components/schemas/TestimonyContact' description: The employer's contact information. staffingAgency: type: string description: The Staffing Agency that the candidate is working for the employer through. (If applicable) maxLength: 100 CaseOrderData: title: CaseOrderData type: object 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. 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: '#/components/schemas/CaseOrderDataGovtID' type: object - $ref: '#/components/schemas/CaseOrderDataDOB' type: object - $ref: '#/components/schemas/CaseOrderDataCandidateAddress' type: object - $ref: '#/components/schemas/CaseOrderDataOHSAddress' type: object - $ref: '#/components/schemas/CaseOrderDataEducation' type: object - $ref: '#/components/schemas/CaseOrderDataEmployment' type: object - $ref: '#/components/schemas/CaseOrderDataMVR' type: object - $ref: '#/components/schemas/CaseOrderDataAlias' type: object - $ref: '#/components/schemas/CaseOrderDataJurisdiction' type: object - $ref: '#/components/schemas/CaseOrderDataJurisdictionCounty' type: object - $ref: '#/components/schemas/CaseOrderDataJurisdictionFederal' type: object - $ref: '#/components/schemas/CaseOrderDataJurisdictionState' type: object - $ref: '#/components/schemas/CaseOrderDataCPLC' type: object - $ref: '#/components/schemas/CaseOrderDataShipment' type: object - $ref: '#/components/schemas/CaseOrderDataOHSServiceSubstitutions' - $ref: '#/components/schemas/CaseOrderDataDocumentProcessing' - $ref: '#/components/schemas/CaseOrderDataDrugReasonForTest' - $ref: '#/components/schemas/CaseOrderDataDrugTestingAuthority' OrderConfig: title: OrderConfig type: object description: 'Options that describe how to run certain screenings for a case. See [Order configuration](docs/reference/order-configuration.md) 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.' properties: contacts: type: array description: A list of people to contact about the case. items: $ref: '#/components/schemas/Contact' aliasNameConfiguration: $ref: '#/components/schemas/ConfigValuesAlias' ohsDrugPassportExpirationPolicy: $ref: '#/components/schemas/ConfigValuesOhsDrugPassportExpirationPolicy' lostOrIncompleteOHSDrugPolicy: $ref: '#/components/schemas/ConfigValuesDrugPolicy' diluteDrugPolicy: $ref: '#/components/schemas/ConfigValuesDrugPolicy' serviceConfigs: type: object description: Services with configuration options. properties: 9ac65633-b4c4-4062-875c-3556db9d2a08: type: object description: The configuration for employment verification. properties: verificationMethod: $ref: '#/components/schemas/ConfigValuesEmploymentVerification' description: The method for verifying employment. service-employment-income: type: object description: The configuration for employment income verification. properties: verificationMethod: $ref: '#/components/schemas/ConfigValuesEmploymentVerification' description: The method for verifying employment and income. 85307784-1f84-471a-8596-c8ea088c3a62: type: object description: The configuration for education verification. properties: verificationMethod: $ref: '#/components/schemas/ConfigValuesEducationVerification' description: The method for verifying education. service-ohs-tb-quantiferon-gold: type: object description: The configuration for Quantiferon testing. properties: substitutionPolicy: $ref: '#/components/schemas/ConfigValuesQuantiferon' description: The policy for Quantiferon testing substitution. service-ohs-tb-tspot-test: type: object description: The configuration for T-Spot testing. properties: substitutionPolicy: $ref: '#/components/schemas/ConfigValuesTspot' description: The policy for T-Spot testing substitution. CaseOrderDataGovtID: title: CaseOrderDataGovtID type: object description: The candidate data when `caseOrderDataTypeId` is `codt-govt-id`. required: - govtId properties: govtId: type: string example: 111-22-3333 description: The candidate's Social Security number in the format *xxx*-*xx*-*xxxx*. pattern: ^\d{3}-\d{2}-\d{4}$ CaseOrderDataDOB: title: CaseOrderDataDOB type: object description: The candidate data when `caseOrderDataTypeId` is `codt-dob`. required: - dob properties: dob: type: string example: '1986-06-26' format: date description: The candidate's date of birth in the format *YYYY*-*MM*-*DD*. CaseOrderDataCandidateAddress: title: CaseOrderDataCandidateAddress type: object description: The order data (candidate's current home address) when `caseOrderDataTypeId` is `codt-current-candidate-address`. examples: - address1: 6 Flagstone Drive address2: Apartment 2 city: Hudson state: NH postalCode: '03051' country: US 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. 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. examples: - address1: 6 Flagstone Drive address2: Apartment 2 city: Hudson state: NH postalCode: '03051' country: US CaseOrderDataEducation: title: CaseOrderDataEducation type: object description: 'The candidate data when `caseOrderDataTypeId` is `codt-education`. **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: example: College/University 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`. **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. example: Annually 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 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. 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. CaseOrderDataJurisdiction: title: CaseOrderDataJurisdiction type: object description: The candidate data when `caseOrderDataTypeId` is `codt-address`. required: - city - state - county properties: city: type: string example: Manchester state: type: string description: The two-letter state code. example: NH county: type: string example: Hillsborough 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. example: NH county: type: string example: HILLSBOROUGH CaseOrderDataJurisdictionFederal: title: CaseOrderDataJurisdictionFederal type: object description: The candidate data when `caseOrderDataTypeId` is `codt-fed-district`. required: - district properties: district: type: string example: New Hampshire District Court 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. example: NH CaseOrderDataCPLC: title: CaseOrderDataCPLC type: object description: The candidate data when `caseOrderDataTypeId` is `codt-cplc`. examples: - cplcId: cb3dac22-db86-44df-8193-877559b3e8dc fields: - fieldId: licenseNumber value: LN123456 - fieldId: firstName value: Lucian - fieldId: lastName value: Williams - fieldId: state value: NY 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 CaseOrderDataShipment: title: CaseOrderDataShipment type: object description: The candidate data when `caseOrderDataTypeId` is `codt-shipment`. examples: - recipientName: John Smith address1: 1952 Whitney Avenue address2: Unit 2 addressType: home addressSource: homeAddress city: Hamden state: CT postalCode: '06517' shippingMethod: Overnight maskType: Honeywell DC365 N95 - recipientName: John Smith c/o KC Clinic address1: 1952 Whitney Avenue addressType: clinic city: Hamden state: CT postalCode: '06517' shippingMethod: Overnight maskType: Honeywell DC365 N95 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). 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. This 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.' examples: - substitutionMap: service-ohs-tb-quantiferon-gold: - service-ohs-tb-quantiferon-gold - service-ohs-tb-tspot-test service-drug-5-panel: - service-drug-5-panel - service-drug-300C-crl - service-drug-35105N-panel 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 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. example: sample-file-1.pdf secureDocumentId: type: string description: The identifier for the secureDocumentRecord the document is associated with. example: b7e2c1a2-1234-4f8b-9e2a-abcdef123456 CaseOrderDataDrugReasonForTest: title: CaseOrderDataDrugReasonForTest type: object description: The reason for the drug test. examples: - reasonForTest: pre-employment 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. examples: - testingAuthority: fmcsa 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 Contact: title: Contact type: object description: Details of a contact. examples: - name: Dana R. type: default email: defaultcontact@example.com phone: 800-555-0150 - name: Alex P. type: escalation email: escalationcontact@example.com required: - type - email properties: name: type: string maxLength: 255 description: The name of the contact. type: type: string enum: - default - escalation - authorization description: The role of the contact. email: type: string description: The email address of the contact. format: email phone: type: string maxLength: 20 description: The phone number of the contact. ConfigValuesAlias: title: ConfigValuesAlias type: string enum: - no-alias - alias-all - alias-all+hits-only - alias-mnv - alias-mnv+hits-only description: The options for an alias configuration. default: no-alias ConfigValuesOhsDrugPassportExpirationPolicy: title: ConfigValuesOhsDrugPassportExpirationPolicy type: string enum: - company-default - reissue - reissue-and-contact - reissue-once-contact - contact-customer - do-not-reissue description: The configuration options for an ePassport expiration policy. default: company-default ConfigValuesDrugPolicy: title: ConfigValuesDrugPolicy type: string enum: - company-default - reorder - reorder-and-contact - reorder-once-contact - do-not-reorder description: The configuration options for a drug policy. default: company-default ConfigValuesEmploymentVerification: title: ConfigValuesEmploymentVerification type: string enum: - docs-acceptable - psv - psv-first description: The configuration options for employment verification. default: docs-acceptable ConfigValuesEducationVerification: title: ConfigValuesEducationVerification type: string enum: - docs-acceptable - psv - psv-first description: The configuration options for education verification. default: docs-acceptable ConfigValuesQuantiferon: title: ConfigValuesQuantiferon type: string enum: - company-default - replace-with-t-spot - do-not-replace description: The options for Quantiferon substitution. default: company-default ConfigValuesTspot: title: ConfigValuesTspot type: string enum: - company-default - replace-with-quantiferon - do-not-replace description: The options for T-Spot substitution. default: company-default CreateCase: title: CreateCase type: object required: - packageId - email - givenName - familyName properties: autoProcess: type: boolean default: false description: 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: type: string enum: - cde61186-4f22-45f4-9e19-429061365bce default: cde61186-4f22-45f4-9e19-429061365bce description: The API currently supports only one type of case, which is a background check. packageId: type: string description: The ID of the package to order for the case. See [Get package list](karma-api-openapi.yaml/paths/~1package~1min~1list/get) to retrieve the list of available packages. email: type: string description: The candidate's email address. givenName: type: string description: The candidate's first name. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed. middleName: type: string description: The candidate's middle name. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed. familyName: type: string description: The candidate's last name. Only letters, numbers, hyphens (-), apostrophes ('), commas (,), periods (.), and underscores (_) are allowed. phone: type: string description: 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: type: string description: "An external identifier that you can use \nto help track this case in your own\ \ system.\n\nKarmaCheck does not do anything with this field other than include it in webhooks\ \ and other API calls,\nso despite its name, you can put any value.\n\nA common use case is\ \ for the value to be\nthe email address of the user in your system\nwho ordered the case." apiTrackingCode: type: string description: "An external identifier that you can use \nto help track this case in your own\ \ system.\n\nKarmaCheck does not do anything with this field other than include it in webhooks\ \ and other API calls,\nso despite its name, you can put any value.\n\nA common use case is\ \ for the value to be\nthe identifier of the case in your system." disableOptions: type: integer description: '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: type: array description: 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. items: type: string orderOverride: type: - string - 'null' default: null enum: - add - replace - null description: "Indicates how to handle an active case that exists for the same candidate email:\n\ - Use `add` to create a new case anyway. \n- Use `replace` to archive the existing case and\ \ create a new case.\nWithout this field, calling the API returns an error if a case already\ \ exists." replaceCaseId: type: string description: The ID of the existing case to replace. Required if `orderOverride` is `replace`. candidateConsentProvided: type: boolean description: If true, acknowledges collection of the candidate's signed disclosures and authorizations. This must be set to true if `autoProcess` is true. candidateDisclosuresAndAuthorizationDocumentIds: type: array description: A list of IDs for each [secure document](karma-api-openapi.yaml/paths/~1document~1secure~1create/post) to associate with the case. items: type: string orderData: type: array description: 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](docs/guides/order-data.md) for additional details. items: $ref: '#/components/schemas/CaseOrderData' orderConfig: $ref: '#/components/schemas/OrderConfig' JurisdictionCounties: title: JurisdictionCounties type: object description: Jurisdiction lookup entity. required: - state properties: city: type: string description: The city for which relevant jurisdictions will be returned. Required if `county` is not passed. county: type: string description: The county for which relevant jurisdictions will be returned. **Known issue:** The API currently requires this property to be passed. state: type: string description: 'The state for which relevant jurisdictions will be returned. ' JurisdictionsFederalDistrictCourtAndCounty: title: JurisdictionsFederalDistrictCourtAndCounty type: object description: Federal district court and county entity. required: - name - stateCode - state properties: name: type: string district: type: string stateCode: type: string description: The two-letter code for the state. state: type: string county: type: string CaseSummary: title: CaseSummary type: object examples: - id: f252d717-9bc8-4d21-85b4-5fd29645226a crStamp: '2024-04-05T19:21:27.000+00:00' crUserId: fed29350-84f3-4d35-9df1-9a73f14d9d17 caseTypeId: cde61186-4f22-45f4-9e19-429061365bce caseType: Background Check caseStatusId: 47463524-937e-46b1-8799-873f63e7b402 caseStatus: Adjudicated resultType: Placed modStamp: '2024-04-06T00:03:15.000+00:00' candidateId: 283de3e9-f12e-2184-9ac4-6e783e85b0de candidateEmail: charlie@example.com candidateGivenName: Charlie candidateFamilyName: Williams packageName: Basic Check packageId: f23fdee1-2ea5-23fc-9832-293a5d23a08b billingReferenceId: d64fddc1-1fa5-23fc-9832-231a5d23a08b groupProfileId: de0546f4-ad22-4c76-db12-06ae7e372fd2 groupName: Default resultTypeId: bbbd9fa2-598f-43f6-8363-b8b55e7aa777 caseInvitationId: 23cbf4ea-a174-47b0-9bc8-1273619a121b invitationGivenName: Charlie invitationFamilyName: Williams invitationStatusId: d1962405-dd97-48f2-bede-530c2895481f invitationStatusName: completed companyId: ded9edfd-292b-19f8-bdd4-f9bb001eba2c companyName: Example Company serviceGroupId: b2322ef5-72d7-4f28-9973-858464f01141 invitationEmail: charlie@example.com isMinorCandidate: 0 hasParentalConsent: 0 isCustomerProvidedPii: 1 archived: 0 orderedStamp: '2024-04-05T19:21:27.000+00:00' completedOnboardingStamp: '2024-04-05T19:21:27.000+00:00' beginProcessingStamp: '2024-04-05T19:21:29.000+00:00' completedInitialProcessingStamp: '2024-04-06T00:02:29.000+00:00' completedLatestProcessingStamp: '2024-04-06T00:02:29.000+00:00' companyReadableName: Example Company required: - id - crStamp - crUserId - caseTypeId - caseType - caseStatusId - caseStatus - resultType - modStamp - packageName - packageId - groupProfileId - groupName - resultTypeId - caseInvitationId - companyId - companyName - invitationEmail - isMinorCandidate - hasParentalConsent - isCustomerProvidedPii - archived - orderedStamp - companyReadableName properties: id: type: string description: The unique identifier of the case. crStamp: type: string format: date-time example: '2024-05-23T17:21:07.000+00:00' crUserId: type: string caseTypeId: type: string enum: - cde61186-4f22-45f4-9e19-429061365bce caseType: type: string enum: - Background Check caseStatusId: $ref: '#/components/schemas/CaseStatusID' caseStatus: $ref: '#/components/schemas/CaseStatus' secondaryCaseStatusId: $ref: '#/components/schemas/CaseSecondaryStatusID' secondaryStatus: $ref: '#/components/schemas/CaseSecondaryStatus' resultType: $ref: '#/components/schemas/CaseResult' modStamp: type: string format: date-time example: '2024-06-04T19:19:39.000+00:00' candidateId: type: string candidateEmail: type: string candidateGivenName: type: string candidateFamilyName: type: string packageName: type: string packageId: type: string packageCompanyName: type: string billingReferenceId: type: string groupProfileId: type: string groupName: type: string resultTypeId: $ref: '#/components/schemas/CaseResultID' caseInvitationId: type: string invitationGivenName: type: string invitationFamilyName: type: string invitationStatusId: $ref: '#/components/schemas/InvitationStatusID' invitationStatusName: $ref: '#/components/schemas/InvitationStatus' companyId: type: string companyName: type: string companyCommonName: type: string companyLogo: type: string serviceGroupId: type: string invitationEmail: type: string isMinorCandidate: type: integer description: 'A boolean integer: 1 (true) if the candidate is a minor; 0 (false) otherwise.' hasParentalConsent: type: integer description: 'A boolean integer: 1 (true) if the candidate is a minor and parental consent has been provided; 0 (false) otherwise.' isCustomerProvidedPii: type: integer description: 'A boolean integer: 1 (true) if the case was ordered using the customer-provided PII flow; 0 (false) otherwise.' archived: type: integer description: 'A boolean integer: 1 (true) if the case is archived; 0 (false) otherwise.' adverseActionId: type: string adverseActionStatusName: $ref: '#/components/schemas/AdverseActionStatusName' adverseActionStatusId: $ref: '#/components/schemas/AdverseActionStatusID' apiTrackingCode: type: string apiTrackingUser: type: string orderedStamp: type: string format: date-time example: '2024-05-23T17:21:07.000+00:00' beginOnboardingStamp: type: string format: date-time example: '2024-05-23T17:21:07.000+00:00' completedOnboardingStamp: type: string format: date-time example: '2024-05-23T17:21:08.000+00:00' beginProcessingStamp: type: string format: date-time example: '2024-05-23T17:21:08.000+00:00' completedInitialProcessingStamp: type: string format: date-time example: '2024-05-23T17:21:12.000+00:00' completedLatestProcessingStamp: type: string format: date-time example: '2024-05-23T17:21:12.000+00:00' companyReadableName: type: string CaseStatusID: title: CaseStatusID type: string enum: - d894b8a0-937e-46b1-8799-15bad611844f - 93827364-937e-46b1-8799-777366485997 - 22334455-937e-46b1-8799-887766554433 - 47463524-937e-46b1-8799-873f63e7b402 description: 'The ID for the primary status of a case. See [Case-level result and statuses](docs/reference/case-status.md) for more details about each possible status. - Pending (in progress): d894b8a0-937e-46b1-8799-15bad611844f - Blocked (blocked): 93827364-937e-46b1-8799-777366485997 - Complete (done): 22334455-937e-46b1-8799-887766554433 - Adjudicated (decision made): 47463524-937e-46b1-8799-873f63e7b402' CaseStatus: title: CaseStatus type: string enum: - Pending - Blocked - Complete - Adjudicated CaseSecondaryStatusID: title: CaseSecondaryStatusID type: string enum: - 8e0c9756-a42f-4a7d-b8e2-412a0f6b9dea - c5f240cb-5221-451c-8bd1-4be5bf348ce5 - b2c707af-091f-4d07-9546-4a1453f939e5 - status-type-verifying-cand-input - status-type-reviewing-order - status-type-consider - 4155584b-708c-4108-86a8-8f3321b9b17c description: 'The ID for the secondary status of a case. See [Case-level result and statuses](docs/reference/case-status.md) for more details about each possible status. - Waiting for Authorization: 8e0c9756-a42f-4a7d-b8e2-412a0f6b9dea - Authorization in Progress: c5f240cb-5221-451c-8bd1-4be5bf348ce5 - Waiting for Parental Consent: b2c707af-091f-4d07-9546-4a1453f939e5 - Verifying Candidate PII Input: status-type-verifying-cand-input - Reviewing Order: status-type-reviewing-order - Consider (completed needs review): status-type-consider - Canceled: 4155584b-708c-4108-86a8-8f3321b9b17c ' CaseSecondaryStatus: title: CaseSecondaryStatus type: string enum: - Waiting for Authorization - Authorization in Progress - Waiting for Parental Consent - Verifying Candidate Input - Reviewing Order - Consider - Canceled CaseResult: title: CaseResult type: string enum: - Open - Placed - Pre-Adverse Action - Dispute Adverse Action - Adverse Action CaseResultID: title: CaseResultID type: string description: 'The ID of the result for the case. See [Case-level result and statuses](docs/reference/case-status.md) for more details about each possible result. - Open: 8c94f0d9-57c9-4c7b-be95-5ec309cff330 - Placed: bbbd9fa2-598f-43f6-8363-b8b55e7aa777 - Pre-Adverse Action: 14bba02d-e6c7-45bf-a993-e28c306303c6 - Dispute Adverse Action: result-type-dispute-adverse - Adverse Action: d082a629-5dff-4303-83ae-897776ebcb17' enum: - 8c94f0d9-57c9-4c7b-be95-5ec309cff330 - bbbd9fa2-598f-43f6-8363-b8b55e7aa777 - 14bba02d-e6c7-45bf-a993-e28c306303c6 - result-type-dispute-adverse - d082a629-5dff-4303-83ae-897776ebcb17 InvitationStatus: title: InvitationStatus type: string enum: - pending - expired - completed - cancelled description: The status of onboarding invitation to a candidate. AdverseActionStatusName: title: AdverseActionStatusName type: string enum: - Pre-Adverse - Dispute - Cancel - Post AdverseActionStatusID: title: AdverseActionStatusID type: string enum: - bb34dc52-4e3b-4baf-8e0b-b6603f9e2a84 - ebbcb8e0-a0e7-43fb-930e-e52db4032d47 - d61950cb-00aa-4839-9da5-0c97f236c813 - fb32cc36-7eb6-47fa-ad4a-2635e99f197a description: 'The status ID of an adverse action on a candidate. - Pre-Adverse: bb34dc52-4e3b-4baf-8e0b-b6603f9e2a84 - Dispute: ebbcb8e0-a0e7-43fb-930e-e52db4032d47 - Cancel: d61950cb-00aa-4839-9da5-0c97f236c813 - Post: fb32cc36-7eb6-47fa-ad4a-2635e99f197a ' ServiceGroupServicesCase: title: ServiceGroupServicesCase examples: - serviceGroupServices: - serviceGroupId: 8afb91ff-7958-4f42-90e1-9bfed7db9bbf serviceGroupName: Basic Check 2023-04-13T20:51:49.938Z serviceGroupPrice: 1337 serviceGroupDescription: Common services for a basic background check serviceId: 03635d39-c9df-418f-948d-10d38a7e06db serviceName: National Sex Offender Search Alt serviceDescription: Search for candidate sex offender history serviceTypeId: 30bc2c03-c8dd-409a-8da6-e0070ea6a681 serviceTypeName: Screening serviceGroupEnabled: true serviceEnabled: true serviceAutoProcessEnabled: true serviceTypeEnabled: true serviceCategory: Criminal Check serviceCategoryId: service-cat-criminal conditional: false defaultSelected: false enabled: true serviceGroupServicesId: d2ff35ec-4da4-4a82-bb72-80980fc658ff caseId: 1234a56b-24ed-9874-ae77-9fccc6a25474 packageName: Basic Check candidateId: 1b23c456-d211-42c8-dde8-8a5f84c9def2 groupProfileId: ab0123c4-de56-4c96-cc22-06ae7e123fd2 allOf: - $ref: '#/components/schemas/ServiceGroupServicesAll' - type: object required: - serviceGroupServices properties: serviceGroupServices: type: array description: A list of services, each containing detailed information about a service. items: type: object required: - caseId - packageName - candidateId - groupProfileId properties: caseId: type: string packageName: type: string description: The name of the package that was ordered for the case. candidateId: type: string description: The ID of the candidate that's associated with the case. groupProfileId: type: string description: The ID of the group that the case was ordered under. ServiceGroupServicesAll: title: ServiceGroupServicesAll type: object examples: - serviceGroupServices: - serviceGroupId: 8afb91ff-7958-4f42-90e1-9bfed7db9bbf serviceGroupName: Basic Check 2023-04-13T20:51:49.938Z serviceGroupPrice: 1337 serviceGroupDescription: Common services for a basic background check serviceId: 03635d39-c9df-418f-948d-10d38a7e06db serviceName: National Sex Offender Search Alt serviceDescription: Search for candidate sex offender history serviceTypeId: 30bc2c03-c8dd-409a-8da6-e0070ea6a681 serviceTypeName: Screening serviceGroupEnabled: true serviceEnabled: true serviceAutoProcessEnabled: true serviceTypeEnabled: true serviceCategory: Criminal Check serviceCategoryId: service-cat-criminal conditional: false defaultSelected: false enabled: true serviceGroupServicesId: d2ff35ec-4da4-4a82-bb72-80980fc658ff required: - serviceGroupServices properties: serviceGroupServices: type: array description: A list of services, each containing detailed information about a service. items: type: object required: - serviceGroupId - serviceGroupName - serviceGroupDescription - serviceId - serviceName - serviceDescription - serviceTypeId - serviceTypeName - serviceGroupEnabled - serviceEnabled - serviceAutoProcessEnabled - serviceTypeEnabled - conditional - defaultSelected - enabled - serviceGroupServicesId properties: serviceGroupId: type: string serviceGroupName: type: string serviceGroupPrice: type: number description: The price of the package in United States cents. This is the price that candidates will pay via Stripe during onboarding to begin their check. Customers can request that a price be set on a package to pass on some or all of the price of the check to the candidate. serviceGroupDescription: type: string serviceId: type: string description: The unique ID of the service. See [Service](docs/reference/service.md) for a list of possible services. serviceName: type: string description: The name of the service. serviceDescription: type: string serviceTypeId: $ref: '#/components/schemas/ServiceTypeId' serviceTypeName: $ref: '#/components/schemas/ServiceTypeName' serviceSubTypeId: type: string enum: - jurisdiction-nationwide - jurisdiction-district - jurisdiction-statewide description: The ID of the subtype for the service. This is applicable only when `serviceId` is `ee774b82-a411-4e2b-a38f-c0641bd836e7` (Federal Criminal Search). serviceSubTypeName: type: string enum: - Nationwide - District - Statewide description: The service subtype. serviceGroupEnabled: type: boolean serviceEnabled: type: boolean serviceAutoProcessEnabled: type: boolean description: True if the service is available for a case that's ordered using the PII entry flow. False if the service is unavailable when using the PII entry flow. serviceTypeEnabled: type: boolean serviceCategory: $ref: '#/components/schemas/ServiceCategory' serviceCategoryId: $ref: '#/components/schemas/ServiceCategoryId' serviceSubCategory: $ref: '#/components/schemas/ServiceSubCategory' serviceSubCategoryId: $ref: '#/components/schemas/ServiceSubCategoryId' conditional: type: boolean description: True if the service is available only when adding to an order; false otherwise. A conditional service indicates that another service needs to run before this service can run. defaultSelected: type: boolean description: True if the service is selected by default when a dashboard user selects the package for a case; false otherwise. enabled: type: boolean description: True if the service is enabled for the package; false otherwise. serviceGroupServicesId: type: string ServiceTypeId: title: ServiceTypeId type: string description: 'The unique ID of the service type. A service can be one of the following types: screening, legal, payment, identity, or shipment.' enum: - 30bc2c03-c8dd-409a-8da6-e0070ea6a681 - a3b74b1b-b665-40be-bad2-2a49c801cf3f - service-type-payment - service-type-idv - service-type-shipment ServiceTypeName: title: ServiceTypeName type: string description: The type of service. enum: - Screening - Legal - Payment - Identity - Shipment ServiceCategory: title: ServiceCategory type: string description: The category that a service belongs to. enum: - Payment - Identity Verification - Criminal Check - Motor Vehicle Record Check - Verification - Occupational Health Screening - Professional License ServiceCategoryId: title: ServiceCategoryId type: string description: The unique ID of the service category. enum: - service-cat-payment - service-cat-idv - service-cat-criminal - service-cat-mvr - service-cat-verification - service-cat-ohs - service-cat-pro-lic ServiceSubCategory: title: ServiceSubCategory type: string description: The subcategory that a service belongs to. enum: - Drug Screening - TB - Titer - Vaccination - Physical ServiceSubCategoryId: title: ServiceSubCategoryId type: string description: The unique ID of the service subcategory. enum: - service-subcat-drug - service-subcat-tb - service-subcat-titer - service-subcat-vacc - service-subcat-physical Configuration: title: Configuration type: object properties: contacts: type: array description: A list of people to contact about the case. items: $ref: '#/components/schemas/Contact' serviceConfigs: $ref: '#/components/schemas/ServiceConfigs' diluteDrugPolicy: $ref: '#/components/schemas/ConfigDiluteDrug' aliasNameConfiguration: $ref: '#/components/schemas/ConfigAliasName' lostOrIncompleteOHSDrugPolicy: $ref: '#/components/schemas/ConfigLostOrIncompleteOHSDrug' ohsDrugPassportExpirationPolicy: $ref: '#/components/schemas/ConfigOhsDrugPassportExpiration' description: The [configuration](docs/reference/order-configuration.md) for a case or package. ServiceConfigs: title: ServiceConfigs description: Services with configuration options. type: object properties: 85307784-1f84-471a-8596-c8ea088c3a62: $ref: '#/components/schemas/ConfigEduVerification' 9ac65633-b4c4-4062-875c-3556db9d2a08: $ref: '#/components/schemas/ConfigEmpVerification' service-employment-income: $ref: '#/components/schemas/ConfigEmpIncomeVerification' service-ohs-tb-quantiferon-gold: $ref: '#/components/schemas/ConfigQuantiferon' service-ohs-tb-tspot-test: $ref: '#/components/schemas/ConfigTspot' ConfigDiluteDrug: title: DiluteDrugPolicy type: object description: The configuration that determines how to handle dilute samples in drug screenings. required: - rawValue - appliesTo - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesDrugPolicy' description: The configuration setting that specifies if and how screenings should be reordered. appliesTo: type: object description: The services that the configuration applies to. required: - serviceIds - serviceCategoryIds - serviceSubCategoryIds properties: serviceIds: type: array description: A list of applicable services by ID. items: type: string default: [] serviceCategoryIds: type: array description: A list of applicable service categories by ID. items: type: string default: [] serviceSubCategoryIds: type: array description: A list of applicable service subcategories by ID. items: type: string default: service-subcat-drug pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Refer to company settings. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies next steps when a Drug sample is dilute. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Refer To Company Settings configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Dilute Drug Policy ConfigAliasName: title: AliasNameConfiguration type: object description: The configuration that determines how to run aliases for criminal screenings. required: - rawValue - appliesTo - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesAlias' description: The configuration setting that specifies if and how aliases are applied to screenings. appliesTo: type: object description: The services that the configuration applies to. required: - serviceIds - serviceCategoryIds - serviceSubCategoryIds properties: serviceIds: type: array description: A list of applicable services by ID. items: type: string default: [] serviceCategoryIds: type: array description: A list of applicable service categories by ID. items: type: string default: service-cat-criminal serviceSubCategoryIds: type: array description: A list of applicable service subcategories by ID. items: type: string default: [] pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: No aliases. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies the method used to select aliases. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: No Aliases configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Alias Name Configuration ConfigLostOrIncompleteOHSDrug: title: LostOrIncompleteOHSDrugPolicy type: object description: The configuration that determines how to handle lost or incomplete samples for OHS and drug screenings. required: - rawValue - appliesTo - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesDrugPolicy' description: The configuration setting that specifies if and how screenings should be reordered. appliesTo: type: object description: The services that the configuration applies to. required: - serviceIds - serviceCategoryIds - serviceSubCategoryIds properties: serviceIds: type: array description: A list of applicable services by ID. items: type: string default: [] serviceCategoryIds: type: array description: A list of applicable service categories by ID. items: type: string default: service-cat-ohs serviceSubCategoryIds: type: array description: A list of applicable service subcategories by ID. items: type: string default: [] pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Refer to company settings. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies next steps when an OHS/Drug sample is lost or incomplete. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Refer To Company Settings configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Lost or Incomplete OHS/Drug Policy ConfigOhsDrugPassportExpiration: title: OhsDrugPassportExpirationPolicy type: object description: The configuration that determines how to handle expired ePassports for OHS and drug screenings. required: - rawValue - appliesTo - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesOhsDrugPassportExpirationPolicy' description: The configuration setting that specifies if and how ePassports should be reissued. appliesTo: type: object description: The services that the configuration applies to. required: - serviceIds - serviceCategoryIds - serviceSubCategoryIds properties: serviceIds: type: array description: A list of applicable services by ID. items: type: string default: [] serviceCategoryIds: type: array description: A list of applicable service categories by ID. items: type: string default: service-cat-ohs serviceSubCategoryIds: type: array description: A list of applicable service subcategories by ID. items: type: string default: [] pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Refer to company settings. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies next steps when an OHS/Drug ePassport expires. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Refer To Company Settings configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: OHS/Drug Passport Expiration Policy ConfigEduVerification: title: EducationVerification type: object description: The configuration for education verification. required: - verificationMethod properties: verificationMethod: type: object description: The verification method that's configured for the screening. required: - rawValue - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesEducationVerification' description: The configuration setting that specifies acceptable forms of verification. pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Documents acceptable. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies the verification method used for this service. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Documents Acceptable configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Verification Method ConfigEmpVerification: title: EmploymentVerification type: object description: The configuration for employment verification. required: - verificationMethod properties: verificationMethod: type: object description: The verification method that's configured for the screening. required: - rawValue - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesEmploymentVerification' description: The configuration setting that specifies acceptable forms of verification. pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Documents acceptable. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies the verification method used for this service. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Documents Acceptable configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Verification Method ConfigEmpIncomeVerification: title: EmploymentIncomeVerification type: object description: The configuration for employment income verification. required: - verificationMethod properties: verificationMethod: type: object description: The verification method that's configured for the screening. required: - rawValue - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesEmploymentVerification' description: The configuration setting that specifies acceptable forms of verification. pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Documents acceptable. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies the verification method used for this service. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Documents Acceptable configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Verification Method ConfigQuantiferon: title: Quantiferon type: object description: The configuration for Quantiferon testing. required: - substitutionPolicy properties: substitutionPolicy: type: object description: The substitution policy that's configured for the test. required: - rawValue - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesQuantiferon' description: The configuration setting that specifies whether the test can be replaced. pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Refer to company settings. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies if T-Spot can be ordered in place of Quantiferon Gold when Quantiferon Gold is unavailable. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Refer To Company Settings configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Substitution Policy ConfigTspot: title: Tspot type: object description: The configuration for T-Spot testing. required: - substitutionPolicy properties: substitutionPolicy: type: object description: The substitution policy that's configured for the test. required: - rawValue - pillLabel - valueDescription - configDescription - valueDisplayLabel - configDisplayLabel properties: rawValue: $ref: '#/components/schemas/ConfigValuesTspot' description: The configuration setting that specifies whether the test can be replaced. pillLabel: type: string description: The label that's displayed to KarmaCheck dashboard users to indicate the configuration setting for the screening. example: ${value} valueDescription: type: string description: A description of the configuration setting. example: Refer to company settings. configDescription: type: string description: A description that explains what the configuration does. This description is displayed to KarmaCheck dashboard users. example: Specifies if Quantiferon Gold can be ordered in place of T-Spot when T-Spot is unavailable. valueDisplayLabel: type: string description: A description of the configuration setting that's displayed to KarmaCheck dashboard users. example: Refer To Company Settings configDisplayLabel: type: string description: The configuration label that's displayed to KarmaCheck dashboard users. example: Substitution Policy CaseData: title: CaseData type: object required: - id - description - caseId - serviceId - serviceName - serviceTypeId - serviceTypeName - statusId - status - statusDisplayName - crStamp - modStamp - groupProfileId - candidateId - storageId - details properties: id: type: string description: The unique identifier of the case data; elsewhere referred to as a `caseDataId`. format: uuid description: type: string description: The description associated with the `serviceId` of this case data record. A possible value is the name of the service. caseId: type: string format: uuid serviceId: type: string description: The unique identifier of the service that the case data represents. See [Service](docs/reference/service.md) for a list of possible values. serviceName: description: The name of the service. See [Service](docs/reference/service.md) for a list of supported services. type: string serviceTypeId: $ref: '#/components/schemas/ServiceTypeId' serviceTypeName: $ref: '#/components/schemas/ServiceTypeName' statusId: $ref: '#/components/schemas/CaseDataStatusID' status: $ref: '#/components/schemas/CaseDataStatus' statusDisplayName: type: string crStamp: type: string format: date-time example: '2024-05-17T00:06:45.000+00:00' modStamp: type: string format: date-time example: '2024-06-18T00:07:39.000+00:00' groupProfileId: type: string format: uuid candidateId: type: string format: uuid storageId: type: string description: The unique identifier of the database record containing the `details` property. format: uuid details: type: string description: The string representation of `detailsObject`. detailsObject: oneOf: - $ref: '#/components/schemas/DetailsNationalCriminal' - $ref: '#/components/schemas/DetailsFederalCriminal' - $ref: '#/components/schemas/DetailsCountyCriminal' - $ref: '#/components/schemas/DetailsStateCriminalCourt' - $ref: '#/components/schemas/DetailsStateCriminalDatabase' - $ref: '#/components/schemas/DetailsDrug' - $ref: '#/components/schemas/DetailsOHS' - $ref: '#/components/schemas/DetailsEducation' - $ref: '#/components/schemas/DetailsEmployment' - $ref: '#/components/schemas/DetailsMotorVehicle' - $ref: '#/components/schemas/DetailsSSN' - $ref: '#/components/schemas/DetailsSexOffender' - $ref: '#/components/schemas/DetailsGlobalWatchlist' - $ref: '#/components/schemas/DetailsFACIS' - $ref: '#/components/schemas/DetailsIdentity' - $ref: '#/components/schemas/DetailsCPLC' - $ref: '#/components/schemas/DetailsOIG' - $ref: '#/components/schemas/DetailsOtherService' - $ref: '#/components/schemas/DetailsInternational' - $ref: '#/components/schemas/DetailsLegal' - $ref: '#/components/schemas/DetailsPayment' - $ref: '#/components/schemas/DetailsMaskShipment' description: Details of the case data. The properties vary based on the type of service. serviceCategory: $ref: '#/components/schemas/ServiceCategory' serviceCategoryId: $ref: '#/components/schemas/ServiceCategoryId' serviceSubCategory: $ref: '#/components/schemas/ServiceSubCategory' type: string serviceSubCategoryId: $ref: '#/components/schemas/ServiceSubCategoryId' type: string pendingStatus: $ref: '#/components/schemas/CaseDataPendingStatus' type: string pendingStatusId: $ref: '#/components/schemas/CaseDataPendingStatusID' type: string locked: type: boolean CaseDataStatusID: title: CaseDataStatusID description: 'The status ID of a case data record (an instance of a service). See [Case data statuses](docs/reference/case-data-status.md) for more details. - acknowledge (done positive): 1a8490cb-084d-4209-bf2f-d46e41d760d6 - clear (done and good): e086eea7-e4b7-4c74-ac04-4c3b51c23a33 - consider (done and needs review): f657c777-c38d-489b-ac26-dd9bf0a88724 - not_found (unable to verify): 96e0420a-4396-4bd1-9b54-447f00eb3ed8 - canceled (not performed): 3d726502-d2e2-4d10-859b-8a218f22086d - complete (done without prejudice): case-data-status-complete - pending (in progress): 8f29e0de-10f2-4c84-8379-16c6eb7cdf64 - error (error during processing): case-data-status-error' type: string enum: - 1a8490cb-084d-4209-bf2f-d46e41d760d6 - e086eea7-e4b7-4c74-ac04-4c3b51c23a33 - f657c777-c38d-489b-ac26-dd9bf0a88724 - 96e0420a-4396-4bd1-9b54-447f00eb3ed8 - 3d726502-d2e2-4d10-859b-8a218f22086d - case-data-status-complete - 8f29e0de-10f2-4c84-8379-16c6eb7cdf64 - case-data-status-error CaseDataStatus: title: CaseDataStatus description: The possible statuses of a case data record (an instance of a service). type: string enum: - acknowledge - clear - consider - not_found - canceled - complete - pending - error DetailsNationalCriminal: title: DetailsNationalCriminal type: object description: Details from a national criminal search. examples: - serviceId: d8e3dbdb-c2d7-4787-9736-86fffab74da4 dateCompleted: '2024-08-14T14:33:36.197+00:00' timeToComplete: 2 days records: - state: FL county: Putnam County charge: GRAND THEFT AUTO offenseType: FELONY disposition: ADJUDICATED GUILTY/DELINQUENT dispositionDate: '2018-05-15' caseNumber: 11103000089CFYX contextualData: state=FL county=Putnam County charge=GRAND THEFT AUTO - state: FL county: Putnam County charge: CRIMINAL MISCHIEF - MORE THAN $200 LESS THAN $1000 offenseType: MISDEMEANOR disposition: DROPPED/ABANDONED BY PROSECUTOR dispositionDate: '2018-05-15' caseNumber: 11106000525CFMX contextualData: state=FL county=Putnam County charge=CRIMINAL MISCHIEF - MORE THAN $200 LESS THAN $1000 properties: serviceId: type: string enum: - d8e3dbdb-c2d7-4787-9736-86fffab74da4 dateCompleted: type: string format: date-time example: '2024-05-17T19:47:14.885+00:00' timeToComplete: type: string example: 2 days additionalInfo: type: string records: type: array description: Records found from the criminal search. items: type: object properties: state: type: string example: FL county: type: string example: Putnam County charge: type: string example: GRAND THEFT AUTO offenseType: type: string example: FELONY disposition: type: string example: DROPPED/ABANDONED BY PROSECUTOR dispositionDate: type: string format: date example: '2018-05-15' caseNumber: type: string example: 11103000089CFYX comments: type: string contextualData: type: string DetailsFederalCriminal: title: DetailsFederalCriminal type: object description: Details from a federal criminal search. examples: - serviceId: fa226cb7-1214-4cdf-9296-6120a7376926 dateCompleted: '2024-08-14T14:34:17.741+00:00' timeToComplete: 2 days records: - state: PENNSYLVANIA county: PENNSYLVANIA EASTERN charge: 'Citation: 12.2345 M / Jaywalking' offenseType: Misdemeanor disposition: Guilty dispositionDate: '2019-06-02' caseNumber: 00230-FHB-123456 jurisdiction: PENNSYLVANIA EASTERN fileDate: '2019-06-02' contextualData: county=PENNSYLVANIA EASTERN jurisdiction=PENNSYLVANIA EASTERN properties: serviceId: type: string enum: - ee774b82-a411-4e2b-a38f-c0641bd836e7 dateCompleted: type: string format: date-time example: '2024-05-17T19:47:14.885+00:00' timeToComplete: type: string example: 2 days additionalInfo: type: string records: type: array description: Records found from the criminal search. items: type: object properties: state: type: string description: Not applicable to federal district searches. example: PENNSYLVANIA county: type: string description: Applicable to federal district searches. example: PENNSYLVANIA EASTERN charge: type: string example: 'Citation: 12.2345 M / Jaywalking' offenseType: type: string example: Misdemeanor disposition: type: string example: Guilty dispositionDate: type: string format: date example: '2019-06-22' caseNumber: type: string example: 00230-FHB-123456 comments: type: string jurisdiction: type: string example: PENNSYLVANIA EASTERN fileDate: type: string format: date example: '2019-06-22' contextualData: type: string DetailsCountyCriminal: type: object examples: - jurisdictions: - alias: JONES, STEPHEN jurisdiction: NY-NYOCA status: f657c777-c38d-489b-ac26-dd9bf0a88724 - alias: JONES, STEPHEN jurisdiction: NJ-ESSEX status: 8f29e0de-10f2-4c84-8379-16c6eb7cdf64 records: - comments: null caseNumber: 502008CF012155YXYXMB jurisdiction: NY-NYOCA fileDate: '2019-07-10' charge: 1. Possession Of Schedule 4 Substance offenseType: Felony disposition: Pre Trial Intervention dispositionDate: '2019-08-01' nameOnRecord: JONES, STEPHEN state: NY county: NYOCA contextualData: state=NY county=NYOCA jurisdiction=NY-NYOCA - comments: null caseNumber: 502008CF012155YXYXMB jurisdiction: NY-NYOCA fileDate: '2019-07-10' charge: 2. Possession Of Schedule 2 Substance offenseType: Felony disposition: Pre Trial Intervention dispositionDate: '2019-08-01' nameOnRecord: JONES, STEPHEN state: NY county: NYOCA contextualData: state=NY county=NYOCA jurisdiction=NY-NYOCA - comments: null caseNumber: 502008CF012155YXYXMB jurisdiction: NY-NYOCA fileDate: '2019-07-10' charge: 3. Attempt To Obtain Controlled Substance By Fraud offenseType: Felony disposition: Pre Trial Intervention dispositionDate: '2019-08-01' nameOnRecord: JONES, STEPHEN state: NY county: NYOCA contextualData: state=NY county=NYOCA jurisdiction=NY-NYOCA description: Details from a county criminal search. title: DetailsCountyCriminal properties: jurisdictions: type: array description: Details about each jurisdictional search. items: type: object properties: alias: type: string description: The alias used in the search. example: JONES, STEPHEN jurisdiction: type: string description: The jurisdiction that was searched. records: type: array description: Records found from the jurisdictional search. items: type: object properties: comments: type: string caseNumber: type: string example: 123456CF012155YXYXMB jurisdiction: type: string example: NJ-ESSEX fileDate: type: string format: date example: '2019-07-10' charge: type: string example: 1. Unregistered Motor Vehicle offenseType: type: string example: Traffic disposition: type: string example: Nolle Prosse dispositionDate: type: string format: date example: '2019-08-01' nameOnRecord: type: string example: JONES, STEPHEN state: type: string example: NJ county: type: string example: ESSEX contextualData: type: string status: $ref: '#/components/schemas/CaseDataStatusID' description: "The status ID of the jurisdictional search.\n\n- acknowledge (done positive):\ \ 1a8490cb-084d-4209-bf2f-d46e41d760d6\n- clear (done and good): e086eea7-e4b7-4c74-ac04-4c3b51c23a33\n\ - consider (done and needs review): f657c777-c38d-489b-ac26-dd9bf0a88724 \n- not_found\ \ (unable to verify): 96e0420a-4396-4bd1-9b54-447f00eb3ed8\n- canceled (not performed):\ \ 3d726502-d2e2-4d10-859b-8a218f22086d\n- complete (done without prejudice): case-data-status-complete\n\ - pending (in progress): 8f29e0de-10f2-4c84-8379-16c6eb7cdf64\n- error (error during\ \ processing): case-data-status-error" modifiedDate: type: string format: date-time example: '2024-08-07T21:54:04.000Z' createdDate: type: string description: The date and time that the service was ordered. format: date-time example: '2024-08-07T21:54:01.000Z' completedDate: type: string format: date-time example: '2024-08-07T21:54:03.000Z' dateCompleted: type: string format: date-time example: '2024-08-08T14:34:59.271Z' timeToComplete: type: string example: 16 hours source: type: string rawDataType: type: string rawDataKey: type: string reportHtmlSecureDocumentId: type: string serviceId: type: string enum: - fa226cb7-1214-4cdf-9296-6120a7376926 additionalInfo: type: string records: type: array description: Records found from the criminal search. items: type: object properties: comments: type: string caseNumber: type: string example: 123456CF012155YXYXMB jurisdiction: type: string example: NJ-ESSEX fileDate: type: string format: date example: '2019-07-10' charge: type: string example: 1. Possession Of Schedule 4 Substance offenseType: type: string example: Felony disposition: type: string example: Pre Trial Intervention dispositionDate: type: string format: date example: '2019-08-01' nameOnRecord: type: string example: JONES, STEPHEN state: type: string example: NJ county: type: string example: ESSEX contextualData: type: string DetailsStateCriminalCourt: title: DetailsStateCriminalCourt type: object description: Details from a state criminal court search. examples: - serviceId: c407f6dd-523e-4627-a4d9-8f52d30ee744 dateCompleted: '2024-05-17T19:47:14.885+00:00' timeToComplete: 2 days jurisdictions: - status: f657c777-c38d-489b-ac26-dd9bf0a88724 jurisdiction: FLORIDA records: - state: FLORIDA charge: 1. Unregistered Motor Vehicle offenseType: Traffic disposition: Nolle Prosse dispositionDate: '2012-10-16' caseNumber: 123456CT024900YXYXXSB jurisdiction: FLORIDA fileDate: '2008-08-17' contextualData: state=FLORIDA jurisdiction=FLORIDA externalSearchAndHasResults: false properties: serviceId: type: string enum: - c407f6dd-523e-4627-a4d9-8f52d30ee744 dateCompleted: type: string format: date-time example: '2024-05-17T19:47:14.885+00:00' timeToComplete: type: string example: 2 days additionalInfo: type: string jurisdictions: type: array description: Details about each jurisdictional search. items: type: object properties: status: $ref: '#/components/schemas/CaseDataStatusID' description: "The status ID of the jurisdictional search.\n\n- acknowledge (done positive):\ \ 1a8490cb-084d-4209-bf2f-d46e41d760d6\n- clear (done and good): e086eea7-e4b7-4c74-ac04-4c3b51c23a33\n\ - consider (done and needs review): f657c777-c38d-489b-ac26-dd9bf0a88724 \n- not_found\ \ (unable to verify): 96e0420a-4396-4bd1-9b54-447f00eb3ed8\n- canceled (not performed):\ \ 3d726502-d2e2-4d10-859b-8a218f22086d\n- complete (done without prejudice): case-data-status-complete\n\ - pending (in progress): 8f29e0de-10f2-4c84-8379-16c6eb7cdf64\n- error (error during\ \ processing): case-data-status-error" jurisdiction: type: string example: FLORIDA records: type: array description: Records found from the criminal search. items: type: object properties: state: type: string example: FLORIDA charge: type: string example: 1. Unregistered Motor Vehicle offenseType: type: string example: Traffic disposition: type: string example: Nolle Prosse dispositionDate: type: string format: date example: '2012-10-16' caseNumber: type: string example: 123456CT024900YXYXXSB comments: type: string jurisdiction: type: string example: FLORIDA fileDate: type: string format: date example: '2008-08-17' contextualData: type: string externalSearchAndHasResults: type: boolean DetailsStateCriminalDatabase: title: DetailsStateCriminalDatabase type: object description: Details from a state criminal search. examples: - serviceId: d9381240-6230-40ec-9e11-35703e8041bc dateCompleted: '2024-05-17T19:47:14.885+00:00' timeToComplete: 2 days records: - state: AZ AOC charge: OPEN CONTAINER OF LIQUOR W/IN VEH offenseType: MISDEMEANOR disposition: PLEA GUILTY/RESP SENT IMPOSED dispositionDate: '2019-07-09' caseNumber: M-0000-3583999 comments: 'Case#: M-0000-3583999 Court: Phoenix Municipal' jurisdiction: AZ AOC fileDate: '2019-07-10' contextualData: state=AZ AOC jurisdiction=AZ AOC properties: serviceId: type: string enum: - d9381240-6230-40ec-9e11-35703e8041bc dateCompleted: type: string format: date-time example: '2024-05-17T19:47:14.885+00:00' timeToComplete: type: string example: 2 days additionalInfo: type: string records: type: array description: Records found from the criminal search. items: type: object properties: state: type: string example: AZ AOC charge: type: string example: SELLING ALCOHOL TO MINOR; MINOR IN POSSE offenseType: type: string example: MISDEMEANOR disposition: type: string example: PLEA GUILTY/RESP SENT IMPOSED dispositionDate: type: string format: date example: '2019-07-26' caseNumber: type: string example: M-0000-1234567 comments: type: string example: 'Case#: M-0000-1234567 Court: Phoenix Municipal' jurisdiction: type: string example: AZ AOC fileDate: type: string format: date example: '2019-07-16' contextualData: type: string DetailsDrug: title: DetailsDrug type: object description: Details from a drug screening. examples: - dateCompleted: '2024-06-18T16:54:10.635Z' timeToComplete: 3 days effectiveDate: '2024-06-18T16:54:00.000Z' externalId: kj0cKdOSgqKlaCRm2LSQ scheduledDate: '2024-06-13T16:53:00.000Z' expirationDate: '2024-06-20T16:53:00.000Z' clientName: Example Company clientAccount: '629236' clientSubAccount: '26' clinicId: '9588' clinicName: Test Clinic clinicAddress1: 7500 W 110th Street clinicAddress2: '' clinicCity: Omaha clinicState: NE clinicZip: '66210' clinicPhoneNumber: 800-555-0175 clinicFaxNumber: '8005550100' network: In Network Tier 1 firstName: Jack lastName: Williams status: Negative chainOfCustody: '2123312312' collectionDate: '2024-06-13T19:54:00.000Z' collectionData: regulation: Non-DOT specimenType: Breath dilute: Not Dilute analytes: resultId: analyte-negative result: Negative panelId: 'null' analyteId: ethanol-breath analyte: Ethanol Breath specimenType: Breath screeningCutoffValue: '10' screeningCutoffUnit: ng/mL confirmationCutoffValue: '10' confirmationCutoffUnit: ng/mL quantity: '0' confirmationNumber: AI123456789 labReceivedDate: '2024-06-13T20:54:00.000Z' labReportDate: '2024-06-14T16:54:00.000Z' verificationDate: '2024-06-15T16:54:00.000Z' labName: Example Lab collectionSite: '12' collectionSiteInNetwork: In Network Tier 1 collectionSitePhoneNumber: 800-555-0175 eCupCollection: Not an eCup Collection donorName: Williams, Jack dob: 3/15/1983 ssnLast4: '3333' homePhone: '' homePhoneExt: '' workPhone: 800-555-0180 workPhoneExt: '' otherIDType: '' reasonForTest: Pre-Employment specimenCollector: JD locationInfo: Test Clinic mroAddress: 8140 Ward Parkway mroCity: Omaha mroName: Dr. Kirk Roberts, M.D. mroPhone: 800-555-0190 mroState: NE mroZip: '64114' result: negative resultCode: '1' resultId: drugtest-negative comments: Results are clean additionalInfo: '' properties: dateCompleted: type: string format: date-time example: '2024-06-18T16:54:10.635Z' timeToComplete: type: string example: 3 days effectiveDate: type: string format: date-time example: '2024-06-18T16:54:00.000Z' externalId: type: string description: The service provider's ID for the candidate. scheduledDate: type: string format: date-time example: '2024-06-13T16:53:00.000Z' expirationDate: type: string format: date-time example: '2024-06-20T16:53:00.000Z' description: The expiration date for the drug test. clientName: type: string description: The name of the company ordering the screening. clientAccount: type: string description: The ordering company's account. clientSubAccount: type: string description: The ordering company's subaccount. clinicId: type: string description: The ID of the clinic. clinicName: type: string description: The name of the clinic that's performing the screening. clinicAddress1: type: string description: The clinic's address. clinicAddress2: type: string description: The clinic's address, continued. clinicCity: type: string description: The clinic's city. clinicState: type: string description: The clinic's state clinicZip: type: string description: The clinic's zip code. clinicPhoneNumber: type: string description: The clinic's phone number. clinicFaxNumber: type: string description: The clinic's fax number. network: type: string description: The network coverage for the clinic. example: In Network Tier 1 firstName: type: string description: The candidate's first name. lastName: type: string description: The candidate's last name. status: type: string description: The readable text for the status. chainOfCustody: type: string collectionDate: type: string format: date-time example: '2024-06-13T19:54:00.000Z' description: The date the specimen was collected. collectionData: type: object properties: regulation: type: string enum: - DOT - Non DOT specimenType: type: string enum: - Urine - Breath dilute: type: string enum: - Dilute - Not Dilute analytes: $ref: '#/components/schemas/AnalyteDetails' confirmationNumber: type: string description: The service provider confirmation number. labReceivedDate: type: string format: date-time example: '2024-06-13T20:54:00.000Z' description: The date the specimen was received at the lab. labReportDate: type: string format: date-time example: '2024-06-14T16:54:00.000Z' description: The date the specimen results were reported by the lab. verificationDate: type: string format: date-time example: '2024-06-15T16:54:00.000Z' description: The date the specimen was verified by the lab or medical review officer (MRO). labName: type: string description: The name of the lab that's analyzing the specimen. collectionSite: type: string description: The collection site location. collectionSiteInNetwork: type: string description: The network coverage for the clinic. example: In Network Tier 1 collectionSitePhoneNumber: type: string description: The collection site's phone number. eCupCollection: type: string enum: - Not an eCup Collection - eCup Collection donorName: type: string description: The candidate's full name, last name followed by first name. dob: type: string description: The candidate's date of birth. example: 1/1/1980 ssnLast4: type: string description: The last four digits of the candidate's Social Security number. homePhone: type: string description: The candidate's home phone number. homePhoneExt: type: string description: The candidate's home phone extension. workPhone: type: string description: The candidate's work phone number. workPhoneExt: type: string description: The candidate's work phone extension. otherID: type: string description: An alternate form of identification. otherIDType: type: string description: The type of alternate identification. example: Passport reasonForTest: type: string description: The reason for the test. example: Pre-employment specimenCollector: type: string description: The name of the specimen collector. locationInfo: type: string description: Information provided by the lab about the location. mroAddress: type: string description: The MRO's address. mroCity: type: string description: The MRO's city. mroName: type: string description: The MRO's name. mroPhone: type: string description: The MRO's phone number. mroState: type: string description: The MRO's state. mroZip: type: string description: The MRO's zip code. result: type: string enum: - positive - negative - withheld - retest recommended description: The readable text for the drug screening result. resultCode: type: string description: The service provider's raw result for the drug screening. resultId: type: string description: The unique ID of the result for the drug screening. comments: type: string description: Comments from the drug screening. additionalInfo: type: string DetailsOHS: title: DetailsOHS type: object description: Details from an occupational health screening, such as a physical, vaccination, titer, or TB test. examples: - dateCompleted: '2024-06-18T00:34:00.000Z' timeToComplete: 3 days effectiveDate: '2024-06-12T00:33:00.000Z' externalId: kj0cKdOSgqKlaCRm2LSQ confirmationNumber: kj0cKdOSgqKlaCRm2LSQ scheduledDate: '2024-06-13T00:33:00.000Z' expirationDate: '2024-06-20T00:33:00.000Z' clientName: Example Company clientAccount: '629236' clientSubAccount: '26' clinicId: '9588' clinicName: Test Clinic clinicAddress1: 7500 W 110th Street clinicAddress2: '' clinicCity: Omaha clinicState: NE clinicZip: '66210' clinicPhoneNumber: 800-555-0175 clinicFaxNumber: '8005550100' network: In Network Tier 1 firstName: Jack lastName: Williams birthDate: 03/15/1983 ssnLast4: '3333' source: escreen physicalID: '238170' verificationType: physical componentId: '35' componentDescription: Chest X-Ray 1 View status: Complete result: Within Normal Limits resultId: ohs-result-165-acknowleged resultCode: '165' resultDate: '2024-06-14T00:34:00.000Z' resultDueToReason: '' resultExpirationDate: '' resultStatusDescription: Within Normal Limits partialReasons: [] examDate: 6/14/2024 followUpDate: '' certExpirationDate: '' tbReadDate: '' comments: Results are clean. clientAddress1: 7878 Guy St clientAddress2: '' clientCity: Omaha clientContact: Rosario S. clientState: NE clientZip: '64086' collectionSitePhoneNumber: 800-555-0155 cdlFlag: '0' overallStatusDescription: Complete physicalReasonDescription: New Certification additionalInfo: '' properties: dateCompleted: type: string format: date-time example: '2024-06-18T00:34:00.000Z' description: The date and time when the service was complete. timeToComplete: type: string example: 3 days effectiveDate: type: string format: date-time example: '2024-06-12T00:33:00.000Z' externalId: type: string description: The service provider's ID for the candidate. confirmationNumber: type: string description: The service provider confirmation number. For eScreen services, this is the ePassport ID. scheduledDate: type: string format: date-time example: '2024-06-13T00:33:00.000Z' expirationDate: type: string format: date-time example: '2024-06-20T00:33:00.000Z' description: The expiration date for the exam. clientName: type: string description: The name of the company ordering the service. clientAccount: type: string description: The ordering company's account. clientSubAccount: type: string description: The ordering company's subaccount. clinicId: type: string description: The ID of the clinic. clinicName: type: string description: The name of the clinic that's performing the screening. clinicAddress1: type: string description: The clinic's address. clinicAddress2: type: string description: The clinic's address, continued. clinicCity: type: string description: The clinic's city. clinicState: type: string description: The clinic's state. clinicZip: type: string description: The clinic's zip code. clinicPhoneNumber: type: string description: The clinic's phone number. clinicFaxNumber: type: string description: The clinic's fax number. network: type: string description: The network coverage for the clinic. example: In Network Tier 1 firstName: type: string description: The candidate's first name. lastName: type: string description: The candidate's last name. birthDate: type: string description: The candidate's birth date. example: 01/21/1980 ssnLast4: type: string description: The last four digits of the candidate's Social Security number. source: type: string physicalID: type: string description: The service provider's ID for the physical exam. verificationType: type: string enum: - titer - physical - vaccination componentId: type: string description: The service provider's ID for the service. componentDescription: type: string description: The description for the service component. status: type: string description: The readable text for the status. result: type: string description: The readable text for the result. resultId: type: string description: The unique ID of the result for the service. resultCode: type: string description: The service provider's code for the result of the service. resultDate: type: string format: date-time example: '2024-06-14T00:34:00.000Z' description: The date and time when the service was performed. For example, when the titer blood draw was performed or when actual immunity happened (via testimony). resultDueToReason: type: string description: The reason for the result. A reason is not always provided. resultExpirationDate: type: string description: The date the certified result expires. An expiration date is not always provided. resultStatusDescription: type: string description: The description for the result. partialReasons: type: array description: Reasons for a Partial status. items: type: string examDate: type: string example: 6/14/2024 description: The date of the exam. followUpDate: type: string description: The follow-up date, if applicable. certExpirationDate: type: string tbReadDate: type: string description: The date the TB test was read, if available. comments: type: string description: Comments from the exam. clientAddress1: type: string description: The ordering company's street address. clientAddress2: type: string description: The ordering company's street address, continued. clientCity: type: string description: The ordering company's city. clientContact: type: string description: The ordering company's contact. clientState: type: string description: The ordering company's state. clientZip: type: string description: The ordering company's zip code. collectionSitePhoneNumber: type: string description: The collection site's phone number. dlClass: type: string description: The driver's license class. dlNumber: type: string description: The driver's license number. dlStateCode: type: string description: The driver's license state code. cdlFlag: type: string description: 'A boolean integer: 1 (true) if the driver''s license is a commercial driver''s license; 0 (false) otherwise.' nrcmeNumber: type: string description: The 10-digit National Registry certification number from the DOT. otherID: type: string description: An alternate form of identification. otherIDType: type: string description: The type of alternate identification {id,name,value}. overallStatusDescription: type: string description: The description of the overall status of the physical exam. physicalReasonDescription: type: string description: The description of the reason for the physical exam. additionalInfo: type: string DetailsEducation: title: DetailsEducation type: object examples: - dateCompleted: '2024-05-17T21:14:30.846+00:00' timeToComplete: 4 days records: - statusId: 1a8490cb-084d-4209-bf2f-d46e41d760d6 institution: Boston University location: Boston, MA receivedResults: 'yes' applicantProvided: degree: BA major: Communications dateSpan: 1995-08 TO 1999-05 institutionProvided: degree: BA major: Communications dateSpan: 1995-08 TO 1999-05 testimonyId: f3dd7129-e553-4870-b99e-472de8d6c522 - statusId: 8f29e0de-10f2-4c84-8379-16c6eb7cdf64 description: Details from an education verification. properties: dateCompleted: type: string format: date-time example: '2024-05-17T21:14:30.846+00:00' timeToComplete: type: string example: 4 days additionalInfo: type: string records: type: array items: type: object properties: statusId: $ref: '#/components/schemas/EducationVerificationIndividualRecordStatus' institution: type: string location: type: string receivedResults: $ref: '#/components/schemas/EducationEmploymentReceivedResults' applicantProvided: type: object properties: degree: type: string major: type: string gpa: type: string dateSpan: type: string example: 1995-08 TO 1999-05 comments: type: string institutionProvided: type: object properties: degree: type: string major: type: string gpa: type: string dateSpan: type: string example: 1995-08 TO 1999-05 comments: type: string testimonyId: type: string description: Associated testimony identifier searchId: type: string description: Associated case data search identifier DetailsEmployment: title: DetailsEmployment type: object examples: - dateCompleted: '2024-05-17T20:16:30.846+00:00' timeToComplete: 6 days records: - statusId: 8f29e0de-10f2-4c84-8379-16c6eb7cdf64 - statusId: 1a8490cb-084d-4209-bf2f-d46e41d760d6 employer: Employer B location: Washington, D.C. receivedResults: 'yes' applicantProvided: position: Nurse dateSpan: 2000 - 10 to 2003 - 10 institutionProvided: position: Nurse dateSpan: 2000 - 10 to 2003 - 10 testimonyId: f3dd7129-e553-4870-b99e-472de8d6c522 description: Details from an employment verification. properties: dateCompleted: type: string format: date-time example: '2024-05-17T20:16:30.846+00:00' timeToComplete: type: string example: 6 days additionalInfo: type: string records: type: array items: type: object properties: statusId: $ref: '#/components/schemas/EmploymentVerificationIndividualRecordStatus' employer: type: string location: type: string receivedResults: $ref: '#/components/schemas/EducationEmploymentReceivedResults' applicantProvided: type: object properties: position: type: string salary: type: string dateSpan: type: string example: 2000 - 10 to 2003 - 10 additionalInfo: type: string institutionProvided: type: object properties: position: type: string salary: type: string dateSpan: type: string example: 2000 - 10 to 2003 - 10 additionalInfo: type: string testimonyId: type: string description: Associated testimony identifier searchId: type: string description: Associated case data search identifier DetailsMotorVehicle: title: DetailsMotorVehicle type: object examples: - dateCompleted: '2024-06-17T19:56:43.925+00:00' timeToComplete: 2 days records: - state: CALIFORNIA licenseNumber: E78904321 issueDate: '2022-04-22' expirationDate: '2026-04-22' licenseClass: C classDescription: REGULAR LICENSE type: PERSONAL status: VALID fullName: WILLIAMS, JACK events: - state: CA eventType: Violation description: SPEEDING INTERMEDIATE (11-19 OVER) eventDate: '2022-05-24' convictionDate: '2022-06-13' disposition: GUILTY stateCode: 346.57(5) acd: S92 avd1: SA10 avd2: SA10 avd3: SA10 location: LOS ANGELES CITY MUNICIPAL COURT - WESTWOOD commercial: false hazMat: false - state: CA eventType: Suspension description: FAILURE TO PAY FORFEITURE eventDate: '2022-08-22' clearDate: '2023-05-15' stateCode: FPF acd: D53 avd1: DE12 avd2: DE12 avd3: DE12 commercial: false hazMat: false contextualData: state=CALIFORNIA licenseNumber=E78904321 fullName=WILLIAMS, JACK hasResults: true description: Details from a motor vehicle records check. properties: dateCompleted: type: string format: date-time example: '2024-06-17T19:56:43.925+00:00' timeToComplete: type: string example: 2 days additionalInfo: type: string records: type: array items: type: object properties: state: type: string licenseNumber: type: string issueDate: type: string format: date example: '2022-04-22' expirationDate: type: string format: date example: '2026-04-22' licenseClass: type: string classDescription: type: string type: type: string status: type: string fullName: type: string restrictions: type: array items: type: string endorsements: type: array items: type: string events: type: array items: type: object properties: state: type: string eventType: type: string enum: - Violation - Suspension - Disqualified description: type: string eventDate: type: string format: date example: '2015-04-12' offenseDate: type: string format: date example: '2015-04-12' description: If applicable. convictionDate: type: string format: date example: '2015-04-12' description: If applicable. clearDate: type: string format: date example: '2015-04-12' description: If applicable. disposition: type: string stateCode: type: string acd: type: string avd1: type: string description: If applicable. avd2: type: string description: If applicable. avd3: type: string description: If applicable. location: type: string commercial: type: boolean hazMat: type: boolean contextualData: type: string hasResults: type: boolean description: True if records were found; false otherwise. This does not indicate good or bad results. DetailsSSN: title: DetailsSSN type: object examples: - dateCompleted: '2024-06-17T18:58:20.113+00:00' timeToComplete: instant records: - firstName: Jack lastName: Williams dob: '1983-03-15' city: New York state: NY zip: '10031' ssn: XXX-XX-XXXX dateFirstReported: 2019-02 dateLastReported: 2019-07 nameScore: 30 dobMatch: false county: NEW YORK - firstName: Jack lastName: Williams dob: '1983-03-15' city: Montclair state: NJ zip: '07042' ssn: XXX-XX-XXXX dateFirstReported: 2018-01 dateLastReported: 2018-05 nameScore: 30 dobMatch: false county: ESSEX results: true description: Details from a Social Security number (SSN) trace. properties: dateCompleted: type: string format: date-time example: '2024-06-17T18:58:20.113+00:00' timeToComplete: type: string example: instant additionalInfo: type: string records: type: array items: type: object properties: firstName: type: string lastName: type: string middleName: type: string dob: type: string format: date example: '1983-03-15' city: type: string state: type: string zip: type: string ssn: type: string enum: - XXX-XX-XXXX dateFirstReported: type: string example: 2018-01 dateLastReported: type: string example: 2018-05 nameScore: type: integer dobMatch: type: boolean county: type: string results: type: boolean description: True if records were found; false otherwise. This does not indicate good or bad results. DetailsSexOffender: title: DetailsSexOffender type: object examples: - dateCompleted: '2024-06-17T19:51:30.985+00:00' timeToComplete: instant records: - charge: COMMUNICATION WITH MINOR FOR IMMORAL PURPOSES offenseType: FELONY dispositionDate: '2019-07-02' disposition: GUILTY caseNumber: PD 1234567.9876543 FG comments: 'Provider: Washington Sex Offender Registry' contextualData: 'charge=COMMUNICATION WITH MINOR FOR IMMORAL PURPOSES offenseType=FELONY comments=Provider: Washington Sex Offender Registry' description: Details from a sex offender search. properties: dateCompleted: type: string format: date-time example: '2024-06-17T19:51:30.985+00:00' timeToComplete: type: string example: instant additionalInfo: type: string records: type: array items: type: object properties: charge: type: string offenseType: type: string dispositionDate: type: string format: date example: '2015-08-21' disposition: type: string caseNumber: type: string comments: type: string contextualData: type: string DetailsGlobalWatchlist: title: DetailsGlobalWatchlist type: object examples: - dateCompleted: '2024-04-05T20:22:07.735+00:00' timeToComplete: instant records: - provider: Federal Bureau of Prisons charge: UNSPECIFIED offenseType: Crime referenceNumber: 010203-0203 contextualData: provider=Federal Bureau of Prisons jurisdiction= charge=UNSPECIFIED offenseType=Crime - provider: System for Award Management (SAM) - Excluded Parties List charge: UNSPECIFIED offenseType: Crime contextualData: provider=System for Award Management (SAM) - Excluded Parties List jurisdiction= charge=UNSPECIFIED offenseType=Crime description: Details from a global watchlist records check. properties: dateCompleted: type: string format: date-time example: '2024-06-17T20:24:48.920Z' timeToComplete: type: string example: instant additionalInfo: type: string records: type: array items: type: object properties: provider: type: string jurisdiction: type: string charge: type: string offenseType: type: string dispositionDate: type: string format: date example: '2015-04-15' disposition: type: string referenceNumber: type: string comments: type: string contextualData: type: string DetailsFACIS: title: DetailsFACIS type: object examples: - dateCompleted: '2024-06-17T22:03:58.586+00:00' timeToComplete: 2 days additionalInfo: '' records: - sanctionType: Board Action sanctionDate: '2020-01-28' contextualData: sanctionType=Board Action description: Details from a Fraud Abuse Control Information System (FACIS) search. properties: dateCompleted: type: string format: date-time example: '2024-06-17T22:03:58.586+00:00' timeToComplete: type: string example: 2 days additionalInfo: type: string records: type: array items: type: object properties: sanctionType: type: string sanctionDate: type: string format: date example: '2015-04-18' specialty: type: string occupation: type: string comments: type: string upin: type: string contextualData: type: string DetailsIdentity: title: DetailsIdentity type: object examples: - dateCompleted: 1712703321520 timeToComplete: instant additionalInfo: '' serviceId: service-idv-id-liveliness verificationAttempts: - verificationResult: passed idvProviderRefId: D3CC823DF4293926C29DDBD72F8DD2E7 idvProvider: Identity Provider adjudicator: system completionStamp: 1712703321520 images: - imageType: drivers_license secureImageId: c872f431-e9e9-3c82-8896-8dd0a53d029d - imageType: liveliness secureImageId: d66b0fc8-a171-4a1b-8ad0-a6cb4aa49534 - imageType: signature secureImageId: 9f6391e3-4d76-4011-bc11-8dd0a53d029d - imageType: id_thumbnail secureImageId: 946f932e-4703-4ddb-9660-8eba53edf337 description: Details from an identity verification. properties: dateCompleted: type: number example: 1712703321520 timeToComplete: type: string example: instant additionalInfo: type: string serviceId: type: string enum: - service-idv-id - service-idv-id-liveliness verificationAttempts: type: array description: A list of verification attempts, with the most recent listed first. items: type: object properties: verificationResult: type: string enum: - not_verified - passed - failed - manual_pass - manual_fail adjudicationComments: type: string description: Comments regarding a manual verification. idvProviderRefId: type: string idvProvider: type: string adjudicator: type: string enum: - system - manual description: Null if `verificationResult` is `not_verified`. completionStamp: type: number description: Null if `verificationResult` is `not_verified`. example: 1712703321520 images: type: array description: Null if `verificationResult` is `not_verified`. items: type: object properties: imageType: type: string enum: - drivers_license - id_thumbnail - liveliness - signature secureImageId: type: string format: uuid DetailsCPLC: title: DetailsCPLC type: object description: Details from a Professional License and Certification verification. examples: - dateCompleted: '2024-05-17T21:14:30.846Z' timeToComplete: instant comments: '' serviceContext: cplcId: cb3dac22-db86-44df-8193-877559b3e8dc fields: - fieldId: licenseNumber value: 987654RN - fieldId: firstName value: Yuri - fieldId: lastName value: Smith - fieldId: state value: CA licStatus: UNENCUMBERED issueDate: '2001-08-10' expirationDate: '2024-06-30' flagged: false additionalInfo: ' Active: YES Compact Status: N/A' source: nursys rawDataType: json rawDataKey: dd123c6b-1111-1111-9eb7-1e7349b56691 properties: dateCompleted: type: string format: date-time example: '2024-05-17T21:14:30.846Z' timeToComplete: type: string example: instant comments: type: string serviceContext: type: object properties: cplcId: description: The unique ID of the professional license or certification. See [Professional license and certification](docs/reference/cplc.md) for details about the possible values. type: string fields: type: array items: type: object properties: fieldId: type: string value: type: string licStatus: type: string issueDate: type: string format: date example: '2001-08-10' expirationDate: type: string format: date example: '2024-06-30' flagged: type: boolean additionalInfo: type: string description: Always empty, except for nursys. source: type: string rawDataType: type: string example: json rawDataKey: type: string description: The S3 key to the raw data. DetailsOIG: title: DetailsOIG type: object examples: - result: no-exclusion-found input: givenName: Williams familyName: Jack govtId: 111-22-3333 dob: '1983-03-15' resultsPage: secureDocumentId: 5fee28bc-6dc4-42fc-2dcd-22c4a4858e71 nameMatchResults: [] dateCompleted: 1718649155997 timeToComplete: 2 days source: karmacheck additionalInfo: '' description: Details from an Office of Inspector General (OIG) exclusions search. properties: result: type: string enum: - no-exclusion-found - exclusion-found - no-exclusion-found-ops - exclusion-found-ops input: type: object properties: givenName: type: string familyName: type: string govtId: type: string example: 111-22-3333 dob: type: string format: date example: '1983-03-15' resultsPage: type: object properties: secureDocumentId: type: string format: uuid nameMatchResults: type: array items: type: object properties: secureDocumentId: type: string dobMatch: type: boolean ssnMatch: type: boolean dobMissing: type: boolean oigData: type: object properties: givenName: type: string middleName: type: string familyName: type: string dob: type: string npi: type: string upin: type: string general: type: string specialty: type: string street: type: string address: type: string exclType: type: string exclDate: type: string format: date example: '2020-01-15' waiver: type: string dateCompleted: type: number example: 1718649155997 timeToComplete: type: string example: 2 days source: type: string example: karmacheck additionalInfo: type: string DetailsOtherService: title: DetailsOtherService type: object description: Details from a state-specific search, Content-Based SSN Verification (CBSV), Death Master File (DMF), county civil court, socia media, or bankruptcy check. examples: - status: Clear statusId: e086eea7-e4b7-4c74-ac04-4c3b51c23a33 pendingStatusId: '' additionalInfo: '' dateCompleted: '2024-06-18T23:14:06.594Z' timeToComplete: 5 days source: karmacheck properties: status: type: string statusId: type: string pendingStatusId: type: string additionalInfo: type: string dateCompleted: type: string format: date-time example: '2024-06-17T22:03:58.586Z' timeToComplete: type: string example: 2 days source: type: string example: karmacheck DetailsInternational: title: DetailsInternational type: object description: Details from international screenings. properties: externalId: type: string format: uuid description: The service provider's ID for the candidate. source: type: string example: certn dateCompleted: type: string format: date-time example: '2024-06-11T23:02:23.156090Z' description: The date when the service was completed. timeToComplete: type: string example: instant description: The amount of time it took to complete the service. additionalInfo: type: string DetailsLegal: title: DetailsLegal type: object description: Details from a legal service. examples: - dateCompleted: 1713571200000 timeToComplete: instant additionalInfo: null type: pdf uri: Disclosure-abc1de23-45c0-4443-928b-8729790c6e07 ackData: sendReport: true valid: true list: - legalType: general-ca-disclosure signature: Jack Williams - legalType: state-city-all-disclosure signature: Jack Williams properties: dateCompleted: type: number example: 1713571200000 timeToComplete: type: string example: instant additionalInfo: type: - string - 'null' type: type: string example: pdf uri: type: string ackData: allOf: - type: object properties: valid: type: boolean - oneOf: - $ref: '#/components/schemas/LegalAcknowledgmentSignature' - $ref: '#/components/schemas/LegalAcknowledgmentDisclosures' - $ref: '#/components/schemas/LegalAcknowledgmentDisclosure' DetailsPayment: title: DetailsPayment type: object examples: - dateCompleted: 1718670225405 timeToComplete: instant additionalInfo: null orderPrice: 2995 paymentStatus: paid records: - action: payment paymentDate: 2024-06-18 00:23:43 UTC amount: 2995 paymentProviderId: payment-provider-stripe description: Details of a payment. properties: dateCompleted: type: number example: 1718670225405 timeToComplete: type: string example: instant additionalInfo: type: - string - 'null' orderPrice: type: integer example: 2995 description: The order amount in cents. For example, `2995` is $29.95. paymentStatus: type: string enum: - unpaid - paid - payment_failure - refunded - partial_refund records: type: array items: type: object properties: action: type: string enum: - payment - payment_failure - refund paymentDate: type: string example: 2024-06-18 00:23:43 UTC amount: type: number example: 2995 paymentProviderId: type: string example: payment-provider-stripe DetailsMaskShipment: title: DetailsMaskShipment description: Details of a mask shipment. allOf: - $ref: '#/components/schemas/CaseOrderDataShipment' - type: object properties: trackingNumber: type: string example: 1ZE660080325370038 courier: type: string example: UPS dateCompleted: type: string format: date-time example: '2024-07-16T20:20:15.196Z' timeToComplete: type: string example: 5 days additionalInfo: type: string examples: - recipientName: John Smith address1: 1952 Whitney Avenue address2: Unit 2 addressType: home addressSource: homeAddress city: Hamden state: CT postalCode: '06517' shippingMethod: Overnight maskType: Honeywell DC365 N95 trackingNumber: 1ZE660080325370038 courier: UPS dateCompleted: '2024-07-16T20:20:15.196Z' timeToComplete: 5 days additionalInfo: '' CaseDataPendingStatus: title: CaseDataPendingStatus type: string enum: - Drug Test Appointment Scheduled - Drug Test Appointment Change - Drug Test Appointment Canceled - Drug Test Appointment Requested - Drug Test Sent to Lab - Drug Test Received at Lab - Drug Test In Review - Drug Test Pending - Drug Test Expired - Appointment Scheduled - Appointment Rescheduled - Appointment Canceled - Appointment Requested - Pending - Appointment No Show - Partial Results - Refusal to Test - Suspended - Medical Review - Not Performed CaseDataPendingStatusID: title: CaseDataPendingStatusID type: string enum: - drugtest-appointment-scheduled - drugtest-appointment-change - drugtest-appointment-canceled - drugtest-appointment-requested - drugtest-sent - drugtest-received - drugtest-review - drugtest-pending - drugtest-expired - pending-status-scheduled - pending-status-rescheduled - pending-status-canceled - pending-status-requested - pending-status-pending - pending-status-no-show - pending-status-partial - pending-status-refusal - pending-status-suspended - pending-status-medical-review - pending-status-not-performed description: The ID of the pending status for the service. See [Case data statuses](docs/reference/case-data-status.md) for more details. AnalyteDetails: title: AnalyteDetails type: object properties: resultId: type: string description: The ID of the analyte result. result: type: string enum: - Positive - Negative - Withheld - Retest Recommended description: The analyte result. panelId: type: string description: The service provider's ID for the drug panel. analyteId: $ref: '#/components/schemas/AnalyteID' analyte: $ref: '#/components/schemas/AnalyteName' specimenType: type: string enum: - Urine - Breath screeningCutoffValue: type: string description: The numeric value of the cutoff concentration for the screening test. example: '10' screeningCutoffUnit: type: string description: The unit of measurement associated with the screening cutoff value. example: ng/mL confirmationCutoffValue: type: string description: The numeric value of the cutoff concentration for the confirmation test. example: '10' confirmationCutoffUnit: type: string description: The unit of measurement associated with the confirmation cutoff value. example: ng/mL quantity: type: string description: The numeric value of the detected concentration. example: '0' examples: - resultId: analyte-negative result: Negative panelId: '1200' analyteId: amphetamines-amp analyte: Amphetamines (AMP) specimenType: Urine screeningCutoffValue: '1000' screeningCutoffUnit: ng/mL confirmationCutoffValue: '500' confirmationCutoffUnit: ng/mL quantity: '0' EducationVerificationIndividualRecordStatus: title: EducationVerificationIndividualRecordStatus description: "The status ID of an individual education record's status in the context of an Education\ \ Verification case data record.\n\n- acknowledge (done positive): 1a8490cb-084d-4209-bf2f-d46e41d760d6\n\ - consider (done and needs review): f657c777-c38d-489b-ac26-dd9bf0a88724 \n- pending (in progress):\ \ 8f29e0de-10f2-4c84-8379-16c6eb7cdf64" type: string enum: - 1a8490cb-084d-4209-bf2f-d46e41d760d6 - f657c777-c38d-489b-ac26-dd9bf0a88724 - 8f29e0de-10f2-4c84-8379-16c6eb7cdf64 EducationEmploymentReceivedResults: title: EducationEmploymentReceivedResults enum: - pending - 'yes' - 'no' - notperformed readOnly: true description: An indicator of whether data was obtained for the service. This does not indicate good or bad data. EmploymentVerificationIndividualRecordStatus: title: EmploymentVerificationIndividualRecordStatus description: "The status ID of an individual employment record's status in the context of an Employment\ \ Verification case data record.\n\n- acknowledge (done positive): 1a8490cb-084d-4209-bf2f-d46e41d760d6\n\ - consider (done and needs review): f657c777-c38d-489b-ac26-dd9bf0a88724 \n- pending (in progress):\ \ 8f29e0de-10f2-4c84-8379-16c6eb7cdf64" type: string enum: - 1a8490cb-084d-4209-bf2f-d46e41d760d6 - f657c777-c38d-489b-ac26-dd9bf0a88724 - 8f29e0de-10f2-4c84-8379-16c6eb7cdf64 AnalyteID: title: AnalyteID type: string enum: - 6-monoacetylmorphine - amphetamine - amphetamines - amphetamines-amp - amphetamines-met - anabolic-steroids - antidepressants - barbiturates - benzodiazepines - buprenorphine - butorphanol - carisoprodol - chromate - cocaine - cotinine - ethanol-breath - ethanol-urine - fentanyl - hydrocodone - hydrocodone-hydromorphone - ketamine - marijuana - mdma-mda - meperidine - meprobamates - methadone - methamphetamine - methamphetamines - methaqualone - nalbuphine - naltrexone - nicotine - opiates - oxycodone - oxycodone-oxymorphone - oxymorphone - pcp - pentazocine - propoxyphene - specific-gravity - stimulants - synthetic-cannabionids - synthetic-opiates - tramadol - tricyclics - zolpidem-ambien description: The unique ID of an analyte. AnalyteName: title: AnalyteName type: string enum: - 6-Monoacetylmorphine - Amphetamine - Amphetamines - Amphetamines (AMP) - Amphetamines (MET) - Anabolic Steroids - Antidepressants - Barbiturates - Benzodiazepines - Buprenorphine - Butorphanol - Carisoprodol - Chromate - Cocaine - Cotinine - Ethanol Breath - Ethanol Urine - Fentanyl - Hydrocodone - Hydrocodone/Hydromorphone - Ketamine - Marijuana - MDMA/MDA - Meperidine - Meprobamates - Methadone - Methamphetamine - Methamphetamines - Methaqualone - Nalbuphine - Naltrexone - Nicotine - Opiates - Oxycodone - Oxycodone/Oxymorphone - Oxymorphone - PCP - Pentazocine - Propoxyphene - Specific Gravity - Stimulants - Synthetic Cannabinoids - Synthetic Opiates - Tramadol - Tricyclics - Zolpidem (Ambien) description: The name of the analyte. ServiceGroupServices: title: ServiceGroupServices type: object examples: - serviceGroupServices: - serviceGroupId: 8afb91ff-7958-4f42-90e1-9bfed7db9bbf serviceGroupName: Basic Check 2023-04-13T20:51:49.938Z serviceGroupPrice: 1337 serviceGroupDescription: Common services for a basic background check serviceId: 03635d39-c9df-418f-948d-10d38a7e06db serviceName: National Sex Offender Search Alt serviceDescription: Search for candidate sex offender history serviceTypeId: 30bc2c03-c8dd-409a-8da6-e0070ea6a681 serviceTypeName: Screening serviceGroupEnabled: true serviceEnabled: true serviceAutoProcessEnabled: true serviceTypeEnabled: true serviceCategory: Criminal Check serviceCategoryId: service-cat-criminal conditional: false defaultSelected: false serviceGroupServicesId: d2ff35ec-4da4-4a82-bb72-80980fc658ff required: - serviceGroupServices properties: serviceGroupServices: type: array description: A list of services, each containing detailed information about a service. items: type: object required: - serviceGroupId - serviceGroupName - serviceGroupDescription - serviceId - serviceName - serviceDescription - serviceTypeId - serviceTypeName - serviceGroupEnabled - serviceEnabled - serviceAutoProcessEnabled - serviceTypeEnabled - conditional - defaultSelected - serviceGroupServicesId properties: serviceGroupId: type: string serviceGroupName: type: string serviceGroupPrice: type: number description: The price of the package in United States cents. This is the price that candidates will pay via Stripe during onboarding to begin their check. Customers can request that a price be set on a package to pass on some or all of the price of the check to the candidate. serviceGroupDescription: type: string serviceId: type: string description: The unique ID of the service. See [Service](docs/reference/service.md) for a list of possible services. serviceName: type: string description: The name of the service. serviceDescription: type: string serviceTypeId: $ref: '#/components/schemas/ServiceTypeId' serviceTypeName: $ref: '#/components/schemas/ServiceTypeName' serviceSubTypeId: type: string enum: - jurisdiction-nationwide - jurisdiction-district - jurisdiction-statewide description: The ID of the subtype for the service. This is applicable only when `serviceId` is `ee774b82-a411-4e2b-a38f-c0641bd836e7` (Federal Criminal Search). serviceSubTypeName: type: string enum: - Nationwide - District - Statewide description: The service subtype. serviceGroupEnabled: type: boolean serviceEnabled: type: boolean serviceAutoProcessEnabled: type: boolean description: True if the service is available for a case that's ordered using the PII entry flow. False if the service is unavailable when using the PII entry flow. serviceTypeEnabled: type: boolean serviceCategory: $ref: '#/components/schemas/ServiceCategory' serviceCategoryId: $ref: '#/components/schemas/ServiceCategoryId' serviceSubCategory: $ref: '#/components/schemas/ServiceSubCategory' serviceSubCategoryId: $ref: '#/components/schemas/ServiceSubCategoryId' conditional: type: boolean description: True if the service is available only when adding to an order; false otherwise. A conditional service indicates that another service needs to run before this service can run. defaultSelected: type: boolean description: True if the service is selected by default when a dashboard user selects the package for a case; false otherwise. serviceGroupServicesId: type: string DocumentCreateRecords: title: DocumentCreateRecords type: object required: - list properties: list: type: array items: type: object required: - originalFileName - documentTypeId - fileKey properties: originalFileName: type: string description: The file name for the document that was uploaded. documentTypeId: type: string description: 'The type of document to store. Allowed value: `candidate-disclosures-and-authorizations`' fileKey: type: string description: The value from the [Generate secure document upload URLs](karma-api-openapi.yaml/paths/~1document~1secure~1upload/post) response. title: type: string description: A title for the document. description: type: string description: A description of the document. fileFormat: description: The file format (e.g. pdf, jpeg, png) type: string enum: - pdf - jpg - jpeg - png accessGrants: type: object required: - caseId properties: caseId: type: string description: The ID of the case to associate with the document. DocumentRecords: title: DocumentRecords type: object required: - list properties: list: type: array items: type: object required: - secureDocumentId properties: secureDocumentId: type: string description: The unique identifier for the secure document. DocumentFiles: title: DocumentFiles type: object required: - files properties: files: type: array description: An array that enables the generation of upload URLs for multiple files at once. Note that the order matters. Make sure to upload the first file to the first URL, and so on. items: type: object required: - documentTypeId - mimeType properties: documentTypeId: type: string description: 'The ID for the type of document to be uploaded. Allowed value: `candidate-disclosures-and-authorizations`' mimeType: type: string description: The MIME type of the file to be uploaded. See [Get secure document MIME types](karma-api-openapi.yaml/paths/~1document~1secure~1mimetypes/get) for details. DocumentList: title: DocumentList type: array items: type: object required: - id - documentTypeId - title - description - fileName - fileKey - fileFormat - crUserId - displayReport properties: id: type: string description: The ID of a secure document. documentTypeId: $ref: '#/components/schemas/DocumentTypeID' title: type: - string - 'null' description: type: - string - 'null' fileName: type: string fileKey: type: string description: The reference ID of the file in KarmaCheck's storage system. fileFormat: type: string crUserId: type: string description: The ID of the user that created a record of the secure document. displayReport: type: integer description: 'A boolean integer: 1 (true) if the document is included in the report for the case; 0 (false) otherwise.' DocumentTypeID: title: DocumentTypeID type: string enum: - 06813017-94ef-4250-9083-375935ce9dc8 - 4ad585b6-b087-11ec-9bf1-df77b62cb712 - 7d25e1de-0b46-4a6c-bd06-d0b55526af08 - 857d42f3-73b6-4588-8855-0ab49e376a84 - candidate-disclosures-and-authorizations - cbsv-authorization - da070d09-b52f-4423-9c94-eff458ea3aa0 - education-document - employment-document - ohs-breath-alcohol - ohs-chain-of-custody - ohs-occupational-health - ohs-participant-passport - ohs-result-certificate - search-result description: The ID of the document type that the secure document is categorized under. See [Secure document type](docs/reference/secure-document-type.md) for details about each possible document type. DocumentType: title: DocumentType type: array items: type: object required: - id - secureDocumentType - displayName properties: id: $ref: '#/components/schemas/DocumentTypeID' description: The unique identifier for the secure document type. See [Secure document type](docs/reference/secure-document-type.md) for details about each possible document type. secureDocumentType: type: string enum: - tin-check-result - oig-verification-proof - provider-html-report - identification - candidate-disclosures-and-authorizations - cbsv-authorization - international-report - education-document - employment-document - ohs-breath-alcohol - ohs-chain-of-custody - ohs-occupational-health - ohs-participant-passport - ohs-result-certificate - search-result description: The name of the secure document type. displayName: type: string description: The name of the secure document type that's displayed to dashboard users. CPLC: title: CPLC type: object required: - id - name - category - enabled - crStamp - modStamp properties: id: description: 'The [unique identifier](docs/reference/cplc.md) of a professional license or certification. ' type: string name: description: The [name](docs/reference/cplc.md) of the professional license or certification. type: string category: type: string enum: - Finance - General - Healthcare - Other description: The category that the professional license or certification falls under. enabled: type: boolean description: True if verification of the professional license or certification is enabled in KarmaCheck; false otherwise. crStamp: type: string format: date-time example: '2021-08-06T02:08:35.000Z' modStamp: type: string format: date-time example: '2021-08-06T02:08:35.000Z' CPLCDefinition: title: CPLCDefinition type: object examples: - id: 041c0aa6-2d64-48d0-b672-83bfcd10d47f name: CFP category: Finance enabled: true crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2021-08-05T18:01:34.000Z' fields: - id: 413b926c-57f0-401a-9d9f-1af89f70607a fieldId: lastName cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Last Name as on License required: true displayLabel: Last Name as on License crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 6 placeholder: Doe - id: 54cfa3aa-dd76-4627-8fa9-dcbea5fc5c37 fieldId: middleInitial cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Middle Initial as on License required: false displayLabel: Middle Initial as on License crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 5 placeholder: B - id: 74bfafba-972e-4a61-a308-7252eadd2e79 fieldId: licenseNumber cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: 'License/Cert # or ID' required: true displayLabel: 'License/Cert # or ID' crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 2 placeholder: 1234ABC-12 - id: 7ea4e04d-a6e4-49d2-8c14-d08834279766 fieldId: firstName cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: First Name as on License required: true displayLabel: First Name as on License crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 4 placeholder: Jane - id: ce1bc678-a5fa-47a9-bae8-b6310268e058 fieldId: state cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: State Where Issued required: false displayLabel: State Where Issued crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 1 placeholder: CA - id: cf71fbad-8025-498c-82fd-c0fd54fb5aea fieldId: additionalInfo cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Other Info Provided required: false displayLabel: Other Info Provided crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 9 placeholder: Any additional information - id: e1460773-fac4-4df7-8ad5-994f2a54064e fieldId: issueDate cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Issued/Completed Date required: false displayLabel: Issued/Completed Date crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 7 placeholder: 01/01/2000 - id: e943f10d-1c2c-4f82-b1ea-1978b2f09063 fieldId: expirationDate cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Expiration/Renewal Date required: false displayLabel: Expiration/Renewal Date crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 8 placeholder: 01/01/2030 - id: f1969299-906a-4942-8dac-d8cf1dc94290 fieldId: certifyingBody cplcId: 041c0aa6-2d64-48d0-b672-83bfcd10d47f label: Certifying Body required: true displayLabel: Certifying Body crStamp: '2021-08-05T18:01:34.000Z' modStamp: '2024-05-21T14:14:02.000Z' ordinal: 0 placeholder: American Heart Association properties: id: description: 'The [unique identifier](docs/reference/cplc.md) of a professional license or certification. ' type: string name: description: The [name](docs/reference/cplc.md) of the professional license or certification. type: string category: type: string enum: - Finance - General - Healthcare - Other description: The category that the professional license or certification falls under. enabled: type: boolean description: True if verification of the professional license or certification is enabled in KarmaCheck; false otherwise. crStamp: type: string format: date-time example: '2021-08-06T02:08:35.000Z' modStamp: type: string format: date-time example: '2021-08-06T02:08:35.000Z' fields: type: array description: Information about each field that's associated with the professional license or certification. Each field represents a specific piece of information, such as the issue date or completion date of the license or certification. items: type: object properties: id: type: string fieldId: type: string description: The ID of a field. cplcId: type: string description: The ID of the professional license or certification. label: type: string description: The descriptive label for the field. required: type: boolean description: True if information for the field needs to be provided; false otherwise. displayLabel: type: string crStamp: type: string format: date-time example: '2021-08-06T02:08:35.000Z' modStamp: type: string format: date-time example: '2024-05-21T14:14:02.000Z' ordinal: type: number placeholder: type: string UserGetUserByGroup: title: User type: object description: This model represents a User entity that is returned by the Get Users By Group Profile API. required: - id - givenName - familyName - enabled properties: id: type: string givenName: type: string familyName: type: string enabled: type: integer enum: - 1 - 0 description: 'A boolean integer: 1 (true) if the user''s account is enabled in KarmaCheck; 0 (false) if the user account is disabled.' UserGetUserByGroupInternal: title: User (Internal) type: object description: This model represents a User entity that is returned by the Get Users By Group Profile API. required: - id - givenName - familyName - enabled properties: id: type: string givenName: type: string familyName: type: string enabled: type: integer enum: - 1 - 0 description: 'A boolean integer: 1 (true) if the user''s account is enabled in KarmaCheck; 0 (false) if the user account is disabled. By default, all users are returned. Control by passing `includeDisabled=true|false` as a query param.' username: type: string format: email description: Not returned by default. Control by passing `includeEmail=true|false` as a query param. mfa: type: object description: Not returned by default. Control by passing `includeMfa=true|false` as a query param. required: - enrollments properties: enrollments: type: array items: $ref: '#/components/schemas/MFAEnrollment' MFAEnrollment: type: object examples: - id: bded5fd7-7c33-4984-8edd-3fee6f3ef3f5 activatedStamp: '2025-12-16T19:23:55.000Z' crStamp: '2025-12-16T19:23:16.000Z' label: 1Password (Work Mac) lastUsedStamp: '2025-12-16T19:23:55.000Z' lastVerifiedStamp: '2025-12-16T19:23:55.000Z' method: totp modStamp: '2025-12-16T19:24:10.000Z' status: revoked revokedBy: id: 3bedd2fc-3c87-495a-a3f8-a30daa73004c username: me@example.com revokedStamp: '2025-12-16T19:24:10.000Z' title: MFA Enrollment required: - id - crStamp - modStamp - label - method - status properties: id: type: string description: A unique ID associated with the MFA enrollment. crStamp: type: string format: date-time description: The UTC timestamp when the MFA enrollment was created. example: '2025-11-05T18:35:34.431Z' modStamp: type: string format: date-time description: The UTC timestamp when the MFA enrollment was last modified. example: '2025-11-05T18:35:34.431Z' activatedStamp: type: string format: date-time description: The UTC timestamp when the MFA enrollment was activated. example: '2025-11-05T18:35:34.431Z' lastUsedStamp: type: string description: The UTC timestamp when the MFA enrollment was last used for a verification attempt. example: '2025-11-05T18:35:34.431Z' format: date-time lastVerifiedStamp: type: string format: date-time description: The UTC timestamp when a challenge against this MFA enrollment was last verified. example: '2025-11-05T18:35:34.431Z' label: type: string minLength: 1 maxLength: 64 description: The human-friendly label associated with the MFA enrollment. example: 1Password (Work Mac) default: Device method: enum: - totp description: The MFA enrollment method, such as time-based one-time password. status: enum: - active - revoked - pending description: The current status of the MFA enrollment. revokedBy: type: object description: Details about the MFA enrollment's revocation, if its status is "revoked". required: - id - username - revokedStamp properties: id: type: - string - 'null' description: The ID of the user that revoked the MFA enrollment. username: type: - string - 'null' description: The username of the user that revoked the MFA enrollment. revokedStamp: type: string format: date-time example: '2025-11-05T18:35:34.431Z' description: The UTC timestamp when the MFA enrollment was revoked. SearchDetails: title: searchDetails type: object required: - vbookTypeId properties: vbookTypeId: type: string description: The type of vBook items you want returned. Currently only supports employment(vbt_employment) and education(vbt_education). nameQuery: type: string description: 'The name in which you want to search for. Not providing this will return all vbookType items. Must be valid JSON, for example if you want to search for a back slash (\) you must escape it as "\\". ' ListMetadata: title: ListMetadata type: object properties: page: type: number description: The page to return pageSize: type: number description: The size of each page PublicVerificationBookItem: title: PublicVerificationBookItem type: object properties: id: type: string description: Id of the verification book item. city: type: string description: City of the verification book item. state: type: string description: State of the verification book item. name: type: string description: Name of the verification book item. securitySchemes: JWT: type: http scheme: bearer