Upload Document
The Upload Document endpoint allows partners to securely submit documents needed to complete a business account application. Supported document types include identification proofs, financial statements, and proof of address. The system confirms a successful upload so the review and approval process can proceed efficiently.
Endpoint
POST /uploadDocument
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when a business account application requires additional documentation before a final decision can be made. This typically occurs during the underwriting or compliance review stage, when the applicant must submit identity, financial, or address verification materials. Call this endpoint once per document, repeating as needed for each required file within the same upload session.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | Yes | The unique identifier of the business customer profile associated with the application. |
| documentUploadSessionId | string | No | Session identifier that groups multiple document uploads for the same application review. |
| documentType | string | No | Type of document being submitted (e.g., GOVERNMENT_ID, BANK_STATEMENT, PROOF_OF_ADDRESS). |
| fileName | string | No | Original file name of the uploaded document including extension (e.g., passport.pdf). |
| data | string | No | Base64-encoded content of the document file. |
| contentType | string | No | MIME type of the document (e.g., application/pdf, image/jpeg, image/png). |
| verificatedEntity | string | No | The entity or person the document is intended to verify (e.g., the business owner or the business itself). |
{
"profileId": 100234,
"documentUploadSessionId": "session-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"documentType": "GOVERNMENT_ID",
"fileName": "drivers_license.pdf",
"data": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9...",
"contentType": "application/pdf",
"verificatedEntity": "John Smith"
}Response
200 OK
A 200 OK status confirms the document was received successfully. The response body may be empty or contain a confirmation message. No structured response schema is defined for this endpoint.
{}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields, invalid Base64 encoding, or unsupported content type |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to upload documents for the specified profile |
| 404 | Profile ID not found or no active application session exists |
| 500 | Internal server error |
Common Mistakes
- Sending the raw binary file instead of a Base64-encoded string in the
datafield — the field expects a Base64 string, not a multipart file upload. - Omitting
contentTypeor providing a mismatched MIME type that does not match the actual file format. - Reusing a
documentUploadSessionIdthat has already been closed or finalized, which will cause the upload to be rejected. - Providing a
profileIdthat belongs to a personal customer — this endpoint is intended for business account applications only.
Related Endpoints
POST /api/auth/v2— Obtain a Bearer token for authenticationPOST /api/auth/refresh— Refresh an expiring Bearer token
Example
curl -X POST https://api.banking.netevia.dev/uploadDocument \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"profileId": 100234,
"documentUploadSessionId": "session-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"documentType": "GOVERNMENT_ID",
"fileName": "drivers_license.pdf",
"data": "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PC9...",
"contentType": "application/pdf",
"verificatedEntity": "John Smith"
}' 200Success
