Skip to main content

Update Order Search

Updates a single search within a verification order. Use this endpoint when you need to close, cancel, or reassign a specific search after the order has been created. The route is order-scoped and validates that searchId belongs to the order identified by id.

Path Parameters

string
required
Verification order UUID.
string
required
Search UUID within the order.

Request Body

string
required
Target status: IN_PROGRESS, COMPLETED, CANCELLED, or REASSIGNED.
object
Required when searchStatus is COMPLETED. The outcome field discriminates between a verified closeout and an action-required closeout.
string
Terminal outcome. Accepted values:
  • VERIFIED — verification succeeded.
  • VERIFIED_DISCREPANCY — verification succeeded with one or more discrepancies.
  • VERIFIED_NO_DISCREPANCY — verification succeeded without a discrepancy.
  • ACTION_REQUIRED — the search closed without a verified result and requires downstream action.
The three verified outcomes persist a verification result and emit verification.completed. ACTION_REQUIRED does not persist a verification result and emits verification.action_required.
string
Required when resolution.outcome is ACTION_REQUIRED and prohibited for verified outcomes.Accepted values:
  • THIRD_PARTY_RECORD
  • UPSTREAM_ISSUE
  • SYSTEM_FAILURE
  • SLA_REACHED
  • HUMAN_ESCALATION
  • PRIMARY_EDUCATION
  • OTHER
string | object
Optional result details for verified outcomes. Objects are serialized before persistence.
string
Optional submission timestamp for verified outcomes.
object
Optional additional fields included in the verification.completed result payload for verified outcomes.
string
Human-readable reason for the status update. Included in the SEARCH_UPDATED notification metadata and terminal context where applicable.
object
Additional metadata included in the SEARCH_UPDATED notification and terminal webhook context where applicable.
For COMPLETED, provide exactly one resolution object. Its outcome determines which terminal operation and webhook the API uses. resolution is prohibited for IN_PROGRESS, REASSIGNED, and CANCELLED.
resolution.reasonCode is required when resolution.outcome is ACTION_REQUIRED and prohibited for verified outcomes.

Status Transitions

Sending the search’s current status returns 200 as a no-op. The API does not re-emit webhooks, cancel outbound work again, or repeat workflow changes.

Terminal Side Effects

Real transitions to COMPLETED, REASSIGNED, or CANCELLED cancel pending and scheduled outbound work for that search and stop workflow processing. Cancellation covers pending outbound work plus SCHEDULED or PAUSED contact attempts.
Already-sent outbound is not recalled.

Order Roll-Up

An order becomes COMPLETED when none of its searches remain IN_PROGRESS. Terminal-for-order search statuses are:
  • COMPLETED
  • CANCELLED
  • REASSIGNED
The parent order is set to COMPLETED when the final in-progress sibling leaves IN_PROGRESS. Use DELETE /background-check/v1/orders/{id} to set an order to CANCELLED.

Example Requests

Complete With a Verification Result

Complete As Action Required

Reassign

Cancel

Response

boolean
Whether the update succeeded.
string
Parent order identifier.
string
Updated search identifier.
string
External system search identifier.
string
Search status before the request.
string
Search status after the request.
string
Parent order status after the update.
boolean
True when this update caused the parent order to roll up to COMPLETED.
string[]
Webhook event types emitted by the request.

Example Response

Webhook Behavior

Every status-changing request emits a verification.notification webhook with notificationType: SEARCH_UPDATED. Depending on the target status and resolution, the API may also emit a terminal webhook: The SEARCH_UPDATED notification describes the lifecycle transition. Its metadata includes the previous and current statuses, the changed field, the API trigger, the optional request reason, and any request metadata.
For verified closeouts, verification.completed contains the persisted verification result from resolution. For action-required closeouts, verification.action_required contains resolution.reasonCode; reassignment uses HUMAN_ESCALATION. See Webhook Events for complete payload definitions.

Error Responses