Overview
Konfir supports multiple ways to create verification requests to match different volumes and levels of technical integration.
Some teams create verifications one at a time as needed , others run batch workflows, and others create verifications directly from their own systems. Regardless of how a verification is created, the same verification is produced
Comparison
Method | Best for | Automation | How applicants start | Availability |
Single Request | One-off, low-volume checks | Low | Email & SMS invite link | Default |
Bulk Upload (CSV) | Batch, medium-volume checks | Medium | Email & SMS invite link | Enabled on request |
API | Integrated, high-volume checks | High | Embedded in your product | Enabled on request |
Walkthroughs
Single Request
Single requests can be created directly in Konsole. Simply enter the applicant’s details, select what you want to verify (employment, income, or both), and Konfir sends the applicant an invite to complete the journey.
Bulk Upload (CSV)
CSV upload allows you to create multiple verification requests at once without building an API integration. Just upload a CSV file in Konsole.
Note: Each row in your CSV represents one activity. One applicant can have multiple rows if you are requesting multiple activities or periods.
1. Download CSV template
1. Download CSV template
2. Prepare your CSV
2. Prepare your CSV
CSV upload has validation rules to make sure each row contains enough information to support the verification. Rows that do not meet these rows will not be uploaded.
Required fields
Required fields
These fields must be present for each activity row.
Column name | Data format | Example | Notes |
reference_id | Any | 12345 | Unique ID for your records |
first_name | String | John | — |
middle_name | String | James | — |
phone_number | E.164 | +44123456789 | Required if email is empty |
String | Required if phone_number is empty | ||
date_of_birth | Date (ISO 8601) | 1987-11-20 | Use any valid ISO 8601 date format your template accepts |
activity_type | String | employment | Case sensitive. Accepted values include: employment, gap_in_employment, education, self_employed |
activity_start_date | Date (ISO 8601) | 2023-11-20 | Use any valid ISO 8601 date format your template accepts |
activity_end_date | Date (ISO 8601) or “Current” | 2024-11-20 | Use Current for ongoing activities |
verify_via_konfir | String | Yes | Case sensitive. Accepted values: Yes / No |
new_employer_name | String | Acme Inc | Legacy field. If you don’t know it or it’s not relevant (e.g. income-only), you can enter your own organisation name or any placeholder value. |
Conditional fields
Conditional fields
These fields are required depending on the value of other fields
Column name | Data format | Example | Required when |
candidate_address_country | String | United Kingdom | One or more candidate_address_* fields are populated |
candidate_address_city | String | Imaginary Town | One or more candidate_address_* fields are populated |
candidate_address_postcode | String | GU1 1AA | One or more candidate_address_* fields are populated |
candidate_address_house_name | String | Hawthorne House | One or more candidate_address_* fields are populated |
candidate_address_house_number | String | 10 | One or more candidate_address_* fields are populated |
candidate_address_street_name | String | Fictional Lane | One or more candidate_address_* fields are populated |
activity_gap_description | String | Travel | activity_type = gap_in_employment |
activity_gap_receiving_benefits | String | Yes | activity_type = gap_in_employment (Yes/No) |
activity_employment_employer_name | String | activity_type = employment | |
activity_employment_job_title | String | Product Manager | activity_type = employment |
Optional fields
Optional fields
Optional fields are not required for upload, but may be useful for your workflow.
Column name | Data format | Example | Additional info |
national_insurance_number | String | AB123456C | If you include it, use two letters, six numbers, one letter |
candidate_address_county | String | Surrey | County of the candidate’s address |
candidate_address_flat | String | Flat 1 | — |
new_job_title | String | Product Manager | Job title of the candidate with the new employer |
created_by | String | 29820 | Konfir ID for the registered agent |
3. Upload your CSV
3. Upload your CSV
Save your file as .csv (comma-delimited).
In Konsole, go to Create request → Import from CSV.
Upload the file.
If the upload is valid, your requests will appear in Konsole and invites will be sent using the contact details in your file.
4. Fix any errors
4. Fix any errors
If any rows fail validation, you’ll receive an error report explaining which rows failed and why. Correct the failed rows in your source file & re-upload
Note: Provided you keep reference_id constant, only the rows that failed will be re-uploaded (thereby preventing duplicates)
Note: CSV error reports are sent to a designated operational contact (configured via Support today). If you need to confirm or change this contact, email Support with your workspace name and the new contact email.
API
The API allows you to create verifications programmatically from your own systems.
Applicants can start the Konfir journey directly within your product or process, and verification results can be returned to your systems while remaining visible in Konsole for operational review. This is the recommended option for high-volume, integrated workflows. See API & Integrations to learn more.
What happens next
After a verification is created, the applicant is invited to complete the Konfir journey and submit their information. See Applicant Experience
Once the applicant submits, the verification becomes ready to review in Konsole or via API. See Understanding Results
