curl --request POST \
--url https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/', 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://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/",
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://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/"
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://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/")
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_bodySimulate KYC Approval
Sandbox only. Simulates the identity reviewer’s decision and marks the verification of a KYC Submission as approved, so you can test the KYC with liveness check without a real review.
The end user does not need to complete the liveness check at provider_url first.
The endpoint answers 200 OK with no body. The KYC Submission moves to COMPLETED a few moments later, when the KYC service reports the decision back: you receive the KYC.COMPLETED webhook as in production (see BaaS Webhooks), or you can poll Retrieve KYC Submission.
Use it to let the end user operate and keep testing the rest of your integration.
See KYC in sandbox for the full flow.
curl --request POST \
--url https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/', 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://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/",
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://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/"
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://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-b2b.ripio.com/api/v1/simulate-kyc-validation/{submission_id}/approve/")
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_bodyAuthorizations
B2B’s White Label API uses OAuth2. Currently there is only one supported authentication flow:
- clientCredentials allows you to access your own B2B account (First-Party Integration) and performs transactions against the public API. This oauth2 flow is well suited for this API, as it allows machine-to-machine communication.
Every call to the API has to be authenticated with an OAuth2 Token. In order to request this token, you will need to have sandbox or production API Keys (client id and client secret) that will be needed to generate a credential in order to negotiate an ephemeral access token.
Every request must be accompianed by an Authorization header with a value that follows the following schema: Bearer ACCESS_TOKEN
Path Parameters
submission_id returned by Create KYC Submission.
Response
OK. The decision was sent to the KYC service; the KYC Submission status changes a few moments later.
Was this page helpful?