Integration patterns
Each snippet focuses on the differing parts of a Create order request. Combine with full field requirements from Applicant, Business context, History, and VerificationRequest.Pattern index
| Pattern | Use when |
|---|---|
| Employment-only | You only need employment verification. |
| Education-only | You only need education verification. |
| Employment and education on one order | You need both supported search types in one request. |
| Known contacts / skip broad research | You already know the correct HR or registrar contact. |
| Ban third-party vendors | The client does not want specific third-party vendors used. |
| Email-only outreach | You want to restrict outbound to email. |
| Manual review | You want inbound responses held for human review. |
| Per-search webhook routing | You need event routing that differs by search type or target. |
Employment-only
Education-only
Employment and education on one order
applicant and businessContext as for a single-type order.)
Known contacts / skip broad research
UsedefaultSearchConfig or per-search searchConfig with research.skipResearch: true and seed outbound.contactHints. See Search config.
Ban third-party vendors
UsethirdPartyBan when a client does not want searches routed to specific third-party providers. Values are canonical vendor codes; see Third-party ban for the full supported list.
Ban one vendor for one search
Ban multiple vendors order-wide
Ban wins over third-party deferral
Email-only outreach
Manual review (inbound)
Per-search webhook routing
Use WebhookTarget objects undercloseoutEndpoints and fallbackEndpoint (string URL, single object, or array). Example: send employment closeouts to one URL and everything else to a fallback:
Release-form upload
Provide a signed release PDF inapplicant.signedReleaseFileUrl using one of:
- HTTPS URL — host the PDF at a stable public URL
- GCS upload (recommended for larger files) — presigned upload flow below
- Inline base64 — raw base64 or
data:application/pdf;base64,...(max 10MB); uploaded to cloud storage at order creation
GCS upload flow
GET /files/release-form/generate-upload-url→signedUrl,fileUriPUTPDF tosignedUrlwithContent-Type: application/pdf- Set
applicant.signedReleaseFileUrltofileUri(gs://...)
Batch create caveats
POST /background-check/v1/batches accepts { "orders": [ ...VerificationRequestDto ] } and creates each order in parallel via the same path as single-order creation. The response includes a synthetic batchId and per-order verificationOrderId / searchIds in orders.
Validation / creation errors: if any order fails validation or throws during createOrder, the whole HTTP request fails with an error (you do not get a 200 with mixed success/failure).
Partial success risk: if the server fails after some orders were created (timeout, connection drop), you can be left with some orders already persisted. Persist every returned verificationOrderId as soon as you receive the response and reconcile with List orders.
Not implemented: listing batches, fetching a batch by id, and deleting a batch return placeholder payloads; track orders with List orders, Get order, and Get order searches.
Webhook idempotency
Deliveries may retry. Deduplicate with theX-Event-Id header (unique per delivery) and your own externalSearchId when you set it on searches. Acknowledge with a 2xx response; see Webhook events and Webhook integration.