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

# Get all invoices

> This endpoint retrieves all invoices with support for search, date filters, and pagination.

### Headers

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

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

### Query Parameters

**page** `number`

Page number for pagination (default: 1).

**limit** `number`

Number of records per page (default: 10, max: 100).

**search** `string`

Search keyword to filter invoices by invoice number or merchant name.

**start\_date** `string`

Filter invoices starting from this date (Format: YYYY-MM-DD).

**end\_date** `string`

Filter invoices up to this date (Format: YYYY-MM-DD).

### Response Body

| Field | Type | Description |
| - | - | - |
| `status` | number | Indicates the status code of the request. |
| `current_page` | number | The current page number. |
| `total_pages` | number | The total number of pages available. |
| `total_files` | number | The total number of invoices matched. |
| `page_size` | number | The number of invoices per page. |
| `invoices`array | array | An array of invoice objects. |
| ↳`invoice_id` | string | Unique identifier of the invoice. |
| ↳`invoice_number` | string | The invoice number. |
| ↳`invoice_date` | string | Date the invoice was issued (Format: YYYY-MM-DD). |
| ↳`invoice_due_date` | string | Date by which payment is due (Format: YYYY-MM-DD). |
| ↳`invoice_amount` | number | Total amount of the invoice. |
| ↳`merchant` | string | The merchant name. |
| ↳`is_xero_synced` | boolean | Indicates if the invoice is synced with Xero. |
| ↳`payment_status` | string | Current status of the payment (e.g., `PAID`, `UNPAID`). |
| ↳`type` | string | Type of invoice (e.g. `cost_of_sales`, `sales`). |
| ↳`url` | string | URL to download/view the invoice PDF. |
| ↳`created_at` | string | Timestamp when the invoice was created. |

### Response Codes

| Code | Description |
| - | - |
| 200 | The request was successful and returns the list of invoices. |
| 400 | Bad Request. Invalid filter parameters. |
| 401 | Unauthorized. Missing or invalid credentials. |
| 500 | Internal Server Error. |

```bash cURL theme={null}
curl -X GET https://qa-payments.mygigsters.com.au/api/v1/get-all-invoices \
  -u "YOUR_UUID:YOUR_SECRET" \
  -H "X-API-Version: 1.2" \
  -H "Content-Type: application/json"
```

```javascript Node.js theme={null}
const response = await fetch("https://qa-payments.mygigsters.com.au/api/v1/get-all-invoices", {
  method: "GET",
  headers: {
    Authorization: "Basic " + Buffer.from("YOUR_UUID:YOUR_SECRET").toString("base64"),
    "X-API-Version": "1.2",
    "Content-Type": "application/json",
  },
});

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

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

response = requests.get(
    "https://qa-payments.mygigsters.com.au/api/v1/get-all-invoices",
    auth=("YOUR_UUID", "YOUR_SECRET"),
    headers={
        "X-API-Version": "1.2",
        "Content-Type": "application/json",
    },
)

print(response.json())
```

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

uri = URI("https://qa-payments.mygigsters.com.au/api/v1/get-all-invoices")
request = Net::HTTP::Get.new(uri)
request.basic_auth("YOUR_UUID", "YOUR_SECRET")
request["X-API-Version"] = "1.2"
request["Content-Type"] = "application/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/get-all-invoices");

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_USERPWD => "YOUR_UUID:YOUR_SECRET",
    CURLOPT_HTTPHEADER => [
        "X-API-Version: 1.2",
        "Content-Type: application/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());

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://qa-payments.mygigsters.com.au/api/v1/get-all-invoices"))
            .header("Authorization", "Basic " + credentials)
            .header("X-API-Version", "1.2")
            .header("Content-Type", "application/json")
            .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-payments.mygigsters.com.au/api/v1/get-all-invoices", nil)
	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.Get, "https://qa-payments.mygigsters.com.au/api/v1/get-all-invoices");
request.Headers.Authorization = new AuthenticationHeaderValue(
    "Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("YOUR_UUID:YOUR_SECRET")));
request.Headers.Add("X-API-Version", "1.2");

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

```json 200 theme={null}
{
  "status": 200,
  "current_page": 1,
  "total_pages": 1,
  "total_files": 2,
  "page_size": 10,
  "invoices": [
    {
      "invoice_id": "9d6f0541-c1b1-4f7f-9275-e2361f22d176",
      "invoice_number": "INV-0043",
      "invoice_date": "2025-11-26T00:00:00.000Z",
      "invoice_due_date": "2025-12-05T00:00:00.000Z",
      "invoice_amount": 90000,
      "merchant": "Jane",
      "is_xero_synced": true,
      "payment_status": "UNPAID",
      "type": "cost_of_sales",
      "url": "https://qa-payments.mygigsters.com.au/api/v1/download-invoice?id=9d6f0541-c1b1-4f7f-9275-e2361f22d176",
      "created_at": "2026-06-11T07:49:19.000Z"
    },
    {
      "invoice_id": "05b3af07-34e5-44fd-b9ef-6174187ee653",
      "invoice_number": "INV-0047",
      "invoice_date": "2025-12-03T00:00:00.000Z",
      "invoice_due_date": "2025-12-25T00:00:00.000Z",
      "invoice_amount": 127000,
      "merchant": "Sumit",
      "is_xero_synced": false,
      "payment_status": "UNPAID",
      "type": "sales",
      "url": "https://qa-payments.mygigsters.com.au/api/v1/download-invoice?id=05b3af07-34e5-44fd-b9ef-6174187ee653",
      "created_at": "2026-06-11T07:44:08.000Z"
    }
  ]
}
```


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