curl --request GET \
--url https://api.pawapass.com/v2/verifications/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pawapass.com/v2/verifications/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pawapass.com/v2/verifications/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pawapass.com/v2/verifications/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pawapass.com/v2/verifications/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pawapass.com/v2/verifications/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pawapass.com/v2/verifications/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "aB1cD2eF",
"externalId": "user-zm-98765",
"country": "ZM",
"phoneNo": "+260971234567",
"workflowId": "wf3kD9aB",
"requirements": [
{
"type": "DOCUMENT_SCAN"
},
{
"type": "FACE_SCAN"
}
],
"url": "https://app.pawapass.com/your-company/aB1cD2eF",
"status": "CREATED",
"metadata": {
"reason": "kyc-onboarding",
"channel": "mobile-app",
"department": "compliance"
},
"successUrl": "https://your-website.com/success",
"errorUrl": "https://your-website.com/error",
"supportUrl": "https://your-website.com/support",
"identityDocument": {
"type": "NATIONAL_ID",
"country": "ZM",
"serialNo": "9876543/21/1",
"nationalNo": "Z12345678",
"firstName": "Tisa",
"lastName": "Banda",
"dateOfBirth": "1997-05-10",
"placeOfBirth": "Lusaka",
"nationality": "ZM",
"expiryAt": "2032-05-09",
"issuedAt": "2022-05-10",
"issuingAuthority": "Republic of Zambia",
"placeOfIssue": "Lusaka",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"faceScan": {
"ageEstimation": "OVER_18",
"createdAt": "2025-08-20T09:00:00.000Z",
"updatedAt": "2025-08-20T09:00:00.000Z"
},
"reviewResult": {
"category": "CAPTURE_ISSUE",
"reason": "ONE_SIDE_MISSING",
"sensitive": true
},
"createdBy": "[email protected]",
"expiresAt": "2025-08-27T09:00:00.000Z",
"createdAt": "2025-08-20T09:00:00.000Z",
"updatedAt": "2025-08-20T09:00:00.000Z"
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Input data is invalid. Please check the details.",
"details": [
{
"field": "<string>",
"reasonCode": "REQUIRED",
"params": {}
}
]
}{
"statusCode": 401,
"code": "UNAUTHORIZED_ERROR",
"message": "Unauthorized"
}{
"statusCode": 404,
"code": "NOT_FOUND_ERROR",
"message": "Not found"
}Get verification
curl --request GET \
--url https://api.pawapass.com/v2/verifications/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.pawapass.com/v2/verifications/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.pawapass.com/v2/verifications/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pawapass.com/v2/verifications/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pawapass.com/v2/verifications/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.pawapass.com/v2/verifications/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pawapass.com/v2/verifications/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "aB1cD2eF",
"externalId": "user-zm-98765",
"country": "ZM",
"phoneNo": "+260971234567",
"workflowId": "wf3kD9aB",
"requirements": [
{
"type": "DOCUMENT_SCAN"
},
{
"type": "FACE_SCAN"
}
],
"url": "https://app.pawapass.com/your-company/aB1cD2eF",
"status": "CREATED",
"metadata": {
"reason": "kyc-onboarding",
"channel": "mobile-app",
"department": "compliance"
},
"successUrl": "https://your-website.com/success",
"errorUrl": "https://your-website.com/error",
"supportUrl": "https://your-website.com/support",
"identityDocument": {
"type": "NATIONAL_ID",
"country": "ZM",
"serialNo": "9876543/21/1",
"nationalNo": "Z12345678",
"firstName": "Tisa",
"lastName": "Banda",
"dateOfBirth": "1997-05-10",
"placeOfBirth": "Lusaka",
"nationality": "ZM",
"expiryAt": "2032-05-09",
"issuedAt": "2022-05-10",
"issuingAuthority": "Republic of Zambia",
"placeOfIssue": "Lusaka",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"faceScan": {
"ageEstimation": "OVER_18",
"createdAt": "2025-08-20T09:00:00.000Z",
"updatedAt": "2025-08-20T09:00:00.000Z"
},
"reviewResult": {
"category": "CAPTURE_ISSUE",
"reason": "ONE_SIDE_MISSING",
"sensitive": true
},
"createdBy": "[email protected]",
"expiresAt": "2025-08-27T09:00:00.000Z",
"createdAt": "2025-08-20T09:00:00.000Z",
"updatedAt": "2025-08-20T09:00:00.000Z"
}{
"statusCode": 400,
"code": "VALIDATION_ERROR",
"message": "Input data is invalid. Please check the details.",
"details": [
{
"field": "<string>",
"reasonCode": "REQUIRED",
"params": {}
}
]
}{
"statusCode": 401,
"code": "UNAUTHORIZED_ERROR",
"message": "Unauthorized"
}{
"statusCode": 404,
"code": "NOT_FOUND_ERROR",
"message": "Not found"
}Authorizations
Bearer token for authentication. See Authentication.
Path Parameters
The verification ID
Response
Default Response
Verification ID
"aB1cD2eF"
Your external identifier for this verification
"user-zm-98765"
ISO country code associated with this verification
AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, CV, KH, CM, CA, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MK, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW "ZM"
Phone number associated with this verification
"+260971234567"
shortId of the workflow that runs this verification. Null for legacy verifications created before workflows were persisted.
"wf3kD9aB"
Verification steps the user must complete. See Requirements for workflow examples.
Show child attributes
Show child attributes
[
{ "type": "DOCUMENT_SCAN" },
{ "type": "FACE_SCAN" }
]
URL where the user should complete the verification
"https://app.pawapass.com/your-company/aB1cD2eF"
Current status. See Verification flow for lifecycle.
CREATED, STARTED, EXPIRED, USER_DATA_COLLECTED, REVIEW, APPROVED, DECLINED "CREATED"
Custom metadata provided during verification creation
{
"reason": "kyc-onboarding",
"channel": "mobile-app",
"department": "compliance"
}
URL to redirect user after successful verification
"https://your-website.com/success"
URL to redirect user if verification fails
"https://your-website.com/error"
URL where user can get support
"https://your-website.com/support"
Extracted identity document data. Null if not yet available
Show child attributes
Show child attributes
Face scan results. Null if not yet available
Show child attributes
Show child attributes
Review outcome details. Null when verification has not been reviewed or no review reason is available.
Show child attributes
Show child attributes
Identifier of the person/system that created the verification
Expiration date of the verification session
"2025-08-27T09:00:00.000Z"
Creation date of the verification
"2025-08-20T09:00:00.000Z"
Date of the last update
"2025-08-20T09:00:00.000Z"
