Skip to main content
VerifyAll logo
LiveFinishes laterSandbox

Background Verification API

Run the background checks you choose on one person in a single request, and read back one report with an overall result and every check’s outcome.

The documentation opens in the VerifyAll dashboard after sign-in, for accounts with approved API access. New to the API? Start with the developer guide.

Overview

What the Background Verification API does

The Background Verification API runs several checks on one person from a single request. You choose the modules: PAN, GST registrations linked to the PAN, credit score, court records, adverse media (AML screening), employment (UAN employment history), driving licence, voter ID, passport and mobile number. They run in the background into one record with each module’s status, summary and result.

HR teams, staffing firms and platforms onboarding drivers and delivery partners use it to replace a chain of separate calls with one. overall is clear when every module ran and nothing adverse was found, review when court records or adverse media were found or the court result is unresolved, and incomplete when a module could not be completed.

For people without a PAN to hand, such as many gig workers, POST /full-verification/create/gig-worker runs the same checks except pan, gstin and credit_score. GET /full-verification/quote gives the charge of a selection first; send it back as quoted_total and a changed price is refused with 409 price_changed, not charged.

How it works

  1. 1

    Optionally call GET /full-verification/quote with the package (with_pan or without_pan) and the modules to see what the create call will debit; nothing is charged.

  2. 2

    Send POST /full-verification/create (or /create/gig-worker) with modules, name, surname, mobile, address, pan where the package needs it, the inputs each chosen module uses, quoted_total and the consent object. A module chosen without its input is refused with 400 before any charge.

  3. 3

    The request is accepted at once with outcome pending and a data.id, and charged once from your prepaid wallet. Modules run in the background and finish later, from minutes to a few business days; a module that fails is refunded.

  4. 4

    Poll GET /full-verification/list/{id} for status and progress, or receive check.completed by webhook, then read the report and download its PDF with POST /pdf-reports/full-bgv-individual.

Request and response

Background verification API endpoints and fields

The main fields; the full reference with every field, error code and a cURL sample is in the dashboard docs.

Endpoints
EndpointWhat it does
GET/full-verification/quoteCharge of a package and module selection, before you create anything
POST/full-verification/createStart a background verification of a person with PAN
POST/full-verification/create/gig-workerStart a background verification of a person without PAN
GET/full-verification/listYour background verifications with status and module progress (Production key)
GET/full-verification/list/{id}Read one background verification report (Production key)
DELETE/full-verification/list/{id}Delete a background verification and its module results (Production key)

Request fields

Background Verification API request fields
FieldWhat it is
modulesRequiredThe checks to run: pan, gstin, credit_score, court_records, adverse_media, employment, driving_licence, voter_id, passport, mobile. Without PAN: court_records, adverse_media, employment, driving_licence, voter_id, passport, mobile.
name / surnameRequiredFirst name (with any middle name) and last name.
mobileRequiredThe person’s mobile number (mobile module, and employment when no UAN is sent).
addressRequiredCurrent address on one line.
pincodeOptionalPIN code of the address; the credit_score module needs it, here or written in the address.
panOptionalThe person’s PAN; required on /full-verification/create, not sent on the gig-worker endpoint.
dob / relative_nameOptionalDate of birth (driving_licence, passport, credit_score; helps court records) and father’s, husband’s or wife’s name for court records.
district / state / aliasesOptionalOptional details (with city, past_addresses and spouse_name) that help the court records module confirm cases.
uan_numbersOptionalUp to 5 UANs for the employment module; without them the UANs linked to the mobile number are used.
licence_number / epic_number / file_numberOptionalDriving licence number, voter ID (EPIC) number and passport application file number, for those modules.
quoted_totalOptionalThe total from the quote; if the price is now different, the request is refused with 409 price_changed and nothing is charged.
consentRequiredobtained: true and a purpose of up to 200 characters.
client_refOptionalYour reference, such as a candidate or employee id.

What the answer returns

