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

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

Request Body

searchStatus
string
required
Target status: IN_PROGRESS, COMPLETED, CANCELLED, or REASSIGNED.
resolution
object
Required when searchStatus is COMPLETED. The outcome field discriminates between a verified closeout and an action-required closeout.
resolution.outcome
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.
resolution.reasonCode
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
resolution.resultDetails
string | object
Optional result details for verified outcomes. Objects are serialized before persistence.
resolution.submittedAt
string
Optional submission timestamp for verified outcomes.
resolution.metadata
object
Optional additional fields included in the verification.completed result payload for verified outcomes.
reason
string
Human-readable reason for the status update. Included in the SEARCH_UPDATED notification metadata and terminal context where applicable.
metadata
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

success
boolean
Whether the update succeeded.
orderId
string
Parent order identifier.
searchId
string
Updated search identifier.
externalSearchId
string
External system search identifier.
previousStatus
string
Search status before the request.
currentStatus
string
Search status after the request.
orderStatus
string
Parent order status after the update.
orderRollupApplied
boolean
True when this update caused the parent order to roll up to COMPLETED.
webhooksEmitted
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