Public discovery
Read the catalog response under its data field. If the request fails or a capability is absent, report it as unavailable; do not invent a price, coverage promise or integration.
Public API specification · Agent metadataDocumentation
Start with one API call, one hosted flow, and one event stream back to your system. Use hosted screening sessions first. Add monitoring, verification orders, and compliance-aware guidance only when you need them. New organization accounts start in sandbox and move to live access after production approval.
Agent guide
Start with the public catalog to learn about screening services. This read-only endpoint needs no API key. Its prices and availability take precedence over saved copies; package prices can exclude final court and data-access fees that depend on provider-discovered jurisdictions.
curl --fail --silent --show-error https://api.vuplicity.com/api/v1/public/products/catalogRead the catalog response under its data field. If the request fails or a capability is absent, report it as unavailable; do not invent a price, coverage promise or integration.
Public API specification · Agent metadataPrivate operations require your account permissions, applicable purpose and consent. Keep API keys on your server and candidate information in the authorized hosted workflow. Never paste candidate identifiers, reports or credentials into a chat to connect an integration.
The public estimate endpoint is disabled. An authenticated quote requires authorized access and does not establish the final source fees or the time an order is billed.
A ChatGPT app is being prepared for public capabilities, jurisdiction coverage and high-level progress for existing orders. Official OpenAI directory availability is not yet verified. The planned app excludes purchases, upselling, candidate details, report contents and hiring decisions. Use the supported API and hosted workflows while the app is being verified.
A local Codex package or the historical ai-plugin.json file does not establish an official OpenAI listing. Connector definitions likewise do not establish enabled transport, marketplace certification or access for your account. Confirm the exact integration and permissions before relying on them.
Contact Vuplicity support for integration and access questions. Keep candidate records, reports and credentials out of support messages. Read our privacy policy and terms of service for the published service policies.
Quickstart
The hosted-session correction for SDK 0.0.1 is awaiting a verified release. The example below describes the corrected contract; contact Vuplicity support for the tested install version before using it. The public catalog example in the agent guide is available now.
Use this page as the shared implementation hub for product, HR operations, compliance, and engineers. Every major implementation path is deep-linkable so teams can jump straight to the guide they need.
Docs
Create one hosted screening session, redirect the candidate, and listen for lifecycle events.
Start hereDocs
See the authenticated endpoint families for keys, hosted sessions, webhooks, checks, monitoring, and AI.
View endpointsDocs
Scan packages, verification add-ons, healthcare license tiers, MVR, monitoring, and international scope.
View offeringsDocs
Map background-check, verification, adverse-action, and monitoring events back into your product.
Wire eventsDocs
Use deterministic scenarios for clear reports, records found, need-info, disputes, and monitoring hits.
Test safelyDocs
Admins create API keys, rotate webhook secrets, inspect deliveries, and request ATS connectors.
Open settingsAccess
Use the self-serve organization signup. Your workspace is created immediately, and sandbox access unlocks once the developer responsibilities are accepted.
OpenAccess
Return to your Vuplicity workspace and keep docs access public for the rest of your team.
OpenAccess
Create and revoke API keys from the authenticated integrations surface after admin login.
OpenAccess
Create webhook subscriptions, rotate secrets, and inspect deliveries from the same admin-only page.
OpenStart with a hosted screening session. Your app creates the session, redirects the candidate, listens for background-check and verification webhook events, and updates candidate status. Everything sensitive stays inside the hosted flow. The Node SDK wraps that flow directly, and the repo example server mirrors the same three-step shape so your team does not have to rebuild the workflow from scratch.
Keep your Vuplicity API key on the server. Create the hosted session in a server route or action, then redirect the browser to the returned `session_url`.
1. Create
Call the hosted screening session endpoint with candidate, package, redirect, and webhook URL.
2. Redirect
Send the candidate to the returned session URL. Vuplicity handles disclosure, consent, intake, and document loops.
3. Listen
Process webhook events and map them to your own candidate UI and internal workflow states.
import { Vuplicity } from '@vuplicitychecks/sdk';
const vuplicity = new Vuplicity(process.env.VUPLICITY_API_KEY!);
export async function POST(request: Request) {
const formData = await request.formData();
const session = await vuplicity.screening.createSession({
candidate: {
first_name: String(formData.get('first_name') || 'Sandbox'),
last_name: String(formData.get('last_name') || 'Example'),
email: String(formData.get('email') || '[email protected]'),
position: String(formData.get('position') || 'Operations Analyst'),
},
package: 'essential',
include_monitoring: true,
redirect_url: 'https://app.example.com/screening/complete',
webhook_url: 'https://app.example.com/api/vuplicity/webhooks',
});
return Response.redirect(session.session_url, 302);
}The example shows the corrected hosted-session contract, pending the verified release described above. The package is named @vuplicitychecks/sdk. Match the examples for Next.js, marketplace onboarding, and ATS workflows to the tested SDK release before use.
Example
App Router start-screening action, server-side session creation, and webhook verification.
examples/nextjs-screening
Example
Seller or worker onboarding flow that maps screening state into marketplace approval states.
examples/marketplace-onboarding
Example
Background-check sync and webhook processing pattern for an ATS or internal applicant tracker.
examples/ats-integration
Compliance Officer v2
Paid organizations can issue API keys with `compliance.officer.query` for domain-aware compliance guidance. Deeper jurisdiction research stays inside Vuplicity’s internal legal-review workflow.
POST /api/v1/ai/compliance-officer/v2/evaluate
Authorization: Bearer <server-side API key>
Content-Type: application/json
{
"domain": "HR_VERIFICATION",
"country": "US",
"subdivision": "CO",
"party_role": "employer",
"verification_scope": "EMPLOYMENT_VERIFICATION",
"facts": {
"question": "Can we order this verification before a conditional offer?"
}
}
# Required key scope: compliance.officer.queryResponse posture
Compliance Officer responses are citation-first and always surface coverage state, signed-off source versioning, and whether a human legal review is still required.
{
"coverage_status": "confirmed",
"citations": [
{
"source_uri": "https://...",
"citation_label": "Colo. Rev. Stat. ..."
}
],
"signoff_version": "2026-03-08",
"requires_human_review": false,
"guidance": "Citation-first compliance guidance.",
"disclaimer": "Not legal advice."
}API reference
Most customers should start with hosted screening sessions and webhooks. The lower-level endpoints are documented here so implementation teams can see what exists, what requires authenticated organization access, and where each capability belongs.
Endpoint family
Server-created candidate flow for disclosure, consent, intake, document loops, and final submission.
POST /api/v1/hosted/screening-sessionsGET /api/v1/hosted/screening-sessions/:idGET /api/v1/hosted/screening-sessions/:id/publicPOST /api/v1/hosted/screening-sessions/:id/submitEndpoint family
Authenticated organization bootstrap surface for connector-v1 machine access.
GET /api/v1/api-keysPOST /api/v1/api-keysDELETE /api/v1/api-keys/:idEndpoint family
Subscribe to outbound lifecycle events, inspect deliveries, and rotate signing secrets.
GET /api/v1/webhook-subscriptionsGET /api/v1/webhook-subscriptions/eventsGET /api/v1/webhook-subscriptions/:id/deliveriesPOST /api/v1/webhook-subscriptionsPOST /api/v1/webhook-subscriptions/:id/rotate-secretEndpoint family
Organization-scoped check records, need-info files, cancellation, analysis, and conversation state.
GET /api/v1/background-checksPOST /api/v1/background-checksGET /api/v1/background-checks/:idPOST /api/v1/background-checks/:id/cancelEndpoint family
Quote packages, create verification orders, resolve exceptions, and manage specialized verification lanes.
GET /api/v1/products/catalogPOST /api/v1/packages/quotePOST /api/v1/verifications/ordersGET /api/v1/verifications/orders/:idPOST /api/v1/verifications/exceptions/:id/resolveEndpoint family
Enroll subjects, record hits, update enrollment status, and close billing cycles.
GET /api/v1/monitoring/summaryGET /api/v1/monitoring/enrollmentsPOST /api/v1/monitoring/enrollmentsPOST /api/v1/monitoring/enrollments/:id/eventsPOST /api/v1/monitoring/enrollments/:id/billing-cycle-closeEndpoint family
Scope-gated, citation-first compliance guidance for approved paid organizations.
POST /api/v1/ai/compliance-officer/v2/evaluateEndpoint family
Organization and super-admin metrics for launch scorecards, health, workers, and webhook security.
GET /api/v1/metrics/platform-healthGET /api/v1/metrics/platform-health-globalGET /api/v1/metrics/webhook-securityHosted screening sessions
Hosted sessions are the simplest integration surface. They wrap candidate disclosure, authorization, identity intake, background-check submission, and need-info return paths in one session resource.
Candidate completion does not guarantee provider submission. Employer-owned blockers can stop invite or submit until required policy and configuration inputs are present.
Request shape
Session states
Employer-owned blockers
Offerings catalog
Keep the implementation simple: pick a screening package first, then add only the verification lanes the role actually needs. This catalog mirrors the customer-facing offering language so sales, HR, and engineering teams can talk about the same capabilities without switching pages.
Package
Baseline criminal screening.
National criminal database, sex offender registry, global watchlist, and address history.
Good for lower-friction hiring lanes.
Package
Most common pre-hire package.
All Basic checks, plus county and state court searches upfront.
Good for routine hiring where local court coverage should already be in scope.
Package
Expanded screening for higher-risk roles.
All Essential checks, plus federal criminal search.
Good when broader criminal scope should be settled before release.
Capability
Checks past jobs.
EMPLOYMENT_VERIFICATION
Capability
Checks school and degree claims.
EDUCATION_VERIFICATION
Capability
Collects references in the same order.
REFERENCE_VERIFICATION
Capability
Checks license status and federal exclusions.
HEALTHCARE_LICENSE_SCREENING_FEDERAL
Capability
Adds state sanctions and state-level review.
HEALTHCARE_LICENSE_SCREENING_STATE
Capability
Adds board discipline and license actions.
HEALTHCARE_LICENSE_SCREENING_BOARD
Capability
Checks DOT records for driving roles.
DOT_VERIFICATION
Capability
Confirms the person is who they say they are.
ID_VERIFICATION
Capability
Checks address history.
ADDRESS_VERIFICATION
Capability
Checks military service claims.
MILITARY_VERIFICATION
Capability
Checks driving records. State fee stays separate.
MVR
Capability
Checks professional license status when a role requires proof of credentialing.
LICENSE_VERIFICATION
Capability
Medical exception and employer-configured follow-up lane when the selected package requires it.
MEDEX
Capability
Healthcare-oriented continuous monitoring configuration managed by the employer, not the candidate.
BOOKING_CONTINUOUS_MONITORING
Capability
Country-specific international criminal screening through the provider jurisdiction matrix.
CRIMINAL_INTERNATIONAL
Capability
Country-specific civil search support where the international package and country matrix allow it.
CIVIL_INTERNATIONAL
Implementation rule
In the HR portal, required fields should come from package and product selection. Optional role, industry, salary, and add-on context should stay collapsed or tooltip-backed until the customer opts into that workflow. That keeps high-revenue capabilities visible without making every order feel heavy.
Webhook lifecycle
The lifecycle contract is designed so your application can update candidate state without polling. Start from background-check events, then react to verification and monitoring events as they arrive. Hosted session state itself is available from the hosted-session `GET` routes.
Core events
Webhook receiver
Keep the receiver thin. Verify the signature, parse the event, persist the transition you care about, and return a `200`. Vuplicity sends `X-Vuplicity-Signature`, `X-Vuplicity-Timestamp`, `X-Vuplicity-Event`, and `X-Vuplicity-Delivery`. Use webhook subscription APIs to inspect deliveries and rotate the signing secret.
import { verifyVuplicityWebhookSignature } from '@vuplicitychecks/sdk';
export async function POST(request: Request) {
const rawBody = await request.text();
const verified = verifyVuplicityWebhookSignature({
payload: rawBody,
secret: process.env.VUPLICITY_WEBHOOK_SECRET!,
headers: request.headers,
});
if (!verified.valid) {
return Response.json({ error: 'Invalid Vuplicity webhook signature' }, { status: 400 });
}
const event = JSON.parse(rawBody);
switch (event.type) {
case 'background_check.updated':
break;
case 'background_check.completed':
break;
case 'background_check.failed':
break;
case 'verification.completed':
break;
case 'verification.exception_created':
break;
case 'verification.exception_resolved':
break;
case 'monitoring.hit_detected':
break;
case 'monitoring.billing_cycle_closed':
break;
}
return Response.json({ received: true });
}Background checks
For most apps, package selection is the correct abstraction. Background checks move through a stable state machine and surface a report URL only after the compliance and report-generation path is complete.
Recommended packages
Typical status flow
Verification orders
Verification orders are separate from the core criminal-screening package. Use them for employment, education, reference, license, healthcare, and DOT workflows where you need evidence outside the base package.
Current truth: standalone Sentinel `MVR` now has sandbox provider proof, but bundled `MVR_CDLIS` remains uncertified because the current Sentinel sandbox account is not configured for `CDLIS`.
Standard verification lanes like employment, education, reference, license, and ID now have staging `provider_ready` proof. That means Vuplicity can collect and validate the right facts and hand the order to the provider boundary correctly, even though those lanes are not yet being marketed here as fully provider-complete.
Supported lanes
Integration rule
Keep the first integration on hosted sessions plus webhooks. Add direct verification-order calls only when your product truly needs a lower-level verification-first workflow and you are prepared to own the recipe details for each verification lane.
Monitoring
Monitoring now supports the hosted-session wedge directly. Set `include_monitoring: true` during hosted session creation and Vuplicity will enroll the subject in continuous monitoring after a successful screening completion. Monitoring hits and billing-cycle closures flow through outbound webhooks.
Current capabilities
Enable it
Operational tooling
Admin-only operational view for customer organizations.
GET /api/v1/metrics/platform-healthOperational tooling
Super-admin aggregate view for internal operations and support teams.
GET /api/v1/metrics/platform-health-globalSandbox
Hosted sessions and direct consent flows now support a unified sandbox contract. When `X-Vuplicity-Mode: sandbox` is present, Vuplicity stores the sandbox intent, skips InformData and live billing, and emits deterministic lifecycle events for `clear`, `record_found`, `need_info`, `dispute`, and `monitoring_hit`.
Sandbox determinism is not the same thing as provider certification. Standalone Sentinel `MVR` is now provider-proven, but `MVR_CDLIS` still needs a CDLIS-capable Sentinel sandbox account.
Current contract
Headers
# Deterministic sandbox
X-Vuplicity-Mode: sandbox
X-Vuplicity-Scenario: clear | record_found | need_info | dispute | monitoring_hitThe self-serve signup path gives you a workspace, docs, webhook setup, and hosted-session tooling immediately. Sandbox keys unlock after the developer responsibilities are accepted, and live production access stays behind manual review.