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

# SuperSelector

> Searches for superannuation funds associated with an employee using the SuperSelector service. This endpoint matches employee details to find potential fund matches.

> [!TIP]
>
> **Why it's useful:** Use it to pre-fill a freelancer's superannuation details. It finds a match at least 60% of the time. When nothing is found, the freelancer fills in their details manually.

### Request Payload

Send only the **employee** object with name (familyName, givenName), dob (day, month, year), and postCode.

### Response

* **matchResult**: `MATCH` when one or more funds were found for the employee, `NO_MATCH` otherwise.
* **funds**: the matched funds (fundName, fundUsi, fundAbn, memberNumber). Empty when matchResult is `NO_MATCH`.
* **transactionId**: SuperSelector transaction ID for tracking.

A `NO_MATCH` result is still a successful (200) response:

```json theme={null}
{
  "matchResult": "NO_MATCH",
  "funds": [],
  "transactionId": "TXNSUPERSELECTOR1792390112358"
}
```

### Use Cases

* Fund discovery for member onboarding
* Contribution setup and fund selection
* Matching employee to existing superannuation funds

### Request Body

**employee** `object` *required*

### Responses

| Code | Description |
| - | - |
| `200` | SuperSelector search completed. matchResult is MATCH with the matched funds, or NO\_MATCH with an empty funds array. |
| `400` | Search failed - Invalid request parameters or data format. |
| `401` | Unauthorized - Invalid API credentials. |
| `500` | Internal server error. |

### Response fields

**matchResult** `string`

MATCH when one or more funds were found, NO\_MATCH otherwise

**funds** `array`

Matched funds. Empty when matchResult is NO\_MATCH

**transactionId** `string`

SuperSelector transaction ID for tracking

> [accordion] Error response fields
>
> **success** `boolean`
>
> **statusCode** `integer`
>
> **message** `string`
>
> **errorCode** `integer`

```bash cURL theme={null}
curl 'https://qa-super.mygigsters.com.au/v1/verification/superselector' -X POST \
    -u "apiUsername:apiPassword"  \
    -H "Content-Type: application/json" --data '{"employee":{"name":{"familyName":"Math","givenName":"Priya"},"dob":{"day":22,"month":"NOVEMBER","year":1981},"postCode":"3134"}}'
```

```javascript Node.js theme={null}
const response = await fetch("https://qa-super.mygigsters.com.au/v1/verification/superselector", {
  method: "POST",
  headers: {
    Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "employee": {
      "name": {
        "familyName": "Math",
        "givenName": "Priya"
      },
      "dob": {
        "day": 22,
        "month": "NOVEMBER",
        "year": 1981
      },
      "postCode": "3134"
    }
  }),
});

const data = await response.json();
console.log(data);
```

```python Python theme={null}
import requests

response = requests.post(
    "https://qa-super.mygigsters.com.au/v1/verification/superselector",
    auth=("apiUsername", "apiPassword"),
    json={
        "employee": {
            "name": {
                "familyName": "Math",
                "givenName": "Priya",
            },
            "dob": {
                "day": 22,
                "month": "NOVEMBER",
                "year": 1981,
            },
            "postCode": "3134",
        },
    },
)

print(response.json())
```

```ruby Ruby theme={null}
require "net/http"
require "json"
require "uri"

uri = URI("https://qa-super.mygigsters.com.au/v1/verification/superselector")
request = Net::HTTP::Post.new(uri)
request.basic_auth("apiUsername", "apiPassword")
request["Content-Type"] = "application/json"
request.body = <<~JSON
  {
    "employee": {
      "name": {
        "familyName": "Math",
        "givenName": "Priya"
      },
      "dob": {
        "day": 22,
        "month": "NOVEMBER",
        "year": 1981
      },
      "postCode": "3134"
    }
  }
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-super.mygigsters.com.au/v1/verification/superselector");

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_USERPWD => "apiUsername:apiPassword",
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => <<<'JSON'
{
  "employee": {
    "name": {
      "familyName": "Math",
      "givenName": "Priya"
    },
    "dob": {
      "day": 22,
      "month": "NOVEMBER",
      "year": 1981
    },
    "postCode": "3134"
  }
}
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("apiUsername:apiPassword".getBytes());

        String body = String.join("\n",
            "{",
            "  \"employee\": {",
            "    \"name\": {",
            "      \"familyName\": \"Math\",",
            "      \"givenName\": \"Priya\"",
            "    },",
            "    \"dob\": {",
            "      \"day\": 22,",
            "      \"month\": \"NOVEMBER\",",
            "      \"year\": 1981",
            "    },",
            "    \"postCode\": \"3134\"",
            "  }",
            "}"
        );

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://qa-super.mygigsters.com.au/v1/verification/superselector"))
            .header("Authorization", "Basic " + credentials)
            .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(`{
  "employee": {
    "name": {
      "familyName": "Math",
      "givenName": "Priya"
    },
    "dob": {
      "day": 22,
      "month": "NOVEMBER",
      "year": 1981
    },
    "postCode": "3134"
  }
}`)

	req, err := http.NewRequest("POST", "https://qa-super.mygigsters.com.au/v1/verification/superselector", body)
	if err != nil {
		panic(err)
	}
	req.SetBasicAuth("apiUsername", "apiPassword")
	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-super.mygigsters.com.au/v1/verification/superselector");
request.Headers.Authorization = new AuthenticationHeaderValue(
    "Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));
request.Content = new StringContent(@"{
  ""employee"": {
    ""name"": {
      ""familyName"": ""Math"",
      ""givenName"": ""Priya""
    },
    ""dob"": {
      ""day"": 22,
      ""month"": ""NOVEMBER"",
      ""year"": 1981
    },
    ""postCode"": ""3134""
  }
}", Encoding.UTF8, "application/json");

var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
```

```json 200 theme={null}
{
  "matchResult": "MATCH",
  "funds": [
    {
      "fundName": "QSuper",
      "fundUsi": "60905115063001",
      "fundAbn": "60905115063",
      "memberNumber": "904317866"
    },
    {
      "fundName": "Australian Retirement Trust Super Savings",
      "fundUsi": "60905115063003",
      "fundAbn": "60905115063",
      "memberNumber": "904317866"
    }
  ],
  "transactionId": "TXNSUPERSELECTOR1792075273128"
}
```


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