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.
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);
},
});
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
| Field | Type | Required | Description |
|---|---|---|---|
street | string | Yes | Street address |
street2 | string | No | Additional address line |
unit | string | No | Unit or apartment number |
city | string | Yes | City |
state | string | Yes | 2-letter state code |
zip | string | Yes | ZIP 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.