curl 'https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3' -X PATCH \
-u "apiUsername:apiPassword" \
-H "Content-Type: application/json" --data '{"status":"REJECTED","reason":"Member not found with supplied information."}'
const response = await fetch("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3", {
method: "PATCH",
headers: {
Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
"Content-Type": "application/json",
},
body: JSON.stringify({
"status": "REJECTED",
"reason": "Member not found with supplied information."
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.patch(
"https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3",
auth=("apiUsername", "apiPassword"),
json={
"status": "REJECTED",
"reason": "Member not found with supplied information.",
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3")
request = Net::HTTP::Patch.new(uri)
request.basic_auth("apiUsername", "apiPassword")
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}
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/mvr/employee/6a58c9406820b9ff62b527b3");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_USERPWD => "apiUsername:apiPassword",
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}
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",
"{",
" \"status\": \"REJECTED\",",
" \"reason\": \"Member not found with supplied information.\"",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3"))
.header("Authorization", "Basic " + credentials)
.header("Content-Type", "application/json")
.method("PATCH", 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(`{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}`)
req, err := http.NewRequest("PATCH", "https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3", 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))
}
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));
request.Content = new StringContent(@"{
""status"": ""REJECTED"",
""reason"": ""Member not found with supplied information.""
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
""
Member verification
Set MVR status (testing)
Forces mvrStatus onto an employee without a real SuperChoice submission — intended for QA/testing environments, where real funds never reply, so you can still exercise every status/webhook outcome your integration needs to…
PATCH
/
v2
/
mvr
/
employee
/
{employeeId}
curl 'https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3' -X PATCH \
-u "apiUsername:apiPassword" \
-H "Content-Type: application/json" --data '{"status":"REJECTED","reason":"Member not found with supplied information."}'
const response = await fetch("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3", {
method: "PATCH",
headers: {
Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
"Content-Type": "application/json",
},
body: JSON.stringify({
"status": "REJECTED",
"reason": "Member not found with supplied information."
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.patch(
"https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3",
auth=("apiUsername", "apiPassword"),
json={
"status": "REJECTED",
"reason": "Member not found with supplied information.",
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3")
request = Net::HTTP::Patch.new(uri)
request.basic_auth("apiUsername", "apiPassword")
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}
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/mvr/employee/6a58c9406820b9ff62b527b3");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_USERPWD => "apiUsername:apiPassword",
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}
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",
"{",
" \"status\": \"REJECTED\",",
" \"reason\": \"Member not found with supplied information.\"",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3"))
.header("Authorization", "Basic " + credentials)
.header("Content-Type", "application/json")
.method("PATCH", 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(`{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}`)
req, err := http.NewRequest("PATCH", "https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3", 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))
}
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));
request.Content = new StringContent(@"{
""status"": ""REJECTED"",
""reason"": ""Member not found with supplied information.""
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
""
Setting a status this way also permanently exempts the employee from the MVR payment gate (the same effect as
PATCH /v2/mvr/employee/:employeeId/override) — if a real fund response later arrives for this employee, it only updates mvrStatus/mvrStatusReason for visibility and never blocks payment again. Fires the employee.mvr_status_changed webhook for any terminal status (VERIFIED, WARNING, REJECTED, NOT_SUPPORTED, TIMED_OUT) — never for PENDING, matching the real flow.
Requires the employee to already have a fund identity (usi/smsf) set and a qualifying employer for the client — the same preconditions a real POST /v2/mvr/submit has, so the fabricated outcome stays realistic.
Note: this endpoint is not environment-restricted — it works in production too. Use it deliberately; it bypasses the real fund check entirely.
v1 is unaffected
You do not need to adopt the Employees v2 endpoints to use this, andv1 never forces MVR onto anything — keep using v1 for employees you don’t want MVR on at all, and opt specific employees into MVR (via v2, or this endpoint) whenever you’re ready to.
Request Parameters
string
required
Request Body
string (PENDING, VERIFIED, WARNING, REJECTED, TIMED_OUT, NOT_APPLICABLE, NOT_SUPPORTED, NOT_CHECKED)
required
The mvrStatus to force onto this employee. Setting this also permanently exempts the employee from the MVR payment gate — if a real fund response later arrives for this employee, it only updates mvrStatus/mvrStatusReason for visibility and never blocks payment.
string
Human-readable reason to store as mvrStatusReason, as if the fund had supplied it.
string
Optional explicit employerId override — see POST /v2/mvr/submit’s employerId.
Responses
| Code | Description |
|---|---|
200 | Status forced successfully |
400 | Bad request — the employee has no fund identity (usi/smsf), or no employer at the client is onboarded and synced at the clearing house |
401 | Unauthorized — invalid authentication credentials |
404 | Employee not found for this client |
Response fields
string
Synthetic transaction ID for the fabricated mvrRequest row — usable with GET /v2/mvr/:transactionId.
string
curl 'https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3' -X PATCH \
-u "apiUsername:apiPassword" \
-H "Content-Type: application/json" --data '{"status":"REJECTED","reason":"Member not found with supplied information."}'
const response = await fetch("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3", {
method: "PATCH",
headers: {
Authorization: "Basic " + Buffer.from("apiUsername:apiPassword").toString("base64"),
"Content-Type": "application/json",
},
body: JSON.stringify({
"status": "REJECTED",
"reason": "Member not found with supplied information."
}),
});
const data = await response.json();
console.log(data);
import requests
response = requests.patch(
"https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3",
auth=("apiUsername", "apiPassword"),
json={
"status": "REJECTED",
"reason": "Member not found with supplied information.",
},
)
print(response.json())
require "net/http"
require "json"
require "uri"
uri = URI("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3")
request = Net::HTTP::Patch.new(uri)
request.basic_auth("apiUsername", "apiPassword")
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}
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/mvr/employee/6a58c9406820b9ff62b527b3");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_USERPWD => "apiUsername:apiPassword",
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => <<<'JSON'
{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}
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",
"{",
" \"status\": \"REJECTED\",",
" \"reason\": \"Member not found with supplied information.\"",
"}"
);
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3"))
.header("Authorization", "Basic " + credentials)
.header("Content-Type", "application/json")
.method("PATCH", 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(`{
"status": "REJECTED",
"reason": "Member not found with supplied information."
}`)
req, err := http.NewRequest("PATCH", "https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3", 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))
}
using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Patch, "https://qa-super.mygigsters.com.au/v2/mvr/employee/6a58c9406820b9ff62b527b3");
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("apiUsername:apiPassword")));
request.Content = new StringContent(@"{
""status"": ""REJECTED"",
""reason"": ""Member not found with supplied information.""
}", Encoding.UTF8, "application/json");
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
""
Last modified on November 10, 2026
Was this page helpful?
