> ## 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.

# Upload sole proprietorship document

> REST endpoint for uploading the supporting document required when registering a SOLE_PROPRIETORSHIP business.

Most of the Fluz API is GraphQL — file upload is the exception. When [`registerBusiness`](/api-reference/mutations/register-business) is called with `businessStructure: SOLE_PROPRIETORSHIP`, upload the supporting document through this REST endpoint first, then pass the returned URL as `soleProprietorshipDocumentUrl` in [`RegisterBusinessInput`](/api-reference/types/register-business-input).

## Endpoint

| Environment | URL                                                                                                    |
| ----------- | ------------------------------------------------------------------------------------------------------ |
| Staging     | `POST https://transactional-graph.staging.fluzapp.com/api/v1/file-upload/sole-proprietorship-document` |
| Live        | `POST https://transactional-graph.fluzapp.com/api/v1/file-upload/sole-proprietorship-document`         |

## Request

Send the document as `multipart/form-data`, authenticated with the same access token you use for the registration flow:

```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=@business-license.pdf"
```

## Response

Returns the public URL of the uploaded document — see [`UploadSoleProprietorshipDocumentResponse`](/api-reference/types/upload-sole-proprietorship-document-response):

```json theme={null}
{
  "url": "https://storage.fluzapp.com/documents/..."
}
```

Supply this value in `soleProprietorshipDocumentUrl` when submitting `registerBusiness`. For the full registration walkthrough, including the KYB lifecycle, see [Business registration](/business-registration).
