curl -X POST https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work \
-u "YOUR_UUID:YOUR_SECRET" \
-H "X-API-Version: 1.2" \
-H "Content-Type: application/json" \
-d '{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}'
const response = await fetch("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work", {
method: "POST",
headers: {
Authorization: "Basic " + Buffer.from("YOUR_UUID:YOUR_SECRET").toString("base64"),
"X-API-Version": "1.2",
"Content-Type": "application/json",
},
body: JSON.stringify({
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work",
auth=("YOUR_UUID", "YOUR_SECRET"),
headers={
"X-API-Version": "1.2",
},
json={
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP",
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work")
request = Net::HTTP::Post.new(uri)
request.basic_auth("YOUR_UUID", "YOUR_SECRET")
request["X-API-Version"] = "1.2"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)
<?php
$ch = curl_init("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_USERPWD => "YOUR_UUID:YOUR_SECRET",
CURLOPT_HTTPHEADER => [
"X-API-Version: 1.2",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}
JSON,
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Base64;
public class Example {
public static void main(String[] args) throws Exception {
String credentials = Base64.getEncoder()
.encodeToString("YOUR_UUID:YOUR_SECRET".getBytes());
String body = String.join("\n",
"{",
" \"birth_date\": \"1995-04-01\",",
" \"given_name\": \"Jason Creed\",",
" \"family_name\": \"Samson\",",
" \"passport_number\": \"PA2222222\",",
" \"passport_country\": \"SGP\"",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work"))
.header("Authorization", "Basic " + credentials)
.header("X-API-Version", "1.2")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
body := strings.NewReader(`{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}`)
req, err := http.NewRequest("POST", "https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work", body)
if err != nil {
panic(err)
}
req.SetBasicAuth("YOUR_UUID", "YOUR_SECRET")
req.Header.Set("X-API-Version", "1.2")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(string(data))
}
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("YOUR_UUID:YOUR_SECRET")));
request.Headers.Add("X-API-Version", "1.2");
request.Content = new StringContent(@"{
""birth_date"": ""1995-04-01"",
""given_name"": ""Jason Creed"",
""family_name"": ""Samson"",
""passport_number"": ""PA2222222"",
""passport_country"": ""SGP""
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"message": "Verification Result",
"data": {
"request": {
"given_names": "JASON CREED",
"family_name": "SAMSON"
},
"visa": {
"class": "TU",
"subclass": "500",
"grant_date": "2022-01-01",
"expiry_date": ""
},
"entitlement": {
"status": "LIMITED",
"summary": "The above named can work in Australia under the following conditions until the visa cease date. If you wish to employ the above named their work rights must be checked after the visa cease date.",
"conditions": [
{
"code": "8104",
"html": "<p>This person <b>must not</b> work more than 40 hours a fortnight.</p>"
},
{
"code": "8105",
"html": "<p>This person <b>must not</b> work before course of study commences.</p>"
}
]
}
}
}
Document verification
Right to work
This endpoint verifies a person’s right to work in Australia using their passport details. It returns visa information, work entitlement status, and any conditions that apply to their employment.
POST
/
verify
/
right-to-work
curl -X POST https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work \
-u "YOUR_UUID:YOUR_SECRET" \
-H "X-API-Version: 1.2" \
-H "Content-Type: application/json" \
-d '{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}'
const response = await fetch("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work", {
method: "POST",
headers: {
Authorization: "Basic " + Buffer.from("YOUR_UUID:YOUR_SECRET").toString("base64"),
"X-API-Version": "1.2",
"Content-Type": "application/json",
},
body: JSON.stringify({
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work",
auth=("YOUR_UUID", "YOUR_SECRET"),
headers={
"X-API-Version": "1.2",
},
json={
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP",
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work")
request = Net::HTTP::Post.new(uri)
request.basic_auth("YOUR_UUID", "YOUR_SECRET")
request["X-API-Version"] = "1.2"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)
<?php
$ch = curl_init("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_USERPWD => "YOUR_UUID:YOUR_SECRET",
CURLOPT_HTTPHEADER => [
"X-API-Version: 1.2",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}
JSON,
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Base64;
public class Example {
public static void main(String[] args) throws Exception {
String credentials = Base64.getEncoder()
.encodeToString("YOUR_UUID:YOUR_SECRET".getBytes());
String body = String.join("\n",
"{",
" \"birth_date\": \"1995-04-01\",",
" \"given_name\": \"Jason Creed\",",
" \"family_name\": \"Samson\",",
" \"passport_number\": \"PA2222222\",",
" \"passport_country\": \"SGP\"",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work"))
.header("Authorization", "Basic " + credentials)
.header("X-API-Version", "1.2")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
body := strings.NewReader(`{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}`)
req, err := http.NewRequest("POST", "https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work", body)
if err != nil {
panic(err)
}
req.SetBasicAuth("YOUR_UUID", "YOUR_SECRET")
req.Header.Set("X-API-Version", "1.2")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(string(data))
}
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("YOUR_UUID:YOUR_SECRET")));
request.Headers.Add("X-API-Version", "1.2");
request.Content = new StringContent(@"{
""birth_date"": ""1995-04-01"",
""given_name"": ""Jason Creed"",
""family_name"": ""Samson"",
""passport_number"": ""PA2222222"",
""passport_country"": ""SGP""
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"message": "Verification Result",
"data": {
"request": {
"given_names": "JASON CREED",
"family_name": "SAMSON"
},
"visa": {
"class": "TU",
"subclass": "500",
"grant_date": "2022-01-01",
"expiry_date": ""
},
"entitlement": {
"status": "LIMITED",
"summary": "The above named can work in Australia under the following conditions until the visa cease date. If you wish to employ the above named their work rights must be checked after the visa cease date.",
"conditions": [
{
"code": "8104",
"html": "<p>This person <b>must not</b> work more than 40 hours a fortnight.</p>"
},
{
"code": "8105",
"html": "<p>This person <b>must not</b> work before course of study commences.</p>"
}
]
}
}
}
Headers
string
default:"1.2"
required
The API version to use. Supported versions are
1.1 and 1.2.Request Body Parameters
string
required
Date of birth of the person. Format: YYYY-MM-DD.
string
required
The first name(s) of the person (can include middle names).
string
required
The last name of the person.
string
required
The passport number of the person.
string
required
The 3-letter ISO country code of the passport issuing country (e.g. “SGP”, “GBR”, “USA”).
Response Body
| Field | Type | Description |
|---|---|---|
message | string | A message describing the response status (e.g. “Verification Result”). |
dataobject | object | The right to work verification result data. |
↳request | object | Contains the given_names and family_name as submitted in the request. |
↳visa | object | Visa details including class (e.g. “TU”), subclass (e.g. “500”), grant_date, and expiry_date. |
↳entitlement | object | Work entitlement details. |
↳status | string | The work entitlement status (e.g. “UNLIMITED”, “LIMITED”, “NONE”). |
↳summary | string | A human-readable summary of the person’s work rights in Australia. |
↳conditions | array | A list of conditions attached to the work entitlement. Each condition includes a code and an html description of the restriction. |
Response Codes
| Code | Description |
|---|---|
| 200 | The right to work check was successful and work entitlement details are returned. |
| 400 | Bad Request. Missing or invalid parameters. |
| 401 | Unauthorized. Missing or invalid credentials. |
| 500 | Internal Server Error. |
curl -X POST https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work \
-u "YOUR_UUID:YOUR_SECRET" \
-H "X-API-Version: 1.2" \
-H "Content-Type: application/json" \
-d '{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}'
const response = await fetch("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work", {
method: "POST",
headers: {
Authorization: "Basic " + Buffer.from("YOUR_UUID:YOUR_SECRET").toString("base64"),
"X-API-Version": "1.2",
"Content-Type": "application/json",
},
body: JSON.stringify({
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work",
auth=("YOUR_UUID", "YOUR_SECRET"),
headers={
"X-API-Version": "1.2",
},
json={
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP",
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work")
request = Net::HTTP::Post.new(uri)
request.basic_auth("YOUR_UUID", "YOUR_SECRET")
request["X-API-Version"] = "1.2"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)
<?php
$ch = curl_init("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_USERPWD => "YOUR_UUID:YOUR_SECRET",
CURLOPT_HTTPHEADER => [
"X-API-Version: 1.2",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}
JSON,
]);
$response = curl_exec($ch);
curl_close($ch);
print_r(json_decode($response, true));
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Base64;
public class Example {
public static void main(String[] args) throws Exception {
String credentials = Base64.getEncoder()
.encodeToString("YOUR_UUID:YOUR_SECRET".getBytes());
String body = String.join("\n",
"{",
" \"birth_date\": \"1995-04-01\",",
" \"given_name\": \"Jason Creed\",",
" \"family_name\": \"Samson\",",
" \"passport_number\": \"PA2222222\",",
" \"passport_country\": \"SGP\"",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work"))
.header("Authorization", "Basic " + credentials)
.header("X-API-Version", "1.2")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
body := strings.NewReader(`{
"birth_date": "1995-04-01",
"given_name": "Jason Creed",
"family_name": "Samson",
"passport_number": "PA2222222",
"passport_country": "SGP"
}`)
req, err := http.NewRequest("POST", "https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work", body)
if err != nil {
panic(err)
}
req.SetBasicAuth("YOUR_UUID", "YOUR_SECRET")
req.Header.Set("X-API-Version", "1.2")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
data, _ := io.ReadAll(res.Body)
fmt.Println(string(data))
}
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://qa-payments.mygigsters.com.au/api/v1/verify/right-to-work");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("YOUR_UUID:YOUR_SECRET")));
request.Headers.Add("X-API-Version", "1.2");
request.Content = new StringContent(@"{
""birth_date"": ""1995-04-01"",
""given_name"": ""Jason Creed"",
""family_name"": ""Samson"",
""passport_number"": ""PA2222222"",
""passport_country"": ""SGP""
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"message": "Verification Result",
"data": {
"request": {
"given_names": "JASON CREED",
"family_name": "SAMSON"
},
"visa": {
"class": "TU",
"subclass": "500",
"grant_date": "2022-01-01",
"expiry_date": ""
},
"entitlement": {
"status": "LIMITED",
"summary": "The above named can work in Australia under the following conditions until the visa cease date. If you wish to employ the above named their work rights must be checked after the visa cease date.",
"conditions": [
{
"code": "8104",
"html": "<p>This person <b>must not</b> work more than 40 hours a fortnight.</p>"
},
{
"code": "8105",
"html": "<p>This person <b>must not</b> work before course of study commences.</p>"
}
]
}
}
}
Last modified on November 10, 2026
Was this page helpful?
