> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mygigsters.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

### Headers

**X-API-Version** `string` *required* (default: 1.2)

The API version to use. Supported versions are `1.1` and `1.2`.

### Request Body Parameters

**birth\_date** `string` *required*

Date of birth of the person. Format: YYYY-MM-DD.

**given\_name** `string` *required*

The first name(s) of the person (can include middle names).

**family\_name** `string` *required*

The last name of the person.

**passport\_number** `string` *required*

The passport number of the person.

**passport\_country** `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"). |
| `data`object | 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. |

```bash cURL theme={null}
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"
}'
```

```javascript Node.js theme={null}
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);
```

```python Python theme={null}
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())
```

```ruby Ruby theme={null}
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 PHP theme={null}
<?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));
```

```java Java theme={null}
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());
    }
}
```

```go Go theme={null}
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))
}
```

```csharp .NET theme={null}
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());
```

```json Response theme={null}
{
  "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>"
        }
      ]
    }
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.