Get Verification Documents
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents', 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.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"message": "Verification documents retrieved successfully",
"success": true,
"data": {
"subject": {
"type": "account",
"id": "b6075be0-f1d0-451f-a468-3e94563101d2"
},
"status": {
"reviewStatus": "completed",
"reviewAnswer": "GREEN",
"verified": true
},
"identity": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1990-01-15",
"country": "NGA",
"idDocType": "PASSPORT",
"documentNumber": null,
"issuedDate": null,
"validUntil": null
},
"documents": [
{
"imageId": "909788538",
"idDocType": "PASSPORT",
"country": "NGA",
"side": "front"
}
],
"inspectionId": "6a7ba5bcce15d46609bd3f4b"
}
}{
"status": 400,
"message": "This endpoint is only for individual accounts. Use /related-persons/:personId/verification/documents for business owners and directors."
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 404,
"message": "No verification found. The identity check has not been started or completed yet."
}Verification & KYC
Get Verification Documents
Returns the identity document an individual account holder submitted during Rolla’s hosted liveness check, plus the details read off that document. For a business account’s beneficial owners, use the related-person endpoint.
GET
/
accounts
/
{accountId}
/
verification
/
documents
Get Verification Documents
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents', 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.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/accounts/{accountId}/verification/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"message": "Verification documents retrieved successfully",
"success": true,
"data": {
"subject": {
"type": "account",
"id": "b6075be0-f1d0-451f-a468-3e94563101d2"
},
"status": {
"reviewStatus": "completed",
"reviewAnswer": "GREEN",
"verified": true
},
"identity": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1990-01-15",
"country": "NGA",
"idDocType": "PASSPORT",
"documentNumber": null,
"issuedDate": null,
"validUntil": null
},
"documents": [
{
"imageId": "909788538",
"idDocType": "PASSPORT",
"country": "NGA",
"side": "front"
}
],
"inspectionId": "6a7ba5bcce15d46609bd3f4b"
}
}{
"status": 400,
"message": "This endpoint is only for individual accounts. Use /related-persons/:personId/verification/documents for business owners and directors."
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 404,
"message": "No verification found. The identity check has not been started or completed yet."
}Returns the identity document your customer submitted during Rolla’s hosted liveness check, along with the details read off that document by the identity provider.
Use it to review what was submitted without running a second identity check of your own. For a business account’s beneficial owners and directors, use Get Owner Verification Documents instead.
Verification not started (
Wrong account type (
Example Request
curl -X GET "https://api.rolla.xyz/api/v1/external/accounts/b6075be0-f1d0-451f-a468-3e94563101d2/verification/documents" \
-H "X-API-Key: your_api_key_here"
Example Response
{
"status": 200,
"message": "Verification documents retrieved successfully",
"success": true,
"data": {
"subject": {
"type": "account",
"id": "b6075be0-f1d0-451f-a468-3e94563101d2"
},
"status": {
"reviewStatus": "completed",
"reviewAnswer": "GREEN",
"verified": true
},
"identity": {
"firstName": "Jane",
"lastName": "Doe",
"dateOfBirth": "1990-01-15",
"country": "NGA",
"idDocType": "PASSPORT",
"documentNumber": null,
"issuedDate": null,
"validUntil": null
},
"documents": [
{
"imageId": "909788538",
"idDocType": "PASSPORT",
"country": "NGA",
"side": "front"
}
],
"inspectionId": "6a7ba5bcce15d46609bd3f4b"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
subject.type | string | account here; related_person on the owner endpoint |
status.verified | boolean | true once the review completed with a positive result |
status.reviewStatus | string | Review state, e.g. init, pending, completed |
status.reviewAnswer | string | GREEN (passed) or RED (failed); null while in progress |
identity | object | Read off the document by the identity provider — not the values you submitted |
identity.idDocType | string | e.g. PASSPORT, ID_CARD, DRIVERS |
documents[].imageId | string | Pass to Download Verification Document to fetch the file |
documents[].side | string | front or back |
inspectionId | string | The provider’s inspection reference, for support queries |
identity reflects what the provider could extract. documentNumber, issuedDate and validUntil are frequently null even on a passed check — treat every field as optional rather than relying on it being present.Selfies and liveness frames are not returned; only identity documents are.
Error Responses
Verification not started (404)
{
"status": 404,
"message": "No verification found. The identity check has not been started or completed yet."
}
Wrong account type (400)
{
"status": 400,
"message": "This endpoint is only for individual accounts. Use /related-persons/:personId/verification/documents for business owners and directors."
}
Authorizations
Your Rolla API key
Path Parameters
Identifier of an individual account owned by the same user as your API key's business