curl 'https://qa-super.mygigsters.com.au/v2/contributions' -X POST \
-u "apiUsername:apiPassword" \
-H "Idempotency-Key: payrun-2026-10-27-001" \
-H "Content-Type: application/json" --data '{"employerId":"6960d86e466f44ab3f163c66","contributionDetails":{"funds":[{"usi":"40328908469310","amountForFund":{"value":1391.67,"currency":"AUD"},"members":[{"employeeId":"507f1f77bcf86cd799439011","payPeriodStartDate":1638277200000,"payPeriodEndDate":1640955600000,"employmentStatus":"FULL_TIME","totalMemberContributionAmount":{"value":1391.67,"currency":"AUD"},"superGuaranteeAmount":{"value":1391.67,"currency":"AUD"}}]}]}}'
const response = await fetch("https://qa-super.mygigsters.com.au/v2/contributions", {
method: "POST",
headers: {
Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
"Idempotency-Key": "payrun-2026-10-27-001",
"Content-Type": "application/json",
},
body: JSON.stringify({
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://qa-super.mygigsters.com.au/v2/contributions",
auth=("apiUsername", "apiPassword"),
headers={
"Idempotency-Key": "payrun-2026-10-27-001",
},
json={
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD",
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD",
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD",
},
},
],
},
],
},
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-super.mygigsters.com.au/v2/contributions")
request = Net::HTTP::Post.new(uri)
request.basic_auth("apiUsername", "apiPassword")
request["Idempotency-Key"] = "payrun-2026-10-27-001"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}
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-super.mygigsters.com.au/v2/contributions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_USERPWD => "apiUsername:apiPassword",
CURLOPT_HTTPHEADER => [
"Idempotency-Key: payrun-2026-10-27-001",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}
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("apiUsername:apiPassword".getBytes());
String body = String.join("\n",
"{",
" \"employerId\": \"6960d86e466f44ab3f163c66\",",
" \"contributionDetails\": {",
" \"funds\": [",
" {",
" \"usi\": \"40328908469310\",",
" \"amountForFund\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" },",
" \"members\": [",
" {",
" \"employeeId\": \"507f1f77bcf86cd799439011\",",
" \"payPeriodStartDate\": 1638277200000,",
" \"payPeriodEndDate\": 1640955600000,",
" \"employmentStatus\": \"FULL_TIME\",",
" \"totalMemberContributionAmount\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" },",
" \"superGuaranteeAmount\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" }",
" }",
" ]",
" }",
" ]",
" }",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-super.mygigsters.com.au/v2/contributions"))
.header("Authorization", "Basic " + credentials)
.header("Idempotency-Key", "payrun-2026-10-27-001")
.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(`{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}`)
req, err := http.NewRequest("POST", "https://qa-super.mygigsters.com.au/v2/contributions", body)
if err != nil {
panic(err)
}
req.SetBasicAuth("apiUsername", "apiPassword")
req.Header.Set("Idempotency-Key", "payrun-2026-10-27-001")
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-super.mygigsters.com.au/v2/contributions");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));
request.Headers.Add("Idempotency-Key", "payrun-2026-10-27-001");
request.Content = new StringContent(@"{
""employerId"": ""6960d86e466f44ab3f163c66"",
""contributionDetails"": {
""funds"": [
{
""usi"": ""40328908469310"",
""amountForFund"": {
""value"": 1391.67,
""currency"": ""AUD""
},
""members"": [
{
""employeeId"": ""507f1f77bcf86cd799439011"",
""payPeriodStartDate"": 1638277200000,
""payPeriodEndDate"": 1640955600000,
""employmentStatus"": ""FULL_TIME"",
""totalMemberContributionAmount"": {
""value"": 1391.67,
""currency"": ""AUD""
},
""superGuaranteeAmount"": {
""value"": 1391.67,
""currency"": ""AUD""
}
}
]
}
]
}
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"transactionId": "txn-3cb85051-09cd-4a04-9952-100b20384ada",
"employerId": "6960d86e466f44ab3f163c66",
"status": "ACCEPTED",
"totals": {
"funds": 2,
"members": 3,
"amount": "3.00"
}
}
Contributions
Submit contribution (async)
Async version of POST /v1/contributions/contribution for larger batches. The request body is identical to v1 — only the response and the limits differ. See the Async Submission (v2) guide for the full flow, statuses and…
POST
/
v2
/
contributions
curl 'https://qa-super.mygigsters.com.au/v2/contributions' -X POST \
-u "apiUsername:apiPassword" \
-H "Idempotency-Key: payrun-2026-10-27-001" \
-H "Content-Type: application/json" --data '{"employerId":"6960d86e466f44ab3f163c66","contributionDetails":{"funds":[{"usi":"40328908469310","amountForFund":{"value":1391.67,"currency":"AUD"},"members":[{"employeeId":"507f1f77bcf86cd799439011","payPeriodStartDate":1638277200000,"payPeriodEndDate":1640955600000,"employmentStatus":"FULL_TIME","totalMemberContributionAmount":{"value":1391.67,"currency":"AUD"},"superGuaranteeAmount":{"value":1391.67,"currency":"AUD"}}]}]}}'
const response = await fetch("https://qa-super.mygigsters.com.au/v2/contributions", {
method: "POST",
headers: {
Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
"Idempotency-Key": "payrun-2026-10-27-001",
"Content-Type": "application/json",
},
body: JSON.stringify({
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://qa-super.mygigsters.com.au/v2/contributions",
auth=("apiUsername", "apiPassword"),
headers={
"Idempotency-Key": "payrun-2026-10-27-001",
},
json={
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD",
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD",
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD",
},
},
],
},
],
},
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-super.mygigsters.com.au/v2/contributions")
request = Net::HTTP::Post.new(uri)
request.basic_auth("apiUsername", "apiPassword")
request["Idempotency-Key"] = "payrun-2026-10-27-001"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}
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-super.mygigsters.com.au/v2/contributions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_USERPWD => "apiUsername:apiPassword",
CURLOPT_HTTPHEADER => [
"Idempotency-Key: payrun-2026-10-27-001",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}
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("apiUsername:apiPassword".getBytes());
String body = String.join("\n",
"{",
" \"employerId\": \"6960d86e466f44ab3f163c66\",",
" \"contributionDetails\": {",
" \"funds\": [",
" {",
" \"usi\": \"40328908469310\",",
" \"amountForFund\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" },",
" \"members\": [",
" {",
" \"employeeId\": \"507f1f77bcf86cd799439011\",",
" \"payPeriodStartDate\": 1638277200000,",
" \"payPeriodEndDate\": 1640955600000,",
" \"employmentStatus\": \"FULL_TIME\",",
" \"totalMemberContributionAmount\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" },",
" \"superGuaranteeAmount\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" }",
" }",
" ]",
" }",
" ]",
" }",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-super.mygigsters.com.au/v2/contributions"))
.header("Authorization", "Basic " + credentials)
.header("Idempotency-Key", "payrun-2026-10-27-001")
.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(`{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}`)
req, err := http.NewRequest("POST", "https://qa-super.mygigsters.com.au/v2/contributions", body)
if err != nil {
panic(err)
}
req.SetBasicAuth("apiUsername", "apiPassword")
req.Header.Set("Idempotency-Key", "payrun-2026-10-27-001")
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-super.mygigsters.com.au/v2/contributions");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));
request.Headers.Add("Idempotency-Key", "payrun-2026-10-27-001");
request.Content = new StringContent(@"{
""employerId"": ""6960d86e466f44ab3f163c66"",
""contributionDetails"": {
""funds"": [
{
""usi"": ""40328908469310"",
""amountForFund"": {
""value"": 1391.67,
""currency"": ""AUD""
},
""members"": [
{
""employeeId"": ""507f1f77bcf86cd799439011"",
""payPeriodStartDate"": 1638277200000,
""payPeriodEndDate"": 1640955600000,
""employmentStatus"": ""FULL_TIME"",
""totalMemberContributionAmount"": {
""value"": 1391.67,
""currency"": ""AUD""
},
""superGuaranteeAmount"": {
""value"": 1391.67,
""currency"": ""AUD""
}
}
]
}
]
}
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"transactionId": "txn-3cb85051-09cd-4a04-9952-100b20384ada",
"employerId": "6960d86e466f44ab3f163c66",
"status": "ACCEPTED",
"totals": {
"funds": 2,
"members": 3,
"amount": "3.00"
}
}
- The whole request is validated before we respond (payload, employer onboarding, every employee, MVR payment gate, active USIs). If anything is wrong you get a
400listing every error and nothing is stored. - A valid request returns
202 Acceptedwith atransactionIdstraight away. The submission to the clearing house happens in the background as one transaction (one direct debit). - The outcome arrives via the
contribution.submission_completedwebhook, or pollGET /v2/contributions/:transactionId.
Idempotency-Key (required)
Send a uniqueIdempotency-Key header with every new submission and reuse it when retrying the same submission (e.g. after a timeout or network error).
| Situation | Result |
|---|---|
| Same key + same body | 202 with the original transactionId (and its current status) — nothing is submitted twice |
| Same key + different body | 409 Conflict |
| Header missing | 400 |
Limits
100 funds / 1000 members per request (v1: 8 funds / 40 members).Request Parameters
string
required
Your unique key for this submission (e.g. a UUID, or your own pay-run ID). Reuse it when retrying the same request; use a new one for a new submission.
Request Body
string
required
Employer ID that this contribution belongs to. The employer must be associated with the authenticated client.
object
required
Simplified contribution details. Only variable data (fund USIs, amounts, pay periods) is required. Employee and employer static data will be automatically retrieved from the database.
Responses
| Code | Description |
|---|---|
202 | Accepted — the request passed validation and is queued for background submission. Also returned when the same Idempotency-Key and body are resent (with the submission’s current status). |
400 | Validation failed — nothing was stored. Business-rule errors (employer, employees, MVR gate, USIs, limits) are listed together in errors, each with the path of the offending field. Field-format errors (e.g. a missing amount) and a missing Idempotency-Key are reported in message, as in v1. |
401 | Unauthorized — invalid authentication credentials |
403 | The employerId does not belong to your client account |
409 | The Idempotency-Key was already used with a different request body |
Response fields
string
The SuperChoice transaction ID for this submission. It is used everywhere afterwards: GET /v2/contributions/:transactionId, payment status endpoints and payment.status_changed webhooks.
string
string
ACCEPTED on a new submission. A replay returns the submission’s current status.
object
Error response fields
Error response fields
curl 'https://qa-super.mygigsters.com.au/v2/contributions' -X POST \
-u "apiUsername:apiPassword" \
-H "Idempotency-Key: payrun-2026-10-27-001" \
-H "Content-Type: application/json" --data '{"employerId":"6960d86e466f44ab3f163c66","contributionDetails":{"funds":[{"usi":"40328908469310","amountForFund":{"value":1391.67,"currency":"AUD"},"members":[{"employeeId":"507f1f77bcf86cd799439011","payPeriodStartDate":1638277200000,"payPeriodEndDate":1640955600000,"employmentStatus":"FULL_TIME","totalMemberContributionAmount":{"value":1391.67,"currency":"AUD"},"superGuaranteeAmount":{"value":1391.67,"currency":"AUD"}}]}]}}'
const response = await fetch("https://qa-super.mygigsters.com.au/v2/contributions", {
method: "POST",
headers: {
Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
"Idempotency-Key": "payrun-2026-10-27-001",
"Content-Type": "application/json",
},
body: JSON.stringify({
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.post(
"https://qa-super.mygigsters.com.au/v2/contributions",
auth=("apiUsername", "apiPassword"),
headers={
"Idempotency-Key": "payrun-2026-10-27-001",
},
json={
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD",
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD",
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD",
},
},
],
},
],
},
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-super.mygigsters.com.au/v2/contributions")
request = Net::HTTP::Post.new(uri)
request.basic_auth("apiUsername", "apiPassword")
request["Idempotency-Key"] = "payrun-2026-10-27-001"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}
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-super.mygigsters.com.au/v2/contributions");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_USERPWD => "apiUsername:apiPassword",
CURLOPT_HTTPHEADER => [
"Idempotency-Key: payrun-2026-10-27-001",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}
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("apiUsername:apiPassword".getBytes());
String body = String.join("\n",
"{",
" \"employerId\": \"6960d86e466f44ab3f163c66\",",
" \"contributionDetails\": {",
" \"funds\": [",
" {",
" \"usi\": \"40328908469310\",",
" \"amountForFund\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" },",
" \"members\": [",
" {",
" \"employeeId\": \"507f1f77bcf86cd799439011\",",
" \"payPeriodStartDate\": 1638277200000,",
" \"payPeriodEndDate\": 1640955600000,",
" \"employmentStatus\": \"FULL_TIME\",",
" \"totalMemberContributionAmount\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" },",
" \"superGuaranteeAmount\": {",
" \"value\": 1391.67,",
" \"currency\": \"AUD\"",
" }",
" }",
" ]",
" }",
" ]",
" }",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-super.mygigsters.com.au/v2/contributions"))
.header("Authorization", "Basic " + credentials)
.header("Idempotency-Key", "payrun-2026-10-27-001")
.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(`{
"employerId": "6960d86e466f44ab3f163c66",
"contributionDetails": {
"funds": [
{
"usi": "40328908469310",
"amountForFund": {
"value": 1391.67,
"currency": "AUD"
},
"members": [
{
"employeeId": "507f1f77bcf86cd799439011",
"payPeriodStartDate": 1638277200000,
"payPeriodEndDate": 1640955600000,
"employmentStatus": "FULL_TIME",
"totalMemberContributionAmount": {
"value": 1391.67,
"currency": "AUD"
},
"superGuaranteeAmount": {
"value": 1391.67,
"currency": "AUD"
}
}
]
}
]
}
}`)
req, err := http.NewRequest("POST", "https://qa-super.mygigsters.com.au/v2/contributions", body)
if err != nil {
panic(err)
}
req.SetBasicAuth("apiUsername", "apiPassword")
req.Header.Set("Idempotency-Key", "payrun-2026-10-27-001")
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-super.mygigsters.com.au/v2/contributions");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));
request.Headers.Add("Idempotency-Key", "payrun-2026-10-27-001");
request.Content = new StringContent(@"{
""employerId"": ""6960d86e466f44ab3f163c66"",
""contributionDetails"": {
""funds"": [
{
""usi"": ""40328908469310"",
""amountForFund"": {
""value"": 1391.67,
""currency"": ""AUD""
},
""members"": [
{
""employeeId"": ""507f1f77bcf86cd799439011"",
""payPeriodStartDate"": 1638277200000,
""payPeriodEndDate"": 1640955600000,
""employmentStatus"": ""FULL_TIME"",
""totalMemberContributionAmount"": {
""value"": 1391.67,
""currency"": ""AUD""
},
""superGuaranteeAmount"": {
""value"": 1391.67,
""currency"": ""AUD""
}
}
]
}
]
}
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
{
"transactionId": "txn-3cb85051-09cd-4a04-9952-100b20384ada",
"employerId": "6960d86e466f44ab3f163c66",
"status": "ACCEPTED",
"totals": {
"funds": 2,
"members": 3,
"amount": "3.00"
}
}
Last modified on November 10, 2026
Was this page helpful?
