Skip to main content

Logs API

The following document highlights the details of the Logs API.

Prerequisite

The Logs API returns a response only after the Results Webhook has been delivered for that transaction. Configure the webhook and wait for it to be sent before calling this API.

API Description

Objective

The Logs API, also known as the Results API, retrieves comprehensive details associated with an application, including outputs of all modules executed for it. The Logs API can be used alongside both SDKs and onboard links.

InputOutput
Transaction ID and optional request parameters (e.g. sendFlag, sendUserDetails)Comprehensive application details, including workflow details, application status, user details, and results of all modules executed
IP Whitelisting

For security purposes, the Logs API requires IP whitelisting. You can whitelist your IP addresses through the HyperVerge Dashboard. This is a one-time setup that needs to be done during your initial onboarding. Once whitelisted, your IP will have permanent access to the Logs API.

Only users with admin access can perform IP whitelisting. Due to security restrictions, only adding new IPs is supported - editing or deleting existing entries is not allowed.

For additional support or queries, please contact our support team at support@hyperverge.co.

API URL

Use the base URL for your region:

RegionLogs API URL
indhttps://ind.idv.hyperverge.co/v1/link-kyc/results
sgphttps://sgp.idv.hyperverge.co/v1/link-kyc/results
idnhttps://idn.idv.hyperverge.co/v1/link-kyc/results
usahttps://usa.idv.hyperverge.co/v1/link-kyc/results
zafhttps://zaf.idv.hyperverge.co/v1/link-kyc/results

API Endpoint

link-kyc/results

Overview

The Logs API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format, and you should send all data in JSON format through a POST request.

Method - POST

Authentication

You need a unique pair of application ID ( appId ) and application key ( appKey ) from HyperVerge to verify your identity for accessing the Logs API.

Headers

HeaderMandatory / OptionalDescriptionInput Format
content-typeMandatoryThe media type for the request payload.application/json
appIdMandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.
appKeyMandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tab.This should be a unique value.

Inputs

The following table provides the details of the parameters required for the Logs API's request body:

ParameterMandatory / OptionalTypeDescriptionInput FormatDefault Value
transactionIdOptionalstringA unique identifier for tracking a user journey.This should be both unique and easily associated with the user's journey in your application(s).Not Applicable
sendFlagOptionalstringSpecifies whether to send a flag in the responseyes or noyes
bucketPathFlagOptionalstringSpecifies whether to include the bucket path in the responseyes or nono
removeS3ImageOptionalstringIndicates whether to remove the S3 image after processingyes or nono
sendUserDetailsOptionalstringIndicates whether user details should be included in the responseyes or noNot Applicable
sendDebugInfoOptionalstringIndicates whether debug information should be included in the responseyes or noNot Applicable
showHiddenRequestsOptionalstringIndicates whether to include hidden requests in the responseyes or noyes
generateNewLinksOptionalstringSpecifies whether to generate new links for the resultyes or nono
flagComputationVersionOptionalstringThe version of the flag computation logic to useA valid version identifier v1 or v2 as stringNot Applicable
sendFailureReasonOptionalstringIndicates whether the reason for failure should be included in the responseyes or noNot Applicable
preferWorkflowIdFromFinishTransactionOptionalstringIndicates the preference for using the workflow ID from the finished transactionyes or noNot Applicable
sendTamperingResultOptionalstringSpecifies whether to include the tampering result in the responseyes or noNot Applicable
shouldReturnProcessedAtTimeOptionalstringIndicates whether to include the processed at time in the responseyes or noyes
shouldReturnCommentsOptionalstringIndicates whether comments should be included in the responseyes or noNot Applicable
includePreviousAttemptsOptionalstringSpecifies whether to include previous attempts in the responseyes or noyes

Request

The following code snippet demonstrates a standard curl request for the Logs API:

