---
title: "Upload a proof-of-address document"
method: POST
path: "/uploadBankingDocument"
tags: ["Banking"]
---

# Upload a proof-of-address document

`POST /uploadBankingDocument`

## Request

- Base URL: `https://laso.finance`
- URL: `https://laso.finance/uploadBankingDocument`
- Auth: API key in header `Authorization`

Attaches a proof-of-address document to the banking application, for the cases where the partner asks for one. The application must already exist and have an individual on it, so complete the application first.

**Two things reject uploads that otherwise look fine.** A `.jpg` file must be sent as `fileType: "jpeg"` — `"jpg"` is refused. And the partner caps the *decoded* size at 10MB, even though their own upload page advertises 20MB; oversized files are rejected here before the round-trip.

`fileContent` accepts either a bare base64 string or a `data:` URL, so a browser `FileReader.readAsDataURL` result can be passed through unchanged.

A Firebase callable. Callables wrap the request in `{"data": ...}` and the reply in `{"result": ...}`. Send the `id_token` from `/auth` as a Bearer token. Free.

## Request body

- object
  - `data` object, required
    - `userId` string, required: The Laso user id (the `usr_...` value from /auth).
    - `documentType` 'proof_of_address' | 'bank_statement' | 'utility_bill', required: The kind of document.
    - `fileType` 'pdf' | 'jpeg' | 'png', required: The file's format. Send a .jpg as `jpeg`.
    - `fileContent` string, required: The file, base64-encoded. A `data:` URL is also accepted. Decoded size must be 10MB or less.
    - `country` string, required: The document's country, ISO 3166-1 alpha-2.
    - `filename` string: The file's name.

## Response `200`

The created document id and its review status.

- object
  - `result` object
    - `documentId` string
    - `status` string

## Other responses

- `400`: A required field is missing or invalid.
- `401`: Missing, invalid, or expired Bearer token.
- `403`: The caller is not this user and is not an admin.
- `412`: The application has no individual to attach a document to yet. Complete the application first.

---

[API](https://skmtc.dev/laso/apis/laso-finance-x402-api.md) · [All operations](https://skmtc.dev/laso/apis/laso-finance-x402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/laso/apis/laso-finance-x402-api/revisions/ff8ce20b49ba?raw)
