Retrieve Product Application Details

Retrieves detailed information about a specific product application, including its status, product type, and customer details.

Retrieve Product Application Details

The GET /v2/productApplication endpoint returns comprehensive details about a specific product application within the Netevia Banking platform. It exposes the application's current state, the associated account holder snapshot, and any verification or document requirements tied to that application.

Endpoint

GET /v2/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 when you need to review or process a product application on behalf of a partner or customer. It is particularly useful for tracking application progress (e.g., pending, approved, declined), confirming the product type associated with the application, and verifying that all customer details and compliance documents are accurate and complete.

Query Parameters

ParameterTypeRequiredDescription
applicationIdstringYesThe unique identifier for the product application to retrieve.

Response

200 OK

The response wraps all data inside a node object.

node object

FieldTypeDescription
node.typenamestringInternal type name of the node.
node.idstringUnique identifier of the product application.
node.createdAtstring (date-time)ISO 8601 timestamp when the application was created.
node.updatedAtstring (date-time)ISO 8601 timestamp of the most recent update to the application.
node.applicationStateobjectCurrent state of the application.
node.applicationState.statusstringApplication status (e.g., PENDING, APPROVED, DECLINED).
node.accountHolderSnapshotobjectSnapshot of the account holder at the time of the application.
node.accountHolderSnapshot.typenamestringType of account holder (e.g., PersonAccountHolder, BusinessAccountHolder).
node.accountHolderSnapshot.nameobjectName of the personal account holder (personal accounts).
node.accountHolderSnapshot.name.givenNamestringFirst name.
node.accountHolderSnapshot.name.familyNamestringLast name.
node.accountHolderSnapshot.name.titlestringTitle (e.g., Mr., Ms., Dr.).
node.accountHolderSnapshot.name.suffixstringName suffix (e.g., Jr., III).
node.accountHolderSnapshot.currentVerificationobjectVerification status for the account holder.
node.accountHolderSnapshot.currentVerification.statusstringVerification status (e.g., VERIFIED, UNVERIFIED, PENDING).
node.accountHolderSnapshot.currentVerification.reasonstringReason associated with the current verification status.
node.accountHolderSnapshot.currentVerification.resultsarrayList of verification result codes and descriptions.
node.accountHolderSnapshot.currentVerification.results[].codestringResult code from the verification check.
node.accountHolderSnapshot.currentVerification.results[].descriptionstringHuman-readable description of the result code.
node.accountHolderSnapshot.currentVerification.requiredDocumentsarrayList of documents required to complete verification.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].createdAtstring (date-time)When this document requirement was created.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].referenceIdentifierstringReference identifier for the document requirement.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].updatedAtstring (date-time)When this document requirement was last updated.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].statusstringStatus of the required document (e.g., PENDING, SUBMITTED, ACCEPTED).
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSessionobjectUpload session details for submitting documents.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSession.statusstringStatus of the upload session.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSession.idstringUnique identifier for the upload session.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSession.primaryDocumentTypesarray of stringAccepted primary document types for this session.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSession.uploadRequirementsarrayUpload constraints for this session.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSession.uploadRequirements[].constraintsarrayList of document type constraints.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSession.uploadRequirements[].constraints[].documentTypestringDocument type required.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].documentUploadSession.uploadRequirements[].constraints[].numberOfDocumentsintegerNumber of documents required of this type.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].uploadedDocumentsarrayDocuments already uploaded for this requirement.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].uploadedDocuments[].statusstringStatus of the uploaded document.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].uploadedDocuments[].typestringType of the uploaded document.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].uploadedDocuments[].createdAtstring (date-time)When the document was uploaded.
node.accountHolderSnapshot.currentVerification.requiredDocuments[].uploadedDocuments[].updatedAtstring (date-time)When the uploaded document record was last updated.
node.accountHolderSnapshot.primaryAuthorizedPersonobjectPrimary authorized person (business accounts).
node.accountHolderSnapshot.primaryAuthorizedPerson.nameobjectName of the primary authorized person (same structure as name above).
node.accountHolderSnapshot.primaryAuthorizedPerson.currentVerificationobjectVerification status for the primary authorized person (same structure as currentVerification above).
node.accountHolderSnapshot.businessProfileobjectBusiness profile details (business accounts only).
node.accountHolderSnapshot.businessProfile.currentVerificationobjectVerification status for the business entity (same structure as currentVerification above).
node.accountHolderSnapshot.businessProfile.ultimateBeneficialOwnersarrayList of ultimate beneficial owners (UBOs) of the business.
node.accountHolderSnapshot.businessProfile.ultimateBeneficialOwners[].nameobjectName of the UBO (same structure as name above).
node.accountHolderSnapshot.businessProfile.ultimateBeneficialOwners[].currentVerificationobjectVerification status for the UBO (same structure as currentVerification above).
{
  "node": {
    "typename": "PersonProductApplication",
    "id": "app_01HZ9XK2M3N4P5Q6R7S8T9U0V1",
    "createdAt": "2025-03-15T10:22:00Z",
    "updatedAt": "2025-06-01T14:35:00Z",
    "applicationState": {
      "status": "APPROVED"
    },
    "accountHolderSnapshot": {
      "typename": "PersonAccountHolder",
      "name": {
        "givenName": "Jane",
        "familyName": "Smith",
        "title": "Ms.",
        "suffix": null
      },
      "currentVerification": {
        "status": "VERIFIED",
        "reason": null,
        "results": [
          {
            "code": "KYC_PASS",
            "description": "Identity verification passed successfully."
          }
        ],
        "requiredDocuments": []
      },
      "primaryAuthorizedPerson": null,
      "businessProfile": null
    }
  }
}

Error Codes

CodeWhen it happens
400Missing required applicationId query parameter or invalid format
401Token missing, expired, or invalid
403Insufficient permissions to access the specified application
404No product application found matching the provided applicationId
500Internal server error

Common Mistakes

  • Omitting the applicationId query parameter — this parameter is required; the request will fail without it.
  • Using an applicationId that belongs to a different partner scope — ensure the application was created under your authenticated partner account.
  • Expecting document upload session details when none are present — requiredDocuments and documentUploadSession fields will be empty or null when verification is already complete.
  • Confusing applicationState.status (the application workflow status) with currentVerification.status (the KYC/KYB check result) — both exist independently and must be checked separately.

Related Endpoints

  • POST /v2/productApplication — Submit a new product application
  • GET /v2/productApplication/list — List all product applications for a partner
  • POST /v2/productApplication/document — Upload a required document for a product application
  • GET /v2/accountHolder — Retrieve account holder details

Example

curl -X GET "https://api.banking.netevia.dev/v2/productApplication?applicationId=app_01HZ9XK2M3N4P5Q6R7S8T9U0V1" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json"
Headers
string
enum
Defaults to application/json

Generated from available response 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