Get Account Information After Submit
The GET /netevia/productApplication endpoint retrieves detailed information about an account following the submission of an application. Partners can use it to check the current approval status, review account holder details, and identify any outstanding requirements such as missing documents or pending verifications. This endpoint is part of the Boarding flow and is typically called after a product application has been submitted.
Endpoint
GET /netevia/productApplication
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 after submitting a product application to check whether it has been approved, rejected, or is still under review. It is also useful for identifying any remaining compliance requirements — such as outstanding document uploads or verification steps — that must be resolved before the account can be activated. Partners typically poll this endpoint or call it in response to a status webhook to drive their onboarding workflow.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| profileId | integer (int32) | No | The numeric identifier of the customer profile whose application status should be retrieved. |
Response
200 OK
The response wraps all data inside a top-level node object.
Top-level node object
| Field | Type | Description |
|---|---|---|
| typename | string | Internal type discriminator for the node. |
| id | string | Unique identifier of the application node. |
| createdAt | string (date-time) | ISO 8601 timestamp when the application was created. |
| updatedAt | string (date-time) | ISO 8601 timestamp of the most recent update. |
| applicationState | object | Current state of the application. Contains status (string). |
| accountHolderSnapshot | object | Snapshot of the account holder at the time of application (see below). |
accountHolderSnapshot object
| Field | Type | Description |
|---|---|---|
| typename | string | Type discriminator for the account holder. |
| primaryAuthorizedPerson | object | Name and verification status of the primary authorized person. |
| businessProfile | object | Business profile details including beneficial owners and verification status (business accounts only). |
| name | object | Full name of the account holder (givenName, familyName, title, suffix). |
| currentVerification | object | Current verification state of the account holder (see currentVerification below). |
currentVerification object (appears on account holder, primary authorized person, business profile, and each beneficial owner)
| Field | Type | Description |
|---|---|---|
| status | string | Verification status (e.g., APPROVED, PENDING, DECLINED). |
| reason | string | Human-readable explanation when status is not approved. |
| results | array of objects | List of result codes and descriptions from the verification process. Each item has code (string) and description (string). |
| requiredDocuments | array of objects | Documents that must be provided to complete verification (see requiredDocument below). |
requiredDocument object
| Field | Type | Description |
|---|---|---|
| createdAt | string (date-time) | Timestamp when the document requirement was created. |
| updatedAt | string (date-time) | Timestamp of the most recent update to this requirement. |
| referenceIdentifier | string | Reference ID for this document requirement. |
| status | string | Current status of the document requirement (e.g., PENDING, SATISFIED). |
| documentUploadSession | object | Active upload session details (status, id, primaryDocumentTypes, uploadRequirements). |
| uploadedDocuments | array of objects | Documents already uploaded. Each item contains status, type, createdAt, and updatedAt. |
uploadRequirements object (within documentUploadSession)
| Field | Type | Description |
|---|---|---|
| constraints | array of objects | Upload constraints. Each item has documentType (string) and numberOfDocuments (integer). |
businessProfile object
| Field | Type | Description |
|---|---|---|
| currentVerification | object | Verification state of the business entity. |
| ultimateBeneficialOwners | array of objects | List of beneficial owners, each with name and currentVerification. |
{
"node": {
"typename": "CardProductApplication",
"id": "app_01HZ9ABCDEF1234567890",
"createdAt": "2025-06-01T10:00:00Z",
"updatedAt": "2025-06-08T14:35:00Z",
"applicationState": {
"status": "PENDING"
},
"accountHolderSnapshot": {
"typename": "BusinessAccountHolder",
"name": {
"givenName": "Jane",
"familyName": "Smith",
"title": "Ms.",
"suffix": null
},
"primaryAuthorizedPerson": {
"name": {
"givenName": "Jane",
"familyName": "Smith",
"title": null,
"suffix": null
},
"currentVerification": {
"status": "APPROVED",
"reason": null,
"results": [
{
"code": "KYC_PASS",
"description": "Identity verification passed."
}
],
"requiredDocuments": []
}
},
"businessProfile": {
"currentVerification": {
"status": "PENDING",
"reason": "Additional documentation required.",
"results": [],
"requiredDocuments": [
{
"createdAt": "2025-06-07T08:00:00Z",
"updatedAt": "2025-06-08T09:00:00Z",
"referenceIdentifier": "doc_ref_001",
"status": "PENDING",
"documentUploadSession": {
"status": "OPEN",
"id": "session_abc123",
"primaryDocumentTypes": ["ARTICLES_OF_INCORPORATION"],
"uploadRequirements": [
{
"constraints": [
{
"documentType": "ARTICLES_OF_INCORPORATION",
"numberOfDocuments": 1
}
]
}
]
},
"uploadedDocuments": []
}
]
},
"ultimateBeneficialOwners": [
{
"name": {
"givenName": "John",
"familyName": "Doe",
"title": null,
"suffix": null
},
"currentVerification": {
"status": "APPROVED",
"reason": null,
"results": [],
"requiredDocuments": []
}
}
]
},
"currentVerification": {
"status": "PENDING",
"reason": "Business verification in progress.",
"results": [],
"requiredDocuments": []
}
}
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields or validation error |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions |
| 404 | Profile or application not found |
| 500 | Internal server error |
Common Mistakes
- Omitting the
profileIdquery parameter when multiple profiles exist under a partner account, which may return an unexpected or empty result. - Not refreshing the Bearer token before calling this endpoint — tokens expire after 10 minutes and will return a 401 error.
- Assuming a single
currentVerificationcheck is sufficient; both the account holder and thebusinessProfilehave independent verification states that must both reachAPPROVEDstatus. - Ignoring
requiredDocumentsin the response — aPENDINGstatus often means documents still need to be uploaded via the document upload session before the application can proceed.
Related Endpoints
POST /netevia/productApplication— Submit a new product application for a customer profile.POST /netevia/documentUpload— Upload documents to satisfy outstanding verification requirements.GET /netevia/profile— Retrieve customer profile details.POST /api/auth/v2— Obtain a Bearer token for authentication.POST /api/auth/refresh— Refresh an existing Bearer token.
Example
curl -X GET "https://api.banking.netevia.dev/netevia/productApplication?profileId=12345" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json"