Manage Outbounds
Use these endpoints when you need to inspect or control outbound verification attempts after an order has already been created. All six routes are scoped to a search within an order.For backwards compatibility, glue and other integrators can still call
POST /background-check/v1/searches/cancel-activities with searchId or
externalSearchId in the body. Prefer the order-scoped cancel-outbounds route for new integrations. This endpoint will be
deprecated once glue migration is complete.Pause and resume operations require the search to be
IN_PROGRESS. You can list outbounds for a search in any status.Shared Path Parameters
string
required
Verification order ID (UUID).
string
required
Search ID (UUID) within the order.
Get Outbounds
Returns current actionable outbound work for the search.Returns current actionable outbounds only (those in
SCHEDULED, PENDING, or PAUSED status). Sent, delivered, failed, and
cancelled records are excluded. Use the returned id as the outboundId when pausing or resuming a single outbound.Example Request
Response
boolean
string
string | null
array
Current actionable outbound activities and contact attempts for the search.
Outbound Item Fields
string
Outbound identifier. Activity records use their UUID. Contact attempts without a matching activity use
attempt-<contactAttemptUuid>.string | null
Contact associated with the outbound, when available.
string | null
Contact name associated with the outbound, when available.
string | null
Entity being contacted.
string
Outbound channel, such as
EMAIL, FAX, VOICE, or a system method.string
Destination for the outbound, such as an email address or fax number.
string | null
Human-readable activity description.
object
Additional status, scheduling, cancellation, or system metadata.
string
Activity or attempt creation timestamp.
string | null
Scheduled outbound time when the outbound is pending, scheduled, or paused.
string | null
Send timestamp when the outbound has been sent.
string
Current actionable status:
SCHEDULED, PENDING, or PAUSED.number | null
Attempt number when available.
number | null
Attempt sequence across all outbound attempts for the search.
number | null
Attempt sequence for this contact.
number | null
Attempt sequence for this channel.
boolean
Whether this outbound is cancelled.
string
Cancellation reason when available.
string
Failure reason when available.
Example Response
Cancel Outbounds
Permanently cancels pending outbound work without cancelling the search itself.Request Body
string
Optional contact destination. When provided, only pending outbound matching this normalized destination is cancelled.
Example Request
Behavior
Cancels all pending outbound work — scheduled contact attempts and matching unsent outbound records. WhencontactDestination is provided, cancellation is scoped to pending outbound matching that normalized destination.
Cancellation is permanent. Resume operations do not recreate cancelled outbound. Cancelling while paused clears pause state and
marks paused attempts as
CANCELLED.Pause Outbounds
Pauses all pending outbound work for the search.Request Body
string
Optional pause reason stored in outbound control metadata and webhook payloads.
Example Request
Behavior
pause-outbounds pauses the pending outbound work that exists at the moment of the call. It pauses:
SCHEDULEDcontact attemptsTRIGGERED_BY_SCHEDULERcontact attempts that have been claimed but not completed- pending delayed or queued outbound jobs
- matching unsent outbound activity records, when a corresponding activity can be identified
PAUSED, automated outbound stays on hold: the workflow does not send and inbound
replies do not schedule the next contact attempt. Outbound you schedule explicitly after the pause — through the scheduling
endpoints or the Driver’s Seat — is created live and sends on its own schedule. Call pause-outbounds again to capture that newer
work; each call takes a fresh snapshot of whatever is pending at that time.
Calling pause-outbounds when the search is already paused and nothing new is pending is idempotent and returns a successful
response with previousOutboundStatus set to PAUSED.
Repeating a pause when the search is already paused and no new outbound has been scheduled since succeeds without changing state
or emitting another webhook.
Pause Outbound
Pauses one pending outbound while leaving the search-level outbound control statusACTIVE.
Request Body
string
required
Outbound activity ID, contact attempt ID, or
attempt- prefixed contact attempt ID. Use GET .../outbounds to discover this
value.string
Optional pause reason stored in outbound control metadata and webhook payloads.
Example Request
Behavior
pause-outbound affects only the matching pending outbound. It does not change the search-level outbound control status, so other
pending outbound attempts for the same search can continue. This works while the search is globally paused too: an outbound that is
still live is paused on its own, and one that the search-level pause already holds is reported as already paused with
currentOutboundStatus: PAUSED. An unknown outboundId is rejected.
The endpoint accepts an activity UUID, a contact attempt UUID, or attempt-<contactAttemptUuid>. Already sent, delivered, failed,
cancelled, or superseded history is not changed.
Resume Outbounds
Restores paused outbound work to an active scheduled state.Request Body
string
Optional resume reason stored in outbound control metadata and webhook payloads.
Example Request
Behavior
resume-outbounds restores paused outbound work to an active scheduled state. It resumes:
- attempts paused by
pause-outbounds - attempts paused individually via the single-outbound endpoint
- delayed outbound jobs captured in the pause snapshot
- matching activity metadata, with the pause marker removed and a resume marker added
resume-outbounds also returns the search-level status to ACTIVE, which re-enables automated outbound.
Calling resume-outbounds when there is no paused outbound state is idempotent and returns a successful response with
previousOutboundStatus set to ACTIVE.
Repeating a resume when no paused state exists succeeds without changing state or emitting another webhook. Permanently
cancelled and superseded attempts are never recreated.
Resume Outbound
Restores one paused outbound identified byoutboundId.
Request Body
string
required
Outbound activity ID, contact attempt ID, or
attempt- prefixed contact attempt ID. Use GET .../outbounds to discover this
value.string
Optional resume reason stored in outbound control metadata and webhook payloads.
Example Request
Behavior
resume-outbound restores only the paused outbound tracked for the supplied outboundId, whether it was paused individually or by
pause-outbounds. If the original scheduled time is already in the past, the attempt is restored with an immediate scheduled time
so the scheduler can process it on the next run.
If this was the last paused outbound on a globally paused search, the search-level hold is released as well: the response reports
clearedSearchPause: true and currentOutboundStatus: ACTIVE, any outbound jobs still held by the pause are re-enqueued, and an
OUTBOUNDS_RESUMED webhook is emitted alongside OUTBOUND_RESUMED. A search never stays paused with nothing paused under it.
Cancelling the last paused outbound releases the hold the same way.
Calling resume-outbound when the supplied outbound is not paused is idempotent and returns a successful response with
previousOutboundStatus set to ACTIVE.
Repeating this request for an outbound that is already active succeeds without changing state or emitting another webhook.
Mutation Response
boolean
Whether the request was processed.
string
Internal search UUID.
string
External search identifier when present.
string
Single-outbound response only. The outbound identifier supplied in the request.
string
PAUSE_OUTBOUND or RESUME_OUTBOUND.string
Previous outbound control status:
ACTIVE or PAUSED.string
Current outbound control status:
ACTIVE or PAUSED. A single-outbound pause does not change it. A single-outbound resume or
cancel leaves it PAUSED while other outbounds are still held, and reports ACTIVE once it released the last one.boolean
Single-outbound resume and cancel responses only.
true when this request released the last paused outbound and returned the
search-level status to ACTIVE.number
Cancel response only. Number of pending outbound jobs plus contact attempts cancelled.
number
Cancel response only. Number of outbound activity records marked as cancelled.
number
Pause response only. Number of queue jobs plus contact attempts paused.
number
Resume response only. Number of queue jobs plus contact attempts restored.
number
Resume response only. Number of outbound activity records marked as resumed.
array
Search-level pause/resume response. Outbound attempts paused or resumed by this request. Each item includes
id, method,
contactId, attemptDate, and destination.string
Human-readable summary of the action taken.
Search-Level Pause/Resume Response Shape
Webhook Behavior
Only successful pause, resume, and cancel operations that change outbound state emit a
verification.notification webhook.
Listing outbounds does not emit an outbound-control notification, and idempotent pause, resume, or cancel requests do not emit a
duplicate event.
Resuming or cancelling the last paused outbound emits
OUTBOUNDS_RESUMED in addition to the single-outbound event, because the
search-level hold is released by that request.
The webhook includes an outboundControl object with:
action:PAUSE_OUTBOUND,RESUME_OUTBOUND, orCANCEL_OUTBOUNDoutboundId: the requested outbound ID for single-outbound operationsreason: the optional reason supplied in the requestcount: number of contact-backed outbound items paused, resumed, or cancelled (matchesoutboundsfor search-level operations; excludes scheduler timer rows)activitiesMarked: number of activity records marked as paused, resumed, or cancelledtrigger:apioutbounds: affected outbound summaries for search-level operations
GET .../outbounds does not emit outbound-control webhook notifications. See
Webhook Events for the complete payload definition.
Additional Behavior
contactDestinationscoping is supported for cancel operations. Pause and resume always apply to all pending outbound (or a single outbound when using the single-outbound endpoints).- A search-level pause holds the outbound that was pending when you called it and blocks automated outbound. Outbound you schedule after that call is live; pause again to hold it too.
- If a replacement outbound supersedes a paused outbound, the old attempt is marked as superseded and is not recreated on resume.
- Use Manage Search Contacts to inspect or update the contact plan.

