Skip to main content

Step 3: Screen a Consumer

With an enrolled end user's publishable key from Step 2, you can now run a consumer screening. Initialize the SDK with the end user's key (not the TSP key) and mount the screening view with the CONSUMER user type.

Test mode requires test consumers

When using a pk_test_* key, screenings route to Experian's test environment — real consumer PII will not work there. You must use test consumers for all test-mode screenings.

Initialize with the End User's Key

const sdk = Intellirent.init({
publishableKey: "pk_live_eu_xxxxxxxxxxxxxxxx", // The end user's key from Step 2
userContext: {
userId: "consumer_xyz789", // Stable identifier from your auth system
userType: "CONSUMER",
},
});

Mount the Screening View

When screening a CONSUMER, screening.unitAddress is required — it specifies the rental property address used for criminal background and housing court record searches.

await sdk.mount("#screening-container", {
view: "screening",
screening: {
unitAddress: {
street: "123 Main St",
street2: "Apt 4B", // optional
unit: "4B", // optional
city: "New York",
state: "NY",
zip: "10001",
},
},
onScreeningSuccess: (result) => {
// Store result.id — you'll need it to display the report in Step 4
console.log("Report ID:", result.id);
saveReportId(result.id);
},
});
Store the report ID

The id returned in onScreeningSuccess is the UUID you need to mount the report view in Step 4. Store it in your database — it cannot be recovered from the SDK after the screening session ends.

unitAddress Fields

FieldTypeRequiredDescription
streetstringYesStreet address
street2stringNoAdditional address line
unitstringNoUnit or apartment number
citystringYesCity
statestringYes2-letter state code
zipstringYesZIP code (5-digit, ZIP+4, or 9-digit)

Overriding the Application Fee (Optional)

By default, the consumer is charged the application fee configured on your TSP account. To override it for this screening only, pass screening.applicationFee in cents:

await sdk.mount("#screening-container", {
view: "screening",
screening: {
unitAddress: { /* ... */ },
applicationFee: 3500, // $35.00
},
});

applicationFee must be a positive integer in cents, from 1 to 1,000,000 ($0.01–$10,000.00). Invalid values (negative, zero, non-integer, or above the maximum) reject the mount() Promise with a plain Error — they do not go through onError. See SDK Methods for the full reference.

Overriding the Report Product (Optional)

By default, the screening requests the Experian report bundle configured on your TSP account. To override it for this screening only, pass screening.productId:

await sdk.mount("#screening-container", {
view: "screening",
screening: {
unitAddress: { /* ... */ },
productId: 73, // Identity + Credit + Background Data
},
});

productId must be one of 9, 34, 36, 38, 51, 52, 68, 71, 72, 73, or 74. Unlike unitAddress and applicationFee, the SDK does not validate this value client-side — an invalid value reaches the embedded view, which emits a non-fatal onWarning (INVALID_PRODUCT_ID) and falls back to the account's configured default product. See SDK Methods for what each value includes.

Pre-filling Form Fields

You can pre-populate the screening form with known applicant data to reduce the consumer's data entry. See Screening Pre-fill for available fields.

What Happens After Submission

The screening flow walks the consumer through identity verification, terms agreement, consent, and payment (if configured). On completion, the consumer is prompted to share their results with the end user whose key was used.

The onScreeningSuccess callback fires with:

  • id — UUID of the report (store this)
  • userType"CONSUMER"

Next Step

Proceed to Step 4: View Reports to display the completed report.