> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluz.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit Business Documents

> Upload supporting documentation for a business account — at registration for sole proprietorships, or when KYB review requests more information.

## Overview

Business documents are submitted over a **REST file-upload endpoint**, not through the GraphQL API. The endpoint stores the file and returns a URL that you then reference from a GraphQL mutation or hand to your account manager.

There are two moments in a business lifecycle where documents come into play:

| Situation                                        | What to do                                                                                                                                                   |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Registering a **sole proprietorship**            | Upload the document **before** calling `registerBusiness`, then pass the returned URL in `soleProprietorshipDocumentUrl`. Registration will fail without it. |
| KYB review requests **additional documentation** | The account stays in `PENDING`. Upload the requested files and provide the URLs to your account manager along with the `accountId`.                          |

<Note>
  LLCs, corporations, partnerships, and co-ops do **not** require any document upload at registration. Fluz verifies those entities from the data submitted in [registerBusiness](/business-registration). Documents are only requested if the automated checks do not clear.
</Note>

***

## Upload endpoint

| Property       | Value                                              |
| -------------- | -------------------------------------------------- |
| Method         | `POST`                                             |
| Path           | `/api/v1/file-upload/sole-proprietorship-document` |
| Content type   | `multipart/form-data`                              |
| Form field     | `file`                                             |
| Authentication | OAuth Bearer Token                                 |

Staging base URL: `https://transactional-graph.staging.fluzapp.com`

```bash theme={null}
curl -X POST https://transactional-graph.staging.fluzapp.com/api/v1/file-upload/sole-proprietorship-document \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -F "file=@/path/to/document.pdf"
```

The endpoint returns a URL. Store it and pass it straight through to `registerBusiness`:

```json theme={null}
{
  "input": {
    "businessName": "Jane Doe Design",
    "businessStructure": "SOLE_PROPRIETORSHIP",
    "soleProprietorshipDocumentUrl": "<URL RETURNED BY THE UPLOAD ENDPOINT>",
    "...": "..."
  }
}
```

<Warning>
  Upload first, register second. There is no way to attach a document to an existing registration — if you submit a sole proprietorship without `soleProprietorshipDocumentUrl`, the mutation is rejected, and the user cannot start a second application until the first one closes (`BS-0007`).
</Warning>

<Info>
  **File requirements** — accepted formats, maximum file size, and page limits: confirm current limits with your account manager before building client-side validation.
</Info>

***

## Sole proprietorship documents

Because a sole proprietorship is not a separately registered legal entity, the document needs to establish two things: that the trade name exists, and that the proprietor is the person behind it.

Documents that generally satisfy this:

* **Fictitious business name / DBA filing** — the county or state filing for the trade name
* **Business license** — issued to the proprietor by the city, county, or state
* **IRS EIN assignment letter** (CP 575 or 147C) — where the sole proprietorship holds its own EIN

Practical guidance:

* The name on the document should match the `businessName` you submit. A mismatch is the most common reason a sole proprietorship review stalls.
* Submit a full, legible scan or PDF of the whole document, not a cropped screenshot of one line.
* Expired licenses and filings are not accepted — the document should be current.

## Additional documentation during KYB review

If Fluz compliance needs more than the registration payload provides, the KYB case stays `PENDING` while the request is made through your account manager. Commonly requested items:

* Formation documents (articles of organization or incorporation, operating agreement, partnership agreement)
* Proof of the business address
* Government-issued ID for a beneficial owner or control person
* An explanation or supporting detail on the nature of the business, where `natureOfBusiness` was left blank or was too general

What to do on your side:

1. Keep the account in an "under review" state in your UI. Do not resubmit `registerBusiness` — a second application is blocked by `BS-0007`, and duplicate cases slow the review down.
2. Upload the requested files and send the URLs plus the `accountId` to your account manager.
3. Poll the business account status on a low-frequency schedule and update your UI when it moves to approved or declined. See [KYB status lifecycle](/business-registration#kyb-status-lifecycle).

<Note>
  Submitting complete beneficial ownership information at registration is the single most effective way to avoid a document request. See [Beneficial ownership requirements](/business-registration#beneficial-ownership-requirements).
</Note>

## Related pages

<CardGroup cols={2}>
  <Card title="Register & verify businesses" href="/business-registration">
    The `registerBusiness` mutation, parameters, and error codes.
  </Card>

  <Card title="Business categories" href="/business-categories">
    Fetch the category and sub-category IDs required at registration.
  </Card>

  <Card title="User KYC verification" href="/user-kyc-verification">
    Identity verification for the individual owners behind the business.
  </Card>

  <Card title="Staging vs. live environment" href="/concepts/environments">
    Base URLs for the upload endpoint in each environment.
  </Card>
</CardGroup>
