Skip to main content

Overview

The requestOwnerDocumentVerificationLink mutation generates a shareable URL that a business owner can use to complete identity verification by document. The link works on its own — the owner does not need Fluz credentials. Use it for owners that getBusiness reports with verificationType: DOCUMENTS and status: PENDING_CIP. Those are beneficial owners or control persons submitted with isUsPerson: false, which puts them on the document path rather than the SSN path.
Owners on the SSN path (verificationType: SSN) do not need to use this mutation, and neither do invited owners who have not accepted yet — Fluz emails those owners directly and they verify themselves.

Required scopes

Use a token minted for the business account that registerBusiness returned.

Prerequisites

All of these must hold, or the call fails:
1

A business-account token with REGISTER_BUSINESS

Scoped to the business that owns the roster.
2

The case is in the submitted-for-screening state

The link can only be generated during one specific state after submission. Cases that are still being created, already waiting on screening results, or in manual review are rejected — even though getBusiness reports all of those as kybStatus: PENDING. See Timing.
3

businessOwnerId is the owner's business-user ID

Taken from owners[].id in getBusiness, and belonging to this business. A Fluz user ID is not accepted, and invited owners who have not accepted have id: null.
4

The owner is on the document path

verificationType: DOCUMENTS with status: PENDING_CIP.

Basic mutation structure

Parameters

Response details

Failures are returned as top-level GraphQL errors, not as success: false. Check the errors array, not just the data payload. This is the opposite of registerBusiness, which reports validation failures inside its payload.

Timing

The state requirement in prerequisite 2 is the most common reason this call fails, and it is not visible through kybStatus.
Call it early. Shortly after registerBusiness returns, as soon as getBusiness shows the owner as verificationType: DOCUMENTS with status: PENDING_CIP.If you receive ARG-0001 with business is not submitted for approval, the case has moved past — or has not yet reached — that window. Do not retry in a loop. Keep reading getBusiness, and contact your account manager with the accountId if an owner stays PENDING_CIP with no way to send them a link.

cURL Example

Example Response

Success

Error

Error Codes

Notes

  • The generated link is single-purpose. If the owner’s link expires or is lost, call the mutation again for a fresh one rather than reusing the old one.
  • Generating a link does not change the owner’s status. It moves to READY only once the owner actually completes verification — keep reading getBusiness.
  • There is no bulk variant. Call once per owner who needs a link.

Business KYB status

Identify which owners need a link, and confirm when they finish.

KYB overview

Where this step sits in the end-to-end flow.

Register a business

How isUsPerson puts an owner on the document path.