curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--data '
{
"entity_type": "COMPANY",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload = {
"entity_type": "COMPANY",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
headers = {
"x-auth-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-auth-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({entity_type: 'COMPANY', inherit: 1, nickname: 'Contract Test 29b6fe0a'})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts', 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-sandbox.uqpaytech.com/api/v1/accounts/create_accounts",
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([
'entity_type' => 'COMPANY',
'inherit' => 1,
'nickname' => 'Contract Test 29b6fe0a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <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://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload := strings.NewReader("{\n \"entity_type\": \"COMPANY\",\n \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-auth-token", "<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://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_type\": \"COMPANY\",\n \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entity_type\": \"COMPANY\",\n \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}"
response = http.request(request)
puts response.read_body{
"account_id": "6b8ed487-f8ae-4ce7-b1ba-5f268ecab126",
"short_reference_id": "CB9757965824",
"status": "ACTIVE",
"verification_status": "APPROVED"
}Create SubAccount
Create a sub-account under your UQPAY account. You do not select a business line in this request.
Each sub-account must be classified as either a COMPANY or an INDIVIDUAL entity.
Once the sub-account is created, it must pass review and be activated before it can be used.
curl --request POST \
--url https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts \
--header 'Content-Type: application/json' \
--header 'x-auth-token: <api-key>' \
--data '
{
"entity_type": "COMPANY",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
'import requests
url = "https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload = {
"entity_type": "COMPANY",
"inherit": 1,
"nickname": "Contract Test 29b6fe0a"
}
headers = {
"x-auth-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-auth-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({entity_type: 'COMPANY', inherit: 1, nickname: 'Contract Test 29b6fe0a'})
};
fetch('https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts', 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-sandbox.uqpaytech.com/api/v1/accounts/create_accounts",
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([
'entity_type' => 'COMPANY',
'inherit' => 1,
'nickname' => 'Contract Test 29b6fe0a'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-auth-token: <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://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts"
payload := strings.NewReader("{\n \"entity_type\": \"COMPANY\",\n \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-auth-token", "<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://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts")
.header("x-auth-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"entity_type\": \"COMPANY\",\n \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-sandbox.uqpaytech.com/api/v1/accounts/create_accounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-auth-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entity_type\": \"COMPANY\",\n \"inherit\": 1,\n \"nickname\": \"Contract Test 29b6fe0a\"\n}"
response = http.request(request)
puts response.read_body{
"account_id": "6b8ed487-f8ae-4ce7-b1ba-5f268ecab126",
"short_reference_id": "CB9757965824",
"status": "ACTIVE",
"verification_status": "APPROVED"
}Authorizations
The API token for login provided by UQPAY.
Headers
Recommended for safely retrying account creation. Use a unique lowercase UUID for each new sub-account and reuse the same key and request body when retrying that creation request.
With a key, completed responses are cached for 24 hours and replayed for retries with the same key. If the original request is still processing, wait before retrying.
Without a key, identical requests for the same account and endpoint are deduplicated only within a 5-second window, based on the raw request body. This short window does not protect retries made after it expires.
Body
Select one of the following entity type.
- Individual Account
- Company Account
Information about the individual applying for the account.
The type of entity for the account.
INDIVIDUAL "COMPANY"
Nickname for the account.
100"MyTechCorp"
Personal information for individual account registration.
- Required when
entity_typeisINDIVIDUAL.
Show child attributes
Show child attributes
Identity verification information for individuals.
- Required when
entity_typeisINDIVIDUAL.
Show child attributes
Show child attributes
- Required when
entity_typeisINDIVIDUAL.
Show child attributes
Show child attributes
- Required when
entity_typeisINDIVIDUAL.
Show child attributes
Show child attributes
Details on the account's acceptance of the UQPAY Services Agreement This property can only be updated for Custom accounts.
Show child attributes
Show child attributes
Response
Account creation successfully.
A unique identifier of the account.
"f5bb6498-552e-40a5-b14b-616aa04ac1c1"
The short reference ID of the account.
"P220406-LLCVLRM"
Status of the account. One of the following:
- ACTIVE - The account has been activated.
- PROCESSING - The account is currently undergoing review and processing.
- INACTIVE - The account temporarily inactive
- CLOSED - The account has been closed.
"PROCESSING"
Status of the KYC/KYB. One of the following:
- REJECT - The account has been rejected during identity verification.
- APPROVED - The account has been verified and is active.
- PENDING - The account is currently undergoing identity verification.
- EXPIRED - The verification has expired.
- RETURN - The account has been returned for identity verification and needs to be re-uploaded.
Webhook note: In the accountStatus webhook notification, these two
states are delivered as REJECTED and RETURNED respectively (rather than
REJECT / RETURN). All other values are identical. See
Account Status webhook.
APPROVED, PENDING, REJECT, EXPIRED, RETURN "APPROVED"

