Verify OTP
curl --request POST \
--url https://external.dev.onboardpay.co/auth/user-auth/verify-otp \
--header 'Content-Type: application/json' \
--header 'x-signature: <api-key>' \
--data '
{
"authSessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"otp": "<string>"
}
'import requests
url = "https://external.dev.onboardpay.co/auth/user-auth/verify-otp"
payload = {
"authSessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"otp": "<string>"
}
headers = {
"x-signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-signature': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({authSessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a', otp: '<string>'})
};
fetch('https://external.dev.onboardpay.co/auth/user-auth/verify-otp', 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://external.dev.onboardpay.co/auth/user-auth/verify-otp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'authSessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'otp' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-signature: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://external.dev.onboardpay.co/auth/user-auth/verify-otp"
payload := strings.NewReader("{\n \"authSessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"otp\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-signature", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://external.dev.onboardpay.co/auth/user-auth/verify-otp")
.header("x-signature", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"authSessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"otp\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://external.dev.onboardpay.co/auth/user-auth/verify-otp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-signature"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authSessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"otp\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"userId": "<string>",
"accessToken": {
"token": "<string>",
"expiry": "2023-11-07T05:31:56Z"
},
"refreshToken": {
"token": "<string>",
"expiry": "2023-11-07T05:31:56Z"
}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}User Creation via API
Verify User Authentication OTP
POST
/
auth
/
user-auth
/
verify-otp
Verify OTP
curl --request POST \
--url https://external.dev.onboardpay.co/auth/user-auth/verify-otp \
--header 'Content-Type: application/json' \
--header 'x-signature: <api-key>' \
--data '
{
"authSessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"otp": "<string>"
}
'import requests
url = "https://external.dev.onboardpay.co/auth/user-auth/verify-otp"
payload = {
"authSessionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"otp": "<string>"
}
headers = {
"x-signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-signature': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({authSessionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a', otp: '<string>'})
};
fetch('https://external.dev.onboardpay.co/auth/user-auth/verify-otp', 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://external.dev.onboardpay.co/auth/user-auth/verify-otp",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'authSessionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'otp' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-signature: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://external.dev.onboardpay.co/auth/user-auth/verify-otp"
payload := strings.NewReader("{\n \"authSessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"otp\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-signature", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://external.dev.onboardpay.co/auth/user-auth/verify-otp")
.header("x-signature", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"authSessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"otp\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://external.dev.onboardpay.co/auth/user-auth/verify-otp")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-signature"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authSessionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"otp\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"userId": "<string>",
"accessToken": {
"token": "<string>",
"expiry": "2023-11-07T05:31:56Z"
},
"refreshToken": {
"token": "<string>",
"expiry": "2023-11-07T05:31:56Z"
}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}{
"code": "UNKNOWN_ERROR",
"message": "Request could not be completed due to an error",
"data": {}
}Verifies the OTP provided by a user for authentication during sign-in or sign-up.
This endpoint is specifically for user authentication (logging in or signing up).Do not confuse it with the 2FA OTP endpoint, which generates OTPs for verifying sensitive account actions (e.g., updating payment methods).
Authorizations
Body
application/json
⌘I