### Example 'Connect to Checkr' Link Source: https://docs.checkr.com/partners An example of a complete 'Connect to Checkr' link for embedding in your application. It includes the `client_id`, a `redirect_uri` for callbacks, and a `state` parameter for security and tracking. ```url https://partners.checkr.com/authorize/{client_id}?redirect_uri=https://partnerinc.com/checkr/callback&state=79a3ead9-2768-477f-8eca-724890dcf8d6 ``` -------------------------------- ### Account Hierarchy API Response Examples (JSON) Source: https://docs.checkr.com/partners These JSON examples illustrate the potential responses from the Checkr API when querying for a customer's account hierarchy. They cover scenarios where the hierarchy is not enabled, enabled but empty, and enabled with defined nodes. ```json { "error": "Sorry, your account is not enabled for segmentation" } ``` ```json { "data": [], "object": "list", "next_href": null, "previous_href": null, "count": 0 } ``` ```json { "data": [ { "custom_id": "ROOT_74407af0533e", "name": "Root", "tier": "Company", "parent_custom_id": null }, { "custom_id": "CHLD_e7c3ab7bf4ad", "name": "Child 1", "tier": "Department", "parent_custom_id": "ROOT_74407af0533e" }, { "custom_id": "CHLD_a106e1bfcfd2", "name": "Child 2", "tier": "Department", "parent_custom_id": "ROOT_74407af0533e" } ], "object": "list", "next_href": null, "previous_href": null, "count": 3 } ``` -------------------------------- ### Get Compact JSON with jq Source: https://docs.checkr.com/partners This example shows how to use the `jq` command-line tool to convert a pretty-printed JSON object into a compact, single-line format. This compact JSON is necessary for generating the HMAC signature. ```bash compact_json=$(jq -c < example_response.json) ``` -------------------------------- ### Initialize Checkr Sign-up Flow (JavaScript) Source: https://docs.checkr.com/embeds A standalone example of initializing the Checkr Sign-up & Connect embed object in JavaScript. This is often a prerequisite step before rendering the embed inline or as a modal, requiring 'oauthTokenPath' and partner details. ```javascript const embed = new Checkr.Embeds.SignUpFlow({ oauthTokenPath='/your-backend/checkr-oauth-token', partner: { id: 'abcdef1', name: 'Enterprise Partner' } }) ``` -------------------------------- ### POST /invitations Source: https://docs.checkr.com/partners Initiates the Checkr-Hosted Apply Flow, which automates the collection of PII and authorization from candidates. This flow guides candidates through several screens to gather necessary information for background checks. ```APIDOC ## POST /invitations ### Description Initiates the Checkr-Hosted Apply Flow to collect candidate PII and authorization. Presents candidates with a series of screens for data entry, rights acknowledgment, disclosures, and final authorization. ### Method POST ### Endpoint /invitations ### Parameters #### Request Body - **candidate_id** (string) - Required - The ID of the candidate for whom the invitation is being created. - **screening_id** (string) - Required - The ID of the screening to be associated with this invitation. ### Request Example ```json { "candidate_id": "cand_123abc", "screening_id": "scr_xyz789" } ``` ### Response #### Success Response (201 Created) - **id** (string) - The unique identifier for the created invitation. - **status** (string) - The current status of the invitation. - **flow_url** (string) - The URL candidates will use to access the hosted apply flow. #### Response Example ```json { "id": "inv_abcdef123", "status": "pending", "flow_url": "https://checkr.com/apply/inv_abcdef123" } ``` ``` -------------------------------- ### Checkr Account Creation Example Response (JSON) Source: https://docs.checkr.com/partners This JSON object represents an example response when creating a Checkr account. It includes details about the account, such as its ID, name, compliance state, and authorization status. The `authorized` field is set to `false`, indicating that the user has not yet provided explicit authorization for the application to interact with Checkr on their behalf. This response is typically received after a successful account creation request where `oauth_authorize` was set to `false`. ```json { "id": "dwe2u29j7gg47p8ed7wa", "object": "account", "name": "Customer Services Inc.", "default_compliance_state": "CA", "authorized": false, // false means account is not yet credentialed "purpose": "employment", "user": { "email": "user@email.com", "full_name": "Jane Doe" }, "company": { "industry": "72", "incorporation_state": "MA", "dba_name": "Customer Services", "website": "https://company.com", "tax_id": "123456789", "incorporation_type": "corporation", "street": "123 Main Street", "zipcode": "10200", "city": "Brooklyn", "state": "NY", "phone": "222-222-2222" } ... } ``` -------------------------------- ### Basic Embed Authentication Setup (JS & React) Source: https://docs.checkr.com/embeds Set up Checkr Embeds to initiate the SessionToken request process by specifying the backend endpoint using `sessionTokenPath`. This is the initial step where the embed communicates with your server to obtain a token. ```javascript const embed = new Checkr.Embeds.NewInvitation({ sessionTokenPath: '/your-backend/session-tokens' }) ``` ```react ``` -------------------------------- ### Example Account API Response - JSON Source: https://docs.checkr.com/partners This JSON object represents a typical response from the Checkr Account API, detailing account information, company details, and available screening types. It's used to understand the structure of returned account data. ```json { "id": "e44aa283528e6fde7d542194", "object": "account", "adverse_action_email": "john.doe@example.com", "api_authorized": true, "authorized": true, "available_screenings": [ "county_civil_search", "county_criminal_search", "municipal_criminal_search", "employment_verification", "federal_civil_search", "federal_criminal_search", "motor_vehicle_report", "national_criminal_search", "sex_offender_search", "ssn_trace", "state_criminal_search" ], "billing_email": "john.doe@example.com", "company": { "name": "Acme Corporation", "dba_name": "ACME", "street": "123 Main St", "city": "Wilmington", "state": "DE", "zipcode": "19801", "phone": "206-555-0100", "website": "https://example.com", "industry": "52-59", "incorporation_state": "DE", "incorporation_type": "llc" }, "compliance_contact_email": "compliance.team@example.com", "created_at": "2020-01-07T00:26:49Z", "default_compliance_city": "San Francisco", "default_compliance_state": "CA", "geos_required": false, "name": "Acme Corp", "purpose": "employment", "support_email": "support@example.com", "support_phone": "206-555-0188", "technical_contact_email": "jane.smith@example.com", "uri": "/v1/accounts/e44aa283528e6fde7d542194", "uri_name": "acme-corp" } ``` -------------------------------- ### Handle OAuth Token Exchange (JavaScript) Source: https://docs.checkr.com/embeds An example of a backend endpoint implementation in JavaScript using Axios to exchange an authorization code for an access token with the Checkr API. This is crucial for the authentication flow after a user completes the signup embed. ```javascript import axios from "axios"; async function createOauthToken(body) { try { const response = await axios({ method: "POST", url: `https://api.checkr.com/oauth/tokens`, headers: { "Content-Type": "application/x-www-form-urlencoded", }, data: body, }); return response.data; } catch (error) { throw error.response.errors; } } async function getOauthToken(req, context) { const { code } = await req.json(); const body = { grant_type: "authorization_code", client_id: "", client_secret: "", code: code, }; const { access_token } = await createOauthToken(body); //Decide where & how you want save the oauth token await saveToken(access_token); res.status(200).json({ message: 'Token created successfully' }); } ``` -------------------------------- ### Add NewInvitation Embed Inline with JavaScript Source: https://docs.checkr.com/embeds This JavaScript example shows how to embed the Checkr NewInvitation component directly into your web page. It involves creating an instance of the `NewInvitation` embed and then calling the `render` method with the ID of the HTML element where the embed should be displayed. This is suitable for scenarios where the invitation form should be visible on the page from the start. ```javascript const embed = new Checkr.Embeds.NewInvitation()embed.render('#your-placeholder-div') ``` -------------------------------- ### Retrieve Customer Account Hierarchy (Shell) Source: https://docs.checkr.com/partners This command retrieves the account hierarchy for a given customer using their access token. It demonstrates the GET request to the /v1/nodes endpoint with pagination parameters. The response will vary based on whether the account hierarchy is enabled and if any nodes are defined. ```shell $ curl -X GET /v1/nodes?page=1&per_page=25 -u {access_token} ``` -------------------------------- ### Customize Modal Width for Checkr Embed (JavaScript) Source: https://docs.checkr.com/embeds Provides an example of how to set a custom width for the Checkr Sign-up & Connect embed when launched as a modal. This option allows adjustment of the modal's desktop display size. ```javascript embed.modal({ width: '700px' }) ``` -------------------------------- ### Checkr API SessionToken Response Source: https://docs.checkr.com/embeds Example JSON response from the Checkr API containing a generated SessionToken. This token is then returned to the frontend for use with Checkr Embeds. ```json { "token": "example-session-token" } ``` -------------------------------- ### Get Account Credentialing Status Source: https://docs.checkr.com/partners Check the credentialing status of a customer account using their access token. The `authorized` parameter in the response indicates if the account is credentialed. ```APIDOC ## GET /v1/account ### Description Retrieves the credentialing status of a customer account. ### Method GET ### Endpoint /v1/account ### Parameters #### Query Parameters - **access_token** (string) - Required - The customer's access token. ### Response #### Success Response (200) - **authorized** (boolean) - True if the account is credentialed, false otherwise. #### Response Example ```json { "authorized": true } ``` ``` -------------------------------- ### Add NewInvitation Embed as a Modal with JavaScript Source: https://docs.checkr.com/embeds This JavaScript code provides an example of how to launch the Checkr NewInvitation embed as a modal dialog. It involves obtaining a reference to a button element and attaching an event listener to its click event. When the button is clicked, a new `NewInvitation` embed is created and its `modal` method is called to display it. ```javascript const btn = document.getElementById('your-button') btn.addEventListener('click', event => { const embed = new Checkr.Embeds.NewInvitation() embed.modal() }) ``` -------------------------------- ### Log Invitation Details Source: https://docs.checkr.com/partners/images/StagingEnvironmentPostmanCollection This snippet logs invitation details, including the invitation ID and URL, to the console. It is intended to run as a pre-request script, informing the user about the invitation status and guiding them to complete the invitation manually. It uses Postman's `pm.variables.get()` function to access previously set variables. ```javascript console.log("Step 2 - Your invitation ID Is " + pm.variables.get('invitation_id') + "and your invitation URL is below. Paste the URL into your browser and complete the invitation to move forward."); console.log(pm.variables.get('invitation_url')); console.log(""); console.log("If you have a webhook endpoint, you should have recieved an invitation.created event"); console.log(""); console.log("The scripts will now loop for the next 10 minutes and poll for invitation status. Complete the invitation manually for a report to be created."); console.log("") ``` -------------------------------- ### Checkr-Hosted Signup Flow URLs (Production) Source: https://docs.checkr.com/partners These are the production URLs for initiating the Checkr-Hosted Signup flow. They serve the same functions as the staging URLs but for live customer accounts, using your production `client_id`. ```text https://partners.checkr.com/authorize/{client_id}/signup https://partners.checkr.com/authorize/{client_id}/signin https://partners.checkr.com/authorize/{client_id} ``` -------------------------------- ### Postman: Get Invitation Status Request and Test Script Source: https://docs.checkr.com/partners/images/StagingEnvironmentPostmanCollection This snippet shows how to retrieve the status of a previously created invitation using the Checkr API in Postman. It includes a GET request and a test script to validate the response code. ```javascript // Assertions pm.test("GET Invitation Response Code " + pm.response.code, function () { postman.setNextRequest(null); pm.expect(pm.response.code).to.be.oneOf([200,201,202]); postman.setNextRequest(); }); ``` -------------------------------- ### Checkr-Hosted Signup Flow URLs (Staging) Source: https://docs.checkr.com/partners These URLs are used to initiate the Checkr-Hosted Signup flow for staging environments. They allow customers to sign up for a new account, sign in to an existing one, or choose between the two, identified by your `client_id`. ```text https://partners.checkrhq-staging.net/authorize/{client_id}/signup https://partners.checkrhq-staging.net/authorize/{client_id}/signin https://partners.checkrhq-staging.net/authorize/{client_id} ``` -------------------------------- ### Launch Checkr Sign-up Embed as Modal (JavaScript) Source: https://docs.checkr.com/embeds Illustrates how to trigger the Checkr Sign-up & Connect embed to display as a modal window upon a user interaction, such as clicking a button. It requires 'oauthTokenPath' and partner details. ```javascript const btn = document.getElementById('your-button') btn.addEventListener('click', event => { const embed = new Checkr.Embeds.SignUpFlow({ oauthTokenPath='/your-backend/checkr-oauth-token', partner: { id: 'abcdef1', name: 'Enterprise Partner' } }) embed.modal() }) ``` -------------------------------- ### Get Invitation Status Source: https://docs.checkr.com/partners/images/StagingEnvironmentPostmanCollection Retrieves the current status of a background check invitation. ```APIDOC ## GET /v1/invitations/{invitation_id} ### Description Retrieves the status and details of a specific background check invitation using its unique ID. ### Method GET ### Endpoint /v1/invitations/{invitation_id} ### Parameters #### Path Parameters - **invitation_id** (string) - Required - The unique identifier of the invitation. ### Response #### Success Response (200, 201, 202) - **id** (string) - The unique identifier for the invitation. - **status** (string) - The current status of the invitation (e.g., "invited", "adjudicating", "completed"). - **...other invitation details** #### Response Example ```json { "id": "inv_a1b2c3d4e5f6", "status": "completed", "candidate_id": "cand_a1b2c3d4e5f6", "package": "pre_employment" } ``` ``` -------------------------------- ### GET /v1/reports/{report_id}/assessments Source: https://docs.checkr.com/partners Retrieves the applied assessments for a specific report. These assessments are generated by Checkr Assess to apply pre-adjudication rules. ```APIDOC ## GET /v1/reports/{report_id}/assessments ### Description Retrieves the applied assessments for a specific report. These assessments are generated by Checkr Assess to apply pre-adjudication rules. ### Method GET ### Endpoint `https://api.checkr.com/v1/reports/{report_id}/assessments` ### Parameters #### Path Parameters - **report_id** (string) - Required - The ID of the report for which to retrieve assessments. ### Request Example ```bash curl -X GET https://api.checkr.com/v1/reports/{report_id}/assessments \ -u {access_token}: ``` ### Response #### Success Response (200) - **data** (array) - A list of applied assessments. - **value** (string) - The outcome of the assessment (e.g., "eligible"). - **created_at** (string) - The timestamp when the assessment was created. - **ruleset** (object) - Information about the ruleset used for the assessment. - **results** (array) - The specific rules and their outcomes. - **object** (string) - The type of object returned (e.g., "list"). - **count** (integer) - The number of assessments returned. #### Response Example ```json { "data": [ { "value": "eligible", "created_at": "2014-01-18T12:34:00Z", "ruleset": { "id": "e44aa283528e6fde7d542194", "name": "Ruleset for employees in Arizona", "version": { "number": 5 } }, "results": [ { "value": "eligible", "assessed_objects": [ { "object_id": "e44aa283528e6fde7d542194", "object_type": "criminal_charge" } ], "rule": { "name": "Allow dismissed charges rule", "type": "lookback_period" } } ] } ], "object": "list", "count": 1 } ``` ``` -------------------------------- ### Retrieve Checkr Packages Source: https://docs.checkr.com/partners Fetches a paginated list of Checkr packages. This is useful for displaying available screening packages to users. The response includes package details like ID, name, price, and associated screening types. Consider pagination and webhooks for real-time updates. ```shell curl -X GET https://api.checkr.com/v1/packages -u {access_token}: ``` -------------------------------- ### GET /v1/reports/{report_id} Source: https://docs.checkr.com/partners Retrieves the common screening statuses for a given report ID. It allows for including various screening details in the response. ```APIDOC ## GET /v1/reports/{report_id} ### Description Retrieves the common screening statuses for a given report ID. It allows for including various screening details in the response. ### Method GET ### Endpoint `https://api.checkr.com/v1/reports/{report_id}` ### Parameters #### Path Parameters - **report_id** (string) - Required - The ID of the report to retrieve. #### Query Parameters - **include** (string) - Optional - A comma-separated list of screenings to include in the response (e.g., `ssn_trace,county_criminal_searches,global_watchlist_search,national_criminal_search,sex_offender_search,motor_vehicle_report`). ### Request Example ```bash curl -X GET https://api.checkr.com/v1/reports/{report_id}?include=ssn_trace,county_criminal_searches,global_watchlist_search,national_criminal_search,sex_offender_search,motor_vehicle_report -u {access_token}: ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the report. - **object** (string) - The type of object returned (e.g., "report"). - **uri** (string) - The API endpoint for the report. - **status** (string) - The overall status of the report (e.g., "pending", "clear", "consider"). - **ssn_trace** (object) - Details of the SSN trace screening. - **county_criminal_searches** (array) - A list of county criminal search results. #### Response Example ```json { "id": "4722c07dd9a10c3985ae432a", "object": "report", "uri": "/v1/reports/4722c07dd9a10c3985ae432a", "status": "pending", "ssn_trace": { "id": "e44aa283528e6fde7d542194", "object": "ssn_trace", "uri": "/v1/ssn_traces/539fd88c101897f7cd000001", "status": "clear", ... }, "county_criminal_searches": [ { "id": "58845a3ea0fcd97136763136", "object": "county_criminal_search", "uri": "/v1/county_criminal_searches/58845a3ea0fcd97136763136", "status": "clear", ... }, { "id": "58845a3ea0fcd97136763137", "object": "county_criminal_search", "uri": "/v1/county_criminal_searches/58845a3ea0fcd97136763137", "status": "pending", ... } ], ... } ``` ``` -------------------------------- ### Retrieve Customer Package List (Shell) Source: https://docs.checkr.com/partners This snippet shows how to retrieve a list of all configured packages for a customer's account. This is used when account hierarchy is not enabled or when packages are not directly associated with nodes. It requires an access token for authentication. ```shell $ curl -X GET https://api.checkr.com/v1/packages -u {access_token}: ``` -------------------------------- ### Request Background Check (Invitation) Source: https://docs.checkr.com/partners Initiates a background check by creating an invitation for a specific candidate. ```APIDOC ## POST /invitations ### Description Creates a new background check invitation for a candidate. Requires a Checkr Candidate ID. You can either use an existing candidate's ID or create a new one before sending this request. ### Method POST ### Endpoint /invitations ### Parameters #### Request Body - **candidate_id** (string) - Required - The ID of the candidate for whom the background check is being requested. - **package** (string) - Required - The slug of the package to use for the background check. ### Request Example ```bash curl -X POST https://api.checkr.com/v1/invitations -u {access_token}: -d candidate_id={candidate_id} -d package={package_slug} ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier for the invitation. - **object** (string) - Type of the object, "invitation". - **candidate_id** (string) - The ID of the candidate associated with this invitation. - **package** (object) - Details of the package used for the invitation. - **status** (string) - The current status of the invitation (e.g., "invited"). #### Response Example ```json { "id": "inv_xxxxxxxxxxxxxxxx", "object": "invitation", "candidate_id": "e44aa283528e6fde7d542194", "package": { "id": "pkg_xxxxxxxxxxxxxxxx", "name": "Tasker Standard", "slug": "tasker_standard" }, "status": "invited", ... } ``` ``` -------------------------------- ### GET /v1/reports/{report_id} Source: https://docs.checkr.com/partners/images/StagingEnvironmentPostmanCollection Retrieves a specific report by its ID, with options to include related data like candidate information and various search results. ```APIDOC ## GET /v1/reports/{report_id} ### Description Retrieves a specific report by its ID. You can specify which related data to include in the response using the `include` query parameter. ### Method GET ### Endpoint /v1/reports/{{report_id}} ### Query Parameters - **include** (string) - Optional - A comma-separated list of data to include. Possible values include: `candidate`, `ssn_trace`, `county_criminal_searches`, `motor_vehicle_report`. ### Request Example ```json { "request": "GET {{endpoint_url}}/v1/reports/{{report_id}}?include=candidate,ssn_trace,county_criminal_searches,motor_vehicle_report" } ``` ### Response #### Success Response (200) Details of the requested report, including associated candidate information and search results as specified by the `include` parameter. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### List Packages Source: https://docs.checkr.com/partners Retrieves a paginated list of available screening packages. You can specify 'per_page' to control the number of results. ```APIDOC ## GET /v1/packages ### Description Retrieves a list of available screening packages. The response is paginated, with a default of 25 objects per page. You can adjust the number of results using the `per_page` query parameter. ### Method GET ### Endpoint /v1/packages ### Query Parameters - **per_page** (integer) - Optional - The number of results to return per page. ### Response #### Success Response (200) - **data** (array) - An array of package objects. - **id** (string) - Unique identifier for the package. - **object** (string) - Type of the object, "package". - **price** (integer) - The price of the package in cents. - **apply_url** (string) - URL for applying to this package. - **created_at** (string) - Timestamp of package creation. - **deleted_at** (null) - Timestamp of package deletion, if applicable. - **name** (string) - The name of the package. - **screenings** (array) - A list of screening types included in the package. - **slug** (string) - A URL-friendly identifier for the package, used in API calls. - **uri** (string) - The API endpoint for this package resource. - **object** (string) - Type of the object, "list". - **next_href** (null) - URL for the next page of results. - **previous_href** (null) - URL for the previous page of results. - **count** (integer) - The total number of packages. #### Response Example ```json { "data": [ { "id": "c6759e59e807618f8bcbcbd37a", "object": "package", "price": 2500, "apply_url": "https://apply.checkr.com/apply/customer-services-inc/532c20ea819b", "created_at": "2019-08-07T22:17:50Z", "deleted_at": null, "name": "Tasker Standard", "screenings": [ { "type": "county_criminal_search", "subtype": "current" }, { "type": "national_criminal_search", "subtype": "standard" }, { "type": "sex_offender_search", "subtype": null }, { "type": "ssn_trace", "subtype": null }, { "type": "global_watchlist_search", "subtype": null } ], "slug": "tasker_standard", "uri": "/v1/packages/c6759e59e807618f8bcbd37a" } ], "object": "list", "next_href": null, "previous_href": null, "count": 1 } ``` ``` -------------------------------- ### Create Invitation using cURL Source: https://docs.checkr.com/partners This code snippet demonstrates how to create a background check invitation using a cURL command. It requires the candidate's ID, the package name, and optionally a node ID and work location details. The work location is crucial for determining compliance requirements. ```shell $ curl -X POST https://api.checkr.com/v1/invitations -u {access_token}: \ -d candidate_id=e44aa283528e6fde7d542194 \ -d package=tasker_standard \ -d node=CHLD_e7c3ab7bf4ad \ -d work_locations[][state]=CA \ -d work_locations[][city]=San+Francisco ``` -------------------------------- ### Render Checkr Sign-up Embed Inline (JavaScript) Source: https://docs.checkr.com/embeds Demonstrates how to initialize and render the Checkr Sign-up & Connect embed directly within a specified HTML element using JavaScript. This requires the 'oauthTokenPath' for backend communication and partner identification. ```javascript const embed = new Checkr.Embeds.SignUpFlow({ oauthTokenPath='/your-backend/checkr-oauth-token', partner: { id: 'abcdef1', name: 'Enterprise Partner' } }) embed.render('#your-placeholder-div') ``` -------------------------------- ### Render Checkr Sign-up Embed Inline (React) Source: https://docs.checkr.com/embeds Shows how to integrate the Checkr Sign-up & Connect embed into a React application using the provided component. It requires 'oauthTokenPath' and partner details for initialization. ```jsx ``` -------------------------------- ### POST /v1/invitations Source: https://docs.checkr.com/partners Creates a new invitation for a candidate to complete a background check. The candidate receives an email with a link to provide their information and consent. The invitation is valid for 7 days. ```APIDOC ## POST /v1/invitations ### Description Creates a new invitation for a candidate to complete a background check. Checkr sends an invitation email to the candidate to provide their information and consent. Once completed, a Report is automatically created. The invitation is valid for 7 days, with follow-up reminders sent every 24 hours. If not completed within 7 days, the invitation expires and a new one must be created. ### Method POST ### Endpoint https://api.checkr.com/v1/invitations ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **candidate_id** (string) - Required - The ID of the candidate for whom the Invitation is created. - **package** (string) - Required - The customer's Package, selected when ordering the background check. - **node** (string) - Optional - The `custom_id` of the node associated with the background check. Required if the customer's account has nodes in Checkr. - **work_locations** (array of objects) - Required - An array of work locations, described using country, state, and city. Each object should have: - **country** (string) - ISO-3166 alpha-2 format country code. - **state** (string) - Two letter state code. - **city** (string) - The name of the city. ### Request Example ```bash $ curl -X POST https://api.checkr.com/v1/invitations -u {access_token}: \ -d candidate_id=e44aa283528e6fde7d542194 \ -d package=tasker_standard \ -d node=CHLD_e7c3ab7bf4ad \ -d work_locations[][state]=CA \ -d work_locations[][city]=San+Francisco ``` ### Response #### Success Response (200) - **id** (string) - The unique identifier for the invitation. - **object** (string) - The type of object, always 'invitation'. - **uri** (string) - The API endpoint for the invitation. - **invitation_url** (string) - The URL the candidate will use to complete the invitation. - **status** (string) - The current status of the invitation (e.g., 'pending'). - **created_at** (string) - Timestamp when the invitation was created. - **expires_at** (string) - Timestamp when the invitation will expire. - **completed_at** (string) - Timestamp when the invitation was completed (null if not completed). - **deleted_at** (string) - Timestamp when the invitation was deleted (null if not deleted). - **package** (string) - The package associated with the invitation. - **candidate_id** (string) - The ID of the candidate associated with the invitation. - **report_id** (string) - The ID of the report created upon completion (null if not completed). - **tags** (array) - Any tags associated with the invitation. #### Response Example ```json { "id": "551564b7865af96a28b13f36", "object": "invitation", "uri": "/v1/invitations/551564b7865af96a28b13f36", "invitation_url": "https://apply.checkr.com/invite/try-checkr/290f9d6d6e46/test", "status": "pending", "created_at": "2015-05-14T17:45:34Z", "expires_at": "2015-05-21T17:45:34Z", "completed_at": null, "deleted_at": null, "package": "tasker_standard", "candidate_id": "e44aa283528e6fde7d542194", "report_id": null, "tags": [] } ``` ``` -------------------------------- ### Add Authentication to NewInvitation Embed with JavaScript Source: https://docs.checkr.com/embeds This JavaScript example demonstrates how to add session token-based authentication to the Checkr NewInvitation embed. By providing the `sessionTokenPath` option during the embed's initialization, you specify the backend endpoint from which the session token will be fetched. This is crucial for securing the invitation process. ```javascript const embed = new Checkr.Embeds.NewInvitation({ sessionTokenPath: '/your-backend/session-tokens' }) ``` -------------------------------- ### Retrieve Customer Account Hierarchy Nodes with Package Associations (Shell) Source: https://docs.checkr.com/partners This snippet demonstrates how to retrieve a customer's account hierarchy nodes, including any packages associated with those nodes. This is useful for understanding account structure and package assignments. It requires an access token for authentication. ```shell $ curl -X GET https://api.checkr.com/v1/nodes?include=packages -u {access_token}: ``` -------------------------------- ### Set Preset Values for Account Creation Embed (JavaScript) Source: https://docs.checkr.com/embeds Use JavaScript to initialize the SignUpFlow embed with preset values for account creation. This allows pre-filling fields like name, email, and business details. ```javascript const embed = new Checkr.Embeds.SignUpFlow({ oauthTokenPath:'/your-backend/checkr-oauth-token', partner:{id: 'abcdef1', name: 'Enterprise Partner'}, presetName: 'John', presetLastName: 'Doe', presetEmail: 'johndoe@test.com', presetCity: 'San Francisco', presetTaxId: '123-45-6789', presetZipCode: '94103', presetBusinessName: 'Test Company', presetBusinessAddress: '123 Main St', presetState: 'CA', presetTaxId: '123-45-6789', }) ``` -------------------------------- ### Get Report Details and Status Source: https://docs.checkr.com/partners/images/StagingEnvironmentPostmanCollection This script is designed to be executed as a test script after retrieving a report. It checks the response code, sets the report result to a Postman variable, and logs information about the report status to the console. It also informs the user about potential webhook events. Dependencies include Postman's `pm.test()`, `pm.response.code`, `pm.response.json()`, and `pm.variables.set()`. ```javascript pm.test("Report GET Response Code " + pm.response.code, function () { postman.setNextRequest(null); pm.expect(pm.response.code).to.be.oneOf([200,201,202]); postman.setNextRequest(); var jsondata = pm.response.json(responseBody); pm.variables.set("report_result", jsondata.result); }); console.log(""); console.log("Step 4 - Report " + pm.variables.get('report_id') + "has a result value of " + pm.variables.get('report_result') + ". If you entered mocked data into the invitation forms in the browser, this status should change soon. You can check status on the Checkr Dashboard." ); console.log("If you have webhooks enabled, you will receive report.updated and report.completed webhooks in the near future.") ``` -------------------------------- ### Create Candidate Source: https://docs.checkr.com/partners Creates a new candidate object in Checkr. This is often a prerequisite for requesting a background check. ```APIDOC ## POST /v1/candidates ### Description Creates a new candidate object. It's recommended to store the returned candidate ID for future use, such as requesting background checks. ### Method POST ### Endpoint /v1/candidates ### Parameters #### Request Body - **email** (string) - Required - The email address of the candidate. ### Request Example ```bash curl -X POST https://api.checkr.com/v1/candidates -u {access_token}: -d email=candidate@email.com ``` ### Response #### Success Response (201) - **id** (string) - The unique identifier for the created candidate. - **object** (string) - Type of the object, "candidate". - **email** (string) - The email address of the candidate. #### Response Example ```json { "id": "e44aa283528e6fde7d542194", "object": "candidate", "email": "candidate@email.com" ... } ``` ``` -------------------------------- ### Retrieve a customer's package list Source: https://docs.checkr.com/partners This endpoint retrieves a list of all available background check packages configured for a customer's account. This is used when account hierarchy nodes do not have specific packages associated with them, or when no nodes are returned. ```APIDOC ## GET /v1/packages ### Description Retrieves a list of all background check packages available for a customer's account. ### Method GET ### Endpoint `https://api.checkr.com/v1/packages` ### Parameters This endpoint does not have any specific query parameters mentioned in the documentation. ### Request Example ```bash curl -X GET https://api.checkr.com/v1/packages -u {access_token}: ``` ### Response #### Success Response (200) - The response structure for this endpoint is not explicitly defined in the provided text, but it is expected to return a list of package objects. #### Response Example *The example response is not provided in the source text.* ``` -------------------------------- ### Load Checkr Web SDK via CDN Source: https://docs.checkr.com/embeds This snippet shows how to include the Checkr Web SDK in your HTML document using a Content Delivery Network (CDN). This ensures you are using the latest version of the SDK and makes it available for use in your JavaScript or React application. ```html ``` -------------------------------- ### Set Preset Values for Account Creation Embed (React) Source: https://docs.checkr.com/embeds Utilize React to configure the SignUpFlow embed with preset values for account creation. This enables pre-populating fields such as name, email, and business information. ```jsx ```