Cancel a verification
curl --request POST \
--url https://api.verify.privue.ai/verifications/{verification_id}/cancel \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/verifications/{verification_id}/cancel"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/verifications/{verification_id}/cancel', 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.verify.privue.ai/verifications/{verification_id}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.verify.privue.ai/verifications/{verification_id}/cancel"
req, _ := http.NewRequest("POST", 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.post("https://api.verify.privue.ai/verifications/{verification_id}/cancel")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.verify.privue.ai/verifications/{verification_id}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"verification_id": "3f2504e0-4f89-41d3-9a0c-0305e82c3301",
"reference_id": "ord_991",
"status": "cancelled",
"progress": {
"total": 6,
"pending": 4,
"in_progress": 0,
"completed": 2,
"failed": 0,
"skipped": 0
},
"steps": [
{
"key": "consent",
"title": "Consent",
"required": true,
"status": "completed",
"completed_at": "2026-08-06T14:31:05"
},
{
"key": "identity",
"title": "Identity",
"required": true,
"status": "completed",
"completed_at": "2026-08-06T14:33:40"
},
{
"key": "business",
"title": "Business details",
"required": true,
"status": "pending"
},
{
"key": "bank",
"title": "Bank account",
"required": true,
"status": "pending"
},
{
"key": "documents",
"title": "Documents",
"required": false,
"status": "pending"
},
{
"key": "review",
"title": "Review and submit",
"required": true,
"status": "pending"
}
],
"created_at": "2026-08-06T14:30:00",
"opened_at": "2026-08-06T14:30:42",
"cancelled_at": "2026-08-06T15:02:10"
}{
"detail": "API key is missing, malformed, or rejected."
}{
"detail": "No active verification client for this API key."
}{
"detail": "No verification with id 3f2504e0-4f89-41d3-9a0c-0305e82c3301."
}{
"detail": "Verification is completed and cannot be cancelled."
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Verifications
Cancel a verification
Terminate a verification early. Idempotent.
POST
/
verifications
/
{verification_id}
/
cancel
Cancel a verification
curl --request POST \
--url https://api.verify.privue.ai/verifications/{verification_id}/cancel \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/verifications/{verification_id}/cancel"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/verifications/{verification_id}/cancel', 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.verify.privue.ai/verifications/{verification_id}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.verify.privue.ai/verifications/{verification_id}/cancel"
req, _ := http.NewRequest("POST", 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.post("https://api.verify.privue.ai/verifications/{verification_id}/cancel")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.verify.privue.ai/verifications/{verification_id}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"verification_id": "3f2504e0-4f89-41d3-9a0c-0305e82c3301",
"reference_id": "ord_991",
"status": "cancelled",
"progress": {
"total": 6,
"pending": 4,
"in_progress": 0,
"completed": 2,
"failed": 0,
"skipped": 0
},
"steps": [
{
"key": "consent",
"title": "Consent",
"required": true,
"status": "completed",
"completed_at": "2026-08-06T14:31:05"
},
{
"key": "identity",
"title": "Identity",
"required": true,
"status": "completed",
"completed_at": "2026-08-06T14:33:40"
},
{
"key": "business",
"title": "Business details",
"required": true,
"status": "pending"
},
{
"key": "bank",
"title": "Bank account",
"required": true,
"status": "pending"
},
{
"key": "documents",
"title": "Documents",
"required": false,
"status": "pending"
},
{
"key": "review",
"title": "Review and submit",
"required": true,
"status": "pending"
}
],
"created_at": "2026-08-06T14:30:00",
"opened_at": "2026-08-06T14:30:42",
"cancelled_at": "2026-08-06T15:02:10"
}{
"detail": "API key is missing, malformed, or rejected."
}{
"detail": "No active verification client for this API key."
}{
"detail": "No verification with id 3f2504e0-4f89-41d3-9a0c-0305e82c3301."
}{
"detail": "Verification is completed and cannot be cancelled."
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
The verification's status after cancellation.
Status and per-step progress for one verification. Safe to poll.
Our id for this verification
Your correlation id, echoed back; null if you sent none
Current lifecycle status
Available options:
created, in-progress, completed, cancelled, expired Step counts by status; they sum to total
Show child attributes
Show child attributes
Every journey step with its current status
Show child attributes
Show child attributes
When the verification was created (IST)
When the user first opened the flow (IST), or null
When the user submitted (IST), or null
When the verification was cancelled (IST), or null
⌘I