Background Verification API answer fields
FieldWhat it is
statusprocessing, partially_completed (court records still running), completed or failed.
overallclear, review (court records or adverse media found, or an unresolved court result), incomplete or pending.
packagewith_pan or without_pan.
subjectThe person’s details as sent: name, relative’s name, date of birth, PAN, mobile and address.
modules_requestedThe modules you selected.
modulesOne entry per module: name, status (processing, completed, no_record, failed or invalid_input), a one-sentence summary and the module’s full result.
progressCounts of modules in total, completed, failed and pending.

Base URL https://api.verifyall.ai. Authenticate with the X-API-Key header (a va_sandbox_ or va_live_ key). Every answer carries data, status_code, success, message and message_code; checks add outcome, checkResultId, charged and charged_amount.

Key features

Background Verification API features and capabilities

  • Modules chosen per request

    Run only what a role needs: a delivery partner might get mobile, driving_licence and court_records; a finance hire might add pan, credit_score and employment.

  • Works without PAN

    The gig-worker endpoint runs court records, adverse media, employment, ID and mobile checks for people who cannot give a PAN at onboarding.

  • Price confirmed, failures refunded

    Quote first and send quoted_total so a price change is refused, not charged. Modules that fail are refunded to the wallet.

  • One overall result

    overall turns many module results into clear, review or incomplete, while each module keeps its own status, summary and full result for the reviewer.

Use cases

Where businesses use the Background Verification API

  • Pre-employment screening

    Verify identity, UAN employment history and court records of a candidate before the offer letter.

  • Gig and delivery partner onboarding

    Check drivers and delivery partners without PAN, with driving licence, mobile and court records modules.

  • Staffing and contract workforce

    Run the same module set on every contractor a staffing firm deploys, and keep each report for the client.

  • Re-verification of existing staff

    Run court records and adverse media again on staff moving into sensitive roles.

Industries

Coverage

Individuals in India, with or without a PAN. Each module covers its own check; court records cover cases of the person in Indian courts.

Limitations to plan for

  • Each module needs its own input; a module chosen without it is refused with 400 before anything is charged.
  • The court records module can take from minutes to a few business days, so a report can sit at partially_completed while the other modules are done.
  • The pan, gstin and credit_score modules are not available on the gig-worker endpoint.
  • Listing, reading and deleting reports work with the Production key only; Sandbox requests return sample data and are never charged.

Integration

How to integrate the Background Verification API

From a business account to your first live call.

  1. Step 1

    Create a business account on VerifyAll and get it approved, as for running checks in the dashboard.

  2. Step 2

    Request Developer API access under Developers in the dashboard: the APIs you need, your expected monthly volume and your use case. The VerifyAll team reviews it and shares the API Services Agreement.

  3. Step 3

    Once the agreement is signed and access is approved, create your Sandbox key and build against sample data. Sandbox calls are never charged.

  4. Step 4

    Create your Production key, recharge your wallet and switch the key in your code: the endpoint and fields stay the same.

Get started

Request access to the Background Verification API

Tell us what you want to verify. We reply within one business day with access steps, Sandbox details and your API pricing.

Tell us about your integration

Tell us what you want to verify and how many checks you expect. Our team replies within one business day with access steps, Sandbox details and your API pricing.

We use these details only to reply to your request. See our privacy policy.

  • Contact sales

    Questions on volumes, onboarding or the API agreement.

    Contact sales
  • View API documentation

    The full reference for Background Verification API (endpoints, fields, errors, cURL) opens in the dashboard once your access is approved.

    Open the docs (sign-in)
  • Create a business account

    API keys are issued to an approved business account. Sign up, then request access under Developers.

    Create account

Pricing

Production calls are charged per check from your prepaid VerifyAll wallet, at your account’s API price; GST is added separately when you recharge. Sandbox calls are never charged. Your API prices are shown in the dashboard once access is approved. How pricing works

Already have a business account? Sign in to request access

Background Verification API: frequently asked questions

Answers for teams planning an integration.

Still have questions? Our team is happy to help.

Contact Support

All background verification APIsRun Background verification in the dashboard, without codeBrowse the API Marketplace

Start with the Background Verification API

Request access, build against the Sandbox, then go live with your Production key.