Skip to main content
Use these values to drive registerBusiness to a predictable outcome in staging, and to get each owner to READY.
Staging only. These values only work on https://transactional-graph.staging.fluzapp.com/api/v1/graphql. Never submit a real business’s tax ID or owner details to staging.
Before you start, you’ll need:

The order of operations

Every staging KYB test follows the same sequence. Most errors in staging come from running a step early or with the wrong token.
  1. Create the applicant with registerUser (leave out deferSeatAssignment), or use an existing staging user.
  2. Send the applicant through OAuth. In staging, no SMS is sent: enter 123456 as the sign-in code. If the account picker appears, choose Apply for a business account.
  3. Verify the applicant with verifyUserInformation and the approved test identity, using a CONSUMER token.
  4. Register the business with registerBusiness, still using the CONSUMER token.
  5. Switch to a BUSINESS token (same userId, the new business accountId) and track owners and kybStatus with getBusiness.
Known issue — applicants created with registerUser. Some of these users are missing an OAuth setting, so registerBusiness fails with AUTH-0008 (“does not have permission to access the application”) even after a valid grant. Until the fix ships, send the user through /authorize once, choose Apply for a business account, and reuse the same external_id as their existing grant. If it still fails, contact your Fluz contact with the user ID.

Test tax IDs

Pass these as taxId on registerBusiness, in the format XX-XXXXXXX. The tax ID is the only field that decides the staging outcome. Any other value goes to review and isn’t guaranteed to resolve in staging. The business legal address is checked against an address-validation provider, even in staging. Invented streets fail with BS-0002. Use a value from Test Addresses.

Example: an auto-approved business

Call with the applicant’s CONSUMER token. Get businessCategoryId and businessSubCategoryId from getBusinessCategories (also CONSUMER); never hardcode them.
Use the RegisterBusinessInput field names shown here: businessName, taxId, businessStructure. The applicant owner’s email or phone must match the user the token belongs to. Every business needs one control person; beneficial owners are only required for anyone holding 25% or more.
A success response returns an accountId and kybStatus: SUBMITTED. Store the accountId: you need it to mint the BUSINESS token for everything that follows. The applicant’s existing grant extends to the new business account, so generateUserAccessToken works for it while KYB is still pending.

Getting owners to READY

Mint a BUSINESS token (the same userId plus the new business accountId) and call getBusiness. Each owner has a verificationType:
requestOwnerDocumentVerificationLink returns ARG-0001 for SSN owners. It only works for DOCUMENTS owners.
kybStatus: APPROVED is about the business. Each owner is tracked separately, so an owner can still read PENDING_CIP after the business is approved. Treat the business as ready only when kybStatus is final and every owner reports READY.

Common staging errors

Changing a business after approval

There is no API to change a business’s legal name, address, or owners once it’s registered. Contact Fluz support for those changes.

Resetting

There is no API to reset a business’s KYB outcome, or to cancel an in-flight application. A successful submission blocks the same applicant from registering again (BS-0007) until it resolves. To test repeatedly, use a fresh applicant user, or ask your Fluz contact to reset one.

Next steps

Register & Verify Businesses

Prerequisites, token types, and the KYB lifecycle.

Onboard & Verify a Business

The whole business path end to end in staging.