curl --location 'https://{region_code}.idv.hyperverge.co/v1/link-kyc/results' \ // Substitute {region_code} with your deployment region (e.g. ind — India, zaf — South Africa)
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--data-raw '{
"transactionId": "<Enter_the_Transaction_ID>",
"sendFlag": <yes/no>,
"bucketPathFlag": <yes/no>,
"removeS3Image": <yes/no>,
"sendUserDetails": "<Enter_the_preference_for_user_details>",
"sendDebugInfo": "<Enter_the_preference_for_debug_info>",
"showHiddenRequests": <yes/no>,
"generateNewLinks": <yes/no>,
"flagComputationVersion": "<Enter_the_version>",
"sendFailureReason": "<Enter_the_preference_for_failure_reason>",
"preferWorkflowIdFromFinishTransaction": "<Enter_the_preference_for_workflow_ID>",
"sendTamperingResult": "<Enter_the_preference_for_tampering_result>",
"shouldReturnProcessedAtTime": <yes/no>,
"shouldReturnComments": "<Enter_the_preference_for_comments>",
"includePreviousAttempts": <yes/no>
}'

Success Response

The following code snippet demonstrates a success response from the Logs API:

{
"status": "success",
"statusCode": 200,
"metadata": {
"requestId": "1659672179713-f148b2cb-a26b-4477-bbfe-2b8e98adadf4",
"transactionId": "123456"
},
"result": {
"workflowDetails": {
"workflowId": "workflow_q34asdfaer",
"version": 1
},
"applicationStatus": "needs_review",
"userDetails": {
"name": "Jane Doe",
"dateOfBirth":"03-02-1993"
}
"results": [
{
"module": "<Name of module>",
"moduleId": "<Module ID>",
<REST_OF_MODULE_OUTPUT>
},
"processedAt": "2023-12-19T06:51:47.000Z",
"attempts": "1",
{
"module": "<Name of module>",
"moduleId": "<Module ID>",
<REST_OF_MODULE_OUTPUT>
}
"processedAt": "2023-12-16T11:48:31.000Z",
"attempts": "2"
...
]
}
}

Success Response Details

The following table outlines the details of the success response from the Logs API:

ParameterTypeDescription
statusstringStatus of the Logs API call
statusCodeintegerStatus code of the API call (200/422/429/500/503)
metadataobjectContains metadata related to the API call
metadata.requestIdstringA unique identifier for the API call, assigned by HyperVerge. Helpful while reporting bugs
metadata.transactionIdstringThe same transactionId that you send during the SDK initialisation
resultobjectAll the results corresponding to the above transactionId
result.processedAtstringTimestamp when the processing occurred for a specific result. Format: ISO 8601 date-time (YYYY-MM-DDTHH:MM:SS.SSSZ)
result.workflowDetailsobjectDetails about the workflow that was used with this transactionId
result.workflowDetails.workflowIdstringThe workflowId of the workflow used
result.workflowDetails.versionnumberVersion number of the workflow. By default it is 1
result.applicationStatusstringCurrent status of the application. Learn more about statuses
result.userDetailsobjectThe JSON that was returned by SDK to the App except for local image paths
result.resultsarrayArray of results of all modules executed as part of this application. Module documentation describes the results format of each module.

Error Responses

The following are some error responses from the Logs API:

{
"status": "failure",
"statusCode": 401,
"metadata": {
"requestId": "<Request_ID>"
},
"result": {
"error": "Missing/Invalid credentials"
}
}

Error Response Details

A failure or error response from the Logs API contains a failure status with a relevant status code and error message. The following table lists all error responses:

Status CodeError MessageError DescriptionError Resolution
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid credentialsProvide valid appId and appKey credentials in the request
422TransactionId not foundThe request has an invalid transaction ID or the transaction was not foundCheck the cURL request and provide a valid transaction ID as mentioned earlier on this page
429Rate limit ErrorYou have exceeded the configured limit on the number of transactions permitted in a minutePlease contact the HyperVerge team for resolution
500Internal Server ErrorThe request has an internal server errorPlease check the request headers or contact the HyperVerge team for resolution
503Server BusyThe service is currently unavailablePlease contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: