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

# Search Employees

> Searches for employees by various attributes such as USI, email, name, member number, etc. You can search by one or multiple attributes. All provided search criteria are combined with AND logic.

Note: At least one search parameter must be provided. If no search parameters are provided, an empty array is returned.

### Search Parameters

* **usi**: Search by Unique Superannuation Identifier (exact match)
* **email**: Search by email address (partial match, case-insensitive)
* **firstName**: Search by first name (partial match, case-insensitive)
* **lastName**: Search by last name (partial match, case-insensitive)
* **memberNumber**: Search by member number (exact match)
* **employmentPayrollNumber**: Search by employment/payroll number (exact match)

### Use Case

* Find employee by USI when you only have super fund information
* Search by name when you don't know the employee ID
* Find employee by email address
* Locate employee by payroll number

### Request Parameters

**usi** `string`

Search by Unique Superannuation Identifier (exact match)

**email** `string`

Search by email address (partial match, case-insensitive)

**firstName** `string`

Search by first name (partial match, case-insensitive)

**lastName** `string`

Search by last name (partial match, case-insensitive)

**memberNumber** `string`

Search by member number (exact match)

**employmentPayrollNumber** `string`

Search by employment/payroll number (exact match)

### Responses

| Code | Description |
| - | - |
| `200` | Search results retrieved successfully |
| `400` | Bad request - No search parameters provided or invalid parameters |
| `401` | Unauthorized - Invalid authentication credentials |

### Response fields

**employees** `array`

List of employees matching the search criteria. Each employee object matches the Employee response model from `GET /v1/employees/{employeeId}`.

**total** `number`

Total count of employees matching the search criteria

> [accordion] Error response fields
>
> **success** `boolean`
>
> Always false for error responses, indicating the operation did not succeed.
>
> **statusCode** `integer`
>
> HTTP status code indicating the type of error. Common values: 400 (Bad Request), 401 (Unauthorized), 404 (Not Found), 500 (Server Error)
>
> **message** `string`
>
> Human-readable error message explaining what went wrong. May include specific details about which field or value caused the error.
>
> **errorCode** `integer`
>
> Superannuation clearing house-specific error code for programmatic error handling. Refer to the error code reference documentation for a complete list of codes.

```bash cURL theme={null}
curl 'https://qa-super.mygigsters.com.au/v1/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123' \
    -u "apiUsername:apiPassword"
```

```javascript Node.js theme={null}
const response = await fetch("https://qa-super.mygigsters.com.au/v1/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123", {
  method: "GET",
  headers: {
    Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
  },
});

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

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

response = requests.get(
    "https://qa-super.mygigsters.com.au/v1/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123",
    auth=("apiUsername", "apiPassword"),
)

print(response.json())
```

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

uri = URI("https://qa-super.mygigsters.com.au/v1/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123")
request = Net::HTTP::Get.new(uri)
request.basic_auth("apiUsername", "apiPassword")

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/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123");

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_USERPWD => "apiUsername:apiPassword",
]);

$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());

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://qa-super.mygigsters.com.au/v1/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123"))
            .header("Authorization", "Basic " + credentials)
            .method("GET", HttpRequest.BodyPublishers.noBody())
            .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"
)

func main() {
	req, err := http.NewRequest("GET", "https://qa-super.mygigsters.com.au/v1/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123", nil)
	if err != nil {
		panic(err)
	}
	req.SetBasicAuth("apiUsername", "apiPassword")

	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.Get, "https://qa-super.mygigsters.com.au/v1/employees/search?usi=40328908469310&email=lisa.brown%40email.com&firstName=Lisa&lastName=Brown&memberNumber=MEM1001&employmentPayrollNumber=EMP-000123");
request.Headers.Authorization = new AuthenticationHeaderValue(
    "Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));

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

```json 200 theme={null}
{
  "employees": [
    {
      "employeeId": "6944fc4fa11ab4199bf0df2d",
      "clientId": "6944f5bc514fc0a1479bffdb",
      "email": "lisa.brown@email.com",
      "name": {
        "firstName": "Lisa",
        "lastName": "Brown"
      },
      "gender": "FEMALE",
      "dob": {
        "year": 1988,
        "month": "MAY",
        "day": 13
      },
      "address": {
        "australianAddress": {
          "line1": "640 Gordon Street",
          "line2": " ",
          "line3": " ",
          "line4": " ",
          "suburb": "MANLY VALE",
          "postCode": "2093",
          "stateOrTerritory": "NSW",
          "countryCode": "AU"
        }
      },
      "taxFileNumber": "182134556",
      "mvrStatus": "VERIFIED",
      "mvrStatusReason": "Member was successfully verified.",
      "createdAt": "2025-12-19T07:18:39.442Z",
      "updatedAt": "2025-12-19T07:18:39.442Z"
    }
  ],
  "total": 1
}
```


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