List countries
curl --request GET \
--url https://demo.onlinebillingform.com/api/v2/country/lists \
--header 'Authorization: Bearer <token>'import requests
url = "https://demo.onlinebillingform.com/api/v2/country/lists"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://demo.onlinebillingform.com/api/v2/country/lists', 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://demo.onlinebillingform.com/api/v2/country/lists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://demo.onlinebillingform.com/api/v2/country/lists"
req, _ := http.NewRequest("GET", 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.get("https://demo.onlinebillingform.com/api/v2/country/lists")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo.onlinebillingform.com/api/v2/country/lists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"countries": {
"current_page": 1,
"data": [
{
"id": 1,
"name": "Afghanistan",
"iso2": "AF",
"iso3": "AFG",
"postcode_required": 0
}
],
"last_page": 17,
"per_page": 15,
"total": 253
}
}{
"success": false,
"errors": "Invalid API Key"
}{
"success": false,
"errors": "Insufficient permissions for this endpoint."
}{
"success": false,
"errors": {
"id": [
"The id field is required."
]
}
}Country
List countries
Use this BillingServ API endpoint to list countries. Cache the returned canonical names and IDs for country selection, or use search for autocomplete. Pass the selected country ID to the customer endpoint and county lookup. Review the response for the operation result or validation errors.
GET
/
country
/
lists
List countries
curl --request GET \
--url https://demo.onlinebillingform.com/api/v2/country/lists \
--header 'Authorization: Bearer <token>'import requests
url = "https://demo.onlinebillingform.com/api/v2/country/lists"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://demo.onlinebillingform.com/api/v2/country/lists', 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://demo.onlinebillingform.com/api/v2/country/lists",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://demo.onlinebillingform.com/api/v2/country/lists"
req, _ := http.NewRequest("GET", 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.get("https://demo.onlinebillingform.com/api/v2/country/lists")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://demo.onlinebillingform.com/api/v2/country/lists")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"countries": {
"current_page": 1,
"data": [
{
"id": 1,
"name": "Afghanistan",
"iso2": "AF",
"iso3": "AFG",
"postcode_required": 0
}
],
"last_page": 17,
"per_page": 15,
"total": 253
}
}{
"success": false,
"errors": "Invalid API Key"
}{
"success": false,
"errors": "Insufficient permissions for this endpoint."
}{
"success": false,
"errors": {
"id": [
"The id field is required."
]
}
}Authorizations
Use Authorization: Bearer <live_api_key>.
Query Parameters
Page number for pagination.
Required range:
x >= 1Number of countries to return per page. Defaults to 15 and supports up to 100.
Required range:
1 <= x <= 100Optional search by country name, ISO-2 code, or ISO-3 code.
Maximum string length:
100Response
OK
⌘I