CLOSE_WITH_CASE_WONCLOSE_WITH_NETWORK_REJECTED
case.won flow by sending CLOSE_WITH_CASE_WON in the action field.
Sample request body
Sample request
Sample request
curl -X POST "https://your-subdomain.marqeta.com/v3/cases/<case_token>/disputetransitions" \
-H "X-Marqeta-Program-Short-Code: your-program-code" \
-H "Authorization: Basic YOUR_BASE64_ENCODED_STRING" \
-H "Content-Type: application/json" \
-d '{
"action": "CLOSE_WITH_CASE_WON",
"created_by": "Your Name"
}'
const closeCaseWon = async (caseToken) => {
const url = `https://your-subdomain.marqeta.com/v3/cases/${caseToken}/disputetransitions`;
const payload = {
action: "CLOSE_WITH_CASE_WON",
created_by: "Your Name"
};
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Marqeta-Program-Short-Code': 'your-program-code',
'Authorization': 'Basic YOUR_BASE64_ENCODED_STRING',
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});
const data = await response.json();
console.log('Case Closed - Won:', data);
};
import requests
case_token = "<case_token>"
url = f"https://your-subdomain.marqeta.com/v3/cases/{case_token}/disputetransitions"
headers = {
"X-Marqeta-Program-Short-Code": "your-program-code",
"Authorization": "Basic YOUR_BASE64_ENCODED_STRING",
"Content-Type": "application/json"
}
payload = {
"action": "CLOSE_WITH_CASE_WON",
"created_by": "Your Name"
}
response = requests.post(url, headers=headers, json=payload)
print(f"Status: {response.status_code}")
print(response.json())
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class CloseCaseWon {
public static void main(String[] args) throws Exception {
String caseToken = "<case_token>";
HttpClient client = HttpClient.newHttpClient();
String jsonBody = """
{
"action": "CLOSE_WITH_CASE_WON",
"created_by": "Your Name"
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://your-subdomain.marqeta.com/v3/cases/" + caseToken + "/disputetransitions"))
.header("X-Marqeta-Program-Short-Code", "your-program-code")
.header("Authorization", "Basic YOUR_BASE64_ENCODED_STRING")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println("Result: " + response.body());
}
}
Sample response body
Sample response
Sample response
{
"token": "203a8a7d-944f-40a4-a160-25da40573f41",
"created_time": "2026-03-10T16:02:10Z",
"last_modified_time": "2026-03-10T16:02:10Z",
"case_token": "<case_token>",
"action": "CLOSE_WITH_CASE_WON",
"created_by": "Frank Disputes"
}
CLOSED regardless of the decision and the network state transitions to case.won or case.lost automatically, based on this decision.
Confirming the dispute status
Marqeta state for dispute is nowCLOSED. You can check the state of your Dispute with the following request.
Sample request body
Sample request
Sample request
curl -X GET "https://your-subdomain.marqeta.com/v3/cases/<case_token>" \
-H "X-Marqeta-Program-Short-Code: your-program-code" \
-H "Authorization: Basic YOUR_BASE64_ENCODED_STRING" \
-H "Content-Type: application/json"
const getCaseDetails = async (caseToken) => {
const url = `https://your-subdomain.marqeta.com/v3/cases/${caseToken}`;
try {
const response = await fetch(url, {
method: 'GET',
headers: {
'X-Marqeta-Program-Short-Code': 'your-program-code',
'Authorization': 'Basic YOUR_BASE64_ENCODED_STRING',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log('Case Details:', data);
console.log('Current State:', data.state);
} catch (error) {
console.error('Error fetching case:', error);
}
};
import requests
case_token = "<case_token>"
url = f"https://your-subdomain.marqeta.com/v3/cases/{case_token}"
headers = {
"X-Marqeta-Program-Short-Code": "your-program-code",
"Authorization": "Basic YOUR_BASE64_ENCODED_STRING",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
case_info = response.json()
print(f"Case State: {case_info.get('state')}")
print(case_info)
else:
print(f"Failed to retrieve case: {response.status_code}")
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class GetCase {
public static void main(String[] args) throws Exception {
String caseToken = "<case_token>";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://your-subdomain.marqeta.com/v3/cases/" + caseToken))
.header("X-Marqeta-Program-Short-Code", "your-program-code")
.header("Authorization", "Basic YOUR_BASE64_ENCODED_STRING")
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() == 200) {
System.out.println("Case Details: " + response.body());
} else {
System.out.println("Error: " + response.statusCode());
}
}
}