Get App Registration
Endpointβ
GET https://api.verifik.co/v2/app-registrations/{id}
Retrieve detailed information about a specific app registration by its ID. You can populate related objects like validations, project, and project flow.
Headersβ
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Paramsβ
| Name | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The unique identifier of the app registration |
populates[] | array | No | Populate related objects. Available: project, projectFlow, emailValidation, phoneValidation, biometricValidation, documentValidation, informationValidation, person, face, documentFace, compareFaceVerification, cryptoValidation, formSubmittion, signature, accessControlLog |
Requestβ
- Node.js
- PHP
- Python
- Go
const fetch = require("node-fetch");
async function run() {
const appRegistrationId = "674de8df21c72be3cc42b8a7";
const res = await fetch(`https://api.verifik.co/v2/app-registrations/${appRegistrationId}?populates[]=project&populates[]=projectFlow&populates[]=emailValidation`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
});
console.log(await res.json());
}
run();
<?php
$appRegistrationId = "674de8df21c72be3cc42b8a7";
$ch = curl_init("https://api.verifik.co/v2/app-registrations/" . $appRegistrationId . "?populates[]=project&populates[]=projectFlow");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"Authorization: Bearer " . getenv("VERIFIK_TOKEN")
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
import os, requests
app_registration_id = "674de8df21c72be3cc42b8a7"
url = f"https://api.verifik.co/v2/app-registrations/{app_registration_id}"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"
}
params = {"populates[]": ["project", "projectFlow", "emailValidation"]}
r = requests.get(url, params=params, headers=headers)
print(r.json())
package main
import (
"encoding/json"
"fmt"
"net/http"
"os"
)
func main() {
appRegistrationId := "674de8df21c72be3cc42b8a7"
url := fmt.Sprintf("https://api.verifik.co/v2/app-registrations/%s?populates[]=project&populates[]=projectFlow", appRegistrationId)
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+os.Getenv("VERIFIK_TOKEN"))
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
var out map[string]interface{}
json.NewDecoder(resp.Body).Decode(&out)
fmt.Println(out)
}
Responseβ
- 200
- 401/403
- 404
{
"data": {
"_id": "674de8df21c72be3cc42b8a7",
"client": "507f1f77bcf86cd799439013",
"project": {
"_id": "507f1f77bcf86cd799439011",
"name": "Example Project"
},
"projectFlow": {
"_id": "507f1f77bcf86cd799439015",
"type": "onboarding",
"target": "personal"
},
"status": "ONGOING",
"email": "user@example.com",
"phone": "1234567890",
"countryCode": "+1",
"currentStep": "1",
"language": "en",
"emailValidation": {
"_id": "674de8df21c72be3cc42b8a8",
"email": "user@example.com",
"status": "validated"
},
"phoneValidation": {
"_id": "674de8df21c72be3cc42b8a9",
"phone": "1234567890",
"status": "validated"
},
"biometricValidation": null,
"documentValidation": null,
"informationValidation": {
"_id": "674de8df21c72be3cc42b8a10",
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe"
},
"createdAt": "2024-12-02T17:05:36.788Z",
"updatedAt": "2024-12-02T17:05:36.788Z"
}
}
{
"message": "Access forbidden",
"code": "Forbidden"
}
{
"message": "AppRegistration_not_found",
"code": "NotFound"
}
Notesβ
- Populates: Use
populates[]query parameter to include related objects in the response. This reduces the need for additional API calls. - Token Access: When using an app registration token, you can access your own registration by using the
/meendpoint or by omitting the ID. - Status Values: Status can be
STARTED,ONGOING,COMPLETED,COMPLETED_WITHOUT_KYC,FAILED,NEEDS_MANUAL_VERIFICATION, orEXPIRED. - Related Objects: Populated objects include full details instead of just ObjectId references.