Upload new documents to our cloud to make a final decision regarding account application

Upload Document for Verification

This endpoint enables partners to securely upload supporting documents to Netevia's cloud storage as part of the account application review process. Documents submitted through this endpoint are made available to the review team to complete verification and reach a final decision on the application. Supported documents include identity verification materials, financial records, and other required application artifacts.

Endpoint

POST /uploadDocumentForVerification

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 an account application requires additional document submission before a final approval decision can be made. This is typically triggered after an initial application is submitted and the review team requests supporting documentation. Partners should call this endpoint once per document, associating each upload with the relevant profile and document upload session.

Request Body

FieldTypeRequiredDescription
profileIdinteger (int32)YesThe unique identifier of the customer profile associated with the application.
documentUploadSessionIdstringNoThe document upload session ID used to group related document uploads for a single application review.
documentTypestringNoThe type of document being uploaded (e.g., "IDENTITY", "FINANCIAL_RECORD", "BUSINESS_LICENSE").
fileNamestringNoThe name of the file being uploaded, including extension (e.g., "passport_scan.pdf").
datastringNoThe Base64-encoded content of the document file.
contentTypestringNoThe MIME type of the document (e.g., "application/pdf", "image/jpeg").
verificatedEntitystringNoThe entity being verified by this document (e.g., the name of a business owner or authorized signer).
{
  "profileId": 1048293,
  "documentUploadSessionId": "sess_8f3a21bc-44d1-4e78-b90c-d7e92f6a1234",
  "documentType": "IDENTITY",
  "fileName": "drivers_license_front.jpg",
  "data": "iVBORw0KGgoAAAANSUhEUgAA...",
  "contentType": "image/jpeg",
  "verificatedEntity": "Jane Smith"
}

Response

200 OK

FieldTypeDescription
successbooleanIndicates whether the document was successfully uploaded. true if the upload completed without errors.
errorsarray of stringsList of error messages if the upload failed or encountered issues. Empty or null on success.
{
  "success": true,
  "errors": null
}

Error Codes

CodeWhen it happens
400Missing required fields or validation error (e.g., invalid profileId, malformed Base64 data)
401Token missing, expired, or invalid
403Insufficient permissions to upload documents for the specified profile
404Profile or document upload session not found
500Internal server error

Common Mistakes

  • Sending raw binary file content instead of Base64-encoded data in the data field — always encode the file as a Base64 string before submitting.
  • Omitting the contentType field or providing an incorrect MIME type, which can cause the document to be stored or rendered incorrectly.
  • Reusing an expired or closed documentUploadSessionId — ensure the session is active before uploading additional documents.
  • Uploading oversized files without checking platform size limits, which may result in a 400 or 500 error.

Related Endpoints

  • POST /api/auth/v2 — Obtain a Bearer token for authentication
  • POST /api/auth/refresh — Refresh an existing Bearer token before it expires

Example

curl -X POST https://api.banking.netevia.dev/uploadDocumentForVerification \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "profileId": 1048293,
    "documentUploadSessionId": "sess_8f3a21bc-44d1-4e78-b90c-d7e92f6a1234",
    "documentType": "IDENTITY",
    "fileName": "drivers_license_front.jpg",
    "data": "iVBORw0KGgoAAAANSUhEUgAA...",
    "contentType": "image/jpeg",
    "verificatedEntity": "Jane Smith"
  }'
Body Params
int32
string | null
string | null
string | null
string | null
string | null
string | null
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
text/plain
application/json
text/json