Overview
The registerBusiness mutation creates a business account on the Fluz platform. In a single call it:- Creates a business account tied to the applicant — the Fluz user whose token you submit with,
- Stores the legal entity record — legal name, structure, tax ID, state of incorporation, legal address, category, and intended use of the account,
- Stores the beneficial ownership information for each owner you supply,
- Opens a KYB case for compliance review, and
- Links the new business account to your application’s OAuth grant.
accountId immediately, with a kybStatus of SUBMITTED.
This page is the parameter and error reference for the mutation itself. For prerequisites, the surrounding sequence of calls, and how to track a case to a decision, read Register & Verify Businesses first.
Required scopes
A business-account token is rejected by the schema before the mutation runs. Basic authentication is not accepted.
Basic mutation structure
Parameters
Address formattingFormat
businessLegalAddress and each owner address using the structured fields below, with a real, deliverable address and a consistent city / state / postal code. Both may be international (country name, ISO 3166; some countries are restricted, e.g. Russia or Iran). The business legal address is additionally verified against an address-validation provider and rejected with BS-0002 if it cannot be confirmed; owner addresses receive field and state/province checks only. See Address Formatting Requirements.BusinessLegalAddress
The stored address is the provider’s normalized version of what you sent, with
city, state, and postalCode upper-cased — not the exact strings you submitted.
RegisterBusinessConfirm
Both fields are non-nullable, so send both. Only the one matching your roster is enforced — set it to
true and the other to false.
BusinessOwner
OwnerAddress
BusinessStructure (enum)
Any structure not on this list is rejected with
BS-0005. Trusts, non-profits, and other entity types are handled case by case — contact your account manager before building against them.
BusinessAccountUsage (enum)
Send every value that applies. If none fit, omit
businessAccountUsage and describe the intended use in businessAccountUsageOther. Sending a value outside the enum returns BS-0004.
Beneficial ownership requirements
KYB review depends on getting the ownership picture right the first time. Collect and submit:- Every individual who owns 25% or more of the entity, directly or indirectly.
- A control person — an individual with significant responsibility for managing the entity (CEO, CFO, managing member, general partner, or similar) — even if they hold no equity. Send them with
isControlPerson: true. Exactly one owner must carry that flag. - The applicant — the user your Bearer token belongs to — matched by
emailAddressorphoneNumber. Exactly one owner must match, and that owner cannot beisInvited: true.
- Total
ownershipPercentageacross the array must not exceed 100, but it does not need to equal 100. If a business is 40/35/25 across three individuals plus a non-owner CEO, submit all four with percentages of 40, 35, 25, and 0. - Where an entity (rather than a person) holds equity, look through to the individuals behind it and submit those individuals.
- Owner emails and phone numbers must be unique across the roster.
titleis a free-text field, but it is read by a human reviewer. Use recognizable titles (“Chief Executive Officer”, “Managing Member”) rather than internal shorthand.
Who needs full identity data
How much you send per owner depends on their role. Every owner needs the base fields; only some need identity data on top.
Base fields:
firstName, lastName, title, ownershipPercentage, isControlPerson, isInvited, isUsPerson, and at least one of emailAddress / phoneNumber.
Full identity data: dob and address, plus lastFourSsnDigits when isUsPerson is true. When isUsPerson is false, omit lastFourSsnDigits — that owner completes document verification after registration via requestOwnerDocumentVerificationLink.
Validation quick reference
Most errors come down to formatting. Check these before submitting:Documents
An authorized-signer document is required when the applicant is not a beneficial owner or control person, and any structure may be asked for additional documentation during KYB review. Both paths are covered on one page:Submit business documents
Upload endpoint, accepted documents, and what to do when compliance requests more information.
Response details
RegisterBusinessError
Validation and business-rule failures are returned inside the response payload, not as top-level GraphQL errors. Branch on the presence of
error (or on success === false) rather than relying on the HTTP status.Permission failures are the exception: a wrong scope, a wrong account type, or Basic auth is rejected before the resolver runs and appears in the top-level errors array with data.registerBusiness set to null.cURL Example
Example Response
Success
Error
Error Codes
Returned inside the payload, withsuccess: false:
Returned in the top-level
errors array, with data.registerBusiness set to null:
Owner-roster problems are reported as
ARG-0001, not BS-0003. BS-0003 (InvalidOwnerInformation) exists in the shared error catalogue but this API does not return it.Testing in staging
- Register against the staging GraphQL endpoint shown in the examples above. See Staging vs. Live Environment.
- Use Test Addresses for addresses that pass validation deterministically — the legal address goes through a real address-validation provider, so invented streets will fail.
- EINs in staging must still satisfy the
XX-XXXXXXXformat, but do not need to correspond to a real entity. - Owner phone numbers must be possible numbers for their country.
+15551234567fails because555is not an assigned US area code; use a real area code with a555exchange, e.g.+14155551234. - Because a user cannot hold two open applications (
BS-0007), test repeated registration paths with distinct test users.
Best practices
- Validate client-side first. Nearly every error code is a formatting or selection problem you can catch before the network call. Doing so materially improves onboarding completion rates.
- Expect one error at a time. Validation stops at the first problem it finds and the legal address is checked early, so a rejected submission may have more than one thing wrong with it.
- Fetch categories at runtime. Never hardcode category UUIDs.
- Send
isUsPersonon every owner. It is the single most common cause of a rejected roster. - Do not auto-retry on a declined KYB. Resubmission will not change the outcome and creates duplicate cases.
- Store the
accountIdimmediately. It is your only handle on the application and the reference support will ask for. - Communicate the pending state honestly. Tell the user their business is under review and roughly how long it takes, rather than dropping them into a business dashboard that cannot yet transact.
- Collect ownership completely the first time. Missing beneficial owners is the most common cause of a review stalling for additional documentation.
Notes
- Either
businessAccountUsageorbusinessAccountUsageOthermust be provided. - Users cannot register a new business while they already have an ongoing application.
- There is no idempotency key. Duplicate submissions are blocked by the open-application check instead.
- Validation runs before anything is written, and the entity, application, charter, and address records are created in a single transaction — a rejected submission leaves nothing behind.
- The
taxIdyou submit is tokenized before storage and is never returned by any read operation.
Related pages
KYB overview
Prerequisites, the end-to-end flow, and how to track a case to a decision.
Business categories
Fetch the category and sub-category IDs required by this mutation.
Submit business documents
Upload authorization documents and respond to KYB documentation requests.
Business KYB status
Read KYB status and per-owner verification progress after submitting.
Owner verification link
Generate an identity-verification link for owners on the document path.
Address formatting requirements
Rules that govern the legal and owner address objects.