Returns a list of document verification upload sessions, including session status, timestamps, and associated document requests for the authenticated user.
Retrieve a List of User Upload Sessions
The GET /UserUploadSessions endpoint retrieves all document verification upload sessions associated with the authenticated user. Each session record includes status information, email notification tracking, and an array of individual document verification requests with their current states and linked file metadata.
This endpoint supports real-time monitoring of both ongoing and completed document upload workflows, giving partners and administrators full visibility into the document verification lifecycle.
Endpoint
GET /UserUploadSessions
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 you need to display a user's document verification history or check the current state of a pending verification session. It is commonly called during onboarding flows to confirm that required documents have been uploaded and are being processed. Partners may also use it to trigger follow-up actions such as re-sending email prompts when a session has stalled.
Response
200 OK
Returns an array of documentverificationsession objects. Each object inherits base entity fields and audit fields.
Top-level session fields:
| Field | Type | Description |
|---|---|---|
id | integer (int32) | Unique identifier of the upload session |
createdDate | string (date-time) | Timestamp when the session was created |
updatedDate | string (date-time) | null | Timestamp of the last update to the session |
createdBy | string | null | Identifier of the user or process that created the session |
updatedBy | string | null | Identifier of the user or process that last updated the session |
userProfileId | integer (int32) | ID of the user profile associated with this session |
status | integer (int32) | Verification session status. Enum: 0 = Pending, 1 = In Progress, 2 = Completed, 3 = Rejected |
emailSentDate | string (date-time) | null | Timestamp of the most recent notification email sent to the user |
emailSentCount | integer (int32) | Total number of notification emails sent for this session |
documentVerificationRequests | array | null | List of individual document requests within this session (see below) |
documentVerificationRequests item fields:
| Field | Type | Description |
|---|---|---|
id | integer (int32) | Unique identifier of the document verification request |
createdDate | string (date-time) | Timestamp when the request was created |
updatedDate | string (date-time) | null | Timestamp of the last update to the request |
createdBy | string | null | Identifier of the user or process that created the request |
updatedBy | string | null | Identifier of the user or process that last updated the request |
documentVerificationSessionId | integer (int32) | Parent session ID this request belongs to |
group | integer (int32) | Document group classification. Enum values: 0–9 |
documentType | integer (int32) | Type of document required. Enum values: 0–39 |
customDocumentType | string | null | Free-text label for custom document types not covered by the standard enum |
requirement | integer (int32) | Requirement level. Enum: 0 = Optional, 1 = Required |
innerStatus | integer (int32) | Upload status of this specific document. Enum: 0 = Pending, 1 = Uploaded |
fileInfoId | integer (int32) | null | ID of the associated file record, if a file has been uploaded |
fileInfo | object | null | Metadata about the uploaded file (see below) |
fileInfo object fields:
| Field | Type | Description |
|---|---|---|
id | integer (int32) | Unique file record identifier |
filePath | string | null | Storage path of the uploaded file |
userProfileId | integer (int32) | null | User profile associated with the file |
fileType | string | File type classification. See banking.models.filetype enum (e.g., DriverLicense, Passport, BankStatement) |
contentType | string | null | MIME type of the uploaded file (e.g., image/jpeg, application/pdf) |
createdAt | string (date-time) | Timestamp when the file record was created |
[
{
"id": 1042,
"createdDate": "2025-11-03T09:15:00Z",
"updatedDate": "2025-11-04T14:22:00Z",
"createdBy": "system",
"updatedBy": "admin",
"userProfileId": 7381,
"status": 1,
"emailSentDate": "2025-11-03T09:16:00Z",
"emailSentCount": 2,
"documentVerificationRequests": [
{
"id": 3091,
"createdDate": "2025-11-03T09:15:00Z",
"updatedDate": "2025-11-04T10:05:00Z",
"createdBy": "system",
"updatedBy": null,
"documentVerificationSessionId": 1042,
"group": 1,
"documentType": 3,
"customDocumentType": null,
"requirement": 1,
"innerStatus": 1,
"fileInfoId": 8820,
"fileInfo": {
"id": 8820,
"filePath": "/uploads/7381/drivers_license.jpg",
"userProfileId": 7381,
"fileType": "DriverLicense",
"contentType": "image/jpeg",
"createdAt": "2025-11-04T10:05:00Z"
}
},
{
"id": 3092,
"createdDate": "2025-11-03T09:15:00Z",
"updatedDate": null,
"createdBy": "system",
"updatedBy": null,
"documentVerificationSessionId": 1042,
"group": 2,
"documentType": 7,
"customDocumentType": null,
"requirement": 1,
"innerStatus": 0,
"fileInfoId": null,
"fileInfo": null
}
]
}
]Error Codes
| Code | When it happens |
|---|---|
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to view upload sessions |
| 404 | No upload sessions found for the authenticated user |
| 500 | Internal server error |
Common Mistakes
- Forgetting to refresh the Bearer token before calling this endpoint — tokens expire after 10 minutes and will result in a 401 response.
- Assuming an empty array means an error — a 200 response with
[]simply means no upload sessions have been created yet for this user. - Treating
statusandinnerStatusas the same field —statusis the overall session state, whileinnerStatusbelongs to each individual document request within the session. - Not checking
documentVerificationRequestsfornullbefore iterating — the field is nullable and must be null-checked in client code.
Related Endpoints
POST /UserUploadSessions— Create a new document verification upload sessionGET /UserUploadSessions/{id}— Retrieve a specific upload session by IDPOST /UserUploadSessions/{id}/documents— Upload a document file to an existing session
Example
curl -X GET https://api.banking.netevia.dev/UserUploadSessions \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"