curl --request POST \
--url https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"message": "Order was delivered as described, see attached screenshots.",
"counter_resolution_note": "<string>",
"evidence_urls": [
"<string>"
]
}
'import requests
url = "https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter"
payload = {
"message": "Order was delivered as described, see attached screenshots.",
"counter_resolution_note": "<string>",
"evidence_urls": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: 'Order was delivered as described, see attached screenshots.',
counter_resolution_note: '<string>',
evidence_urls: ['<string>']
})
};
fetch('https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => 'Order was delivered as described, see attached screenshots.',
'counter_resolution_note' => '<string>',
'evidence_urls' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter"
payload := strings.NewReader("{\n \"message\": \"Order was delivered as described, see attached screenshots.\",\n \"counter_resolution_note\": \"<string>\",\n \"evidence_urls\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"Order was delivered as described, see attached screenshots.\",\n \"counter_resolution_note\": \"<string>\",\n \"evidence_urls\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"Order was delivered as described, see attached screenshots.\",\n \"counter_resolution_note\": \"<string>\",\n \"evidence_urls\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 123,
"orderable_id": 123,
"buyer_id": 123,
"explanation": "<string>",
"preferred_resolution_note": "<string>",
"seller_response_due_at": 123,
"buyer_response_due_at": 123,
"active_due_at": 123,
"is_active_deadline_expired": true,
"seller_response_hours": 123,
"buyer_response_hours": 123,
"locked_at": 123,
"closed_at": 123,
"created_at": 123,
"updated_at": 123,
"events": [
{
"id": 123,
"actor_id": 123,
"actor_username": "<string>",
"payload": {},
"evidence_urls": [
"<string>"
],
"created_at": 123
}
]
},
"message": "<string>"
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Resource not found."
}{
"message": "The given data was invalid.",
"errors": {
"field": [
"Something is wrong with this field!"
]
}
}{
"message": "Too many requests."
}Counter an order dispute as seller
Seller-only: respond to the buyer’s dispute with a counter-proposal and optional evidence.
Evidence URLs are fetched asynchronously from the provided public URLs. Supported types: JPEG, PNG, GIF, WEBP, MP4, MOV, OGG, WEBM, PDF, TXT, CSV. Maximum 5 files, 20MB each.
curl --request POST \
--url https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"message": "Order was delivered as described, see attached screenshots.",
"counter_resolution_note": "<string>",
"evidence_urls": [
"<string>"
]
}
'import requests
url = "https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter"
payload = {
"message": "Order was delivered as described, see attached screenshots.",
"counter_resolution_note": "<string>",
"evidence_urls": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
message: 'Order was delivered as described, see attached screenshots.',
counter_resolution_note: '<string>',
evidence_urls: ['<string>']
})
};
fetch('https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'message' => 'Order was delivered as described, see attached screenshots.',
'counter_resolution_note' => '<string>',
'evidence_urls' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter"
payload := strings.NewReader("{\n \"message\": \"Order was delivered as described, see attached screenshots.\",\n \"counter_resolution_note\": \"<string>\",\n \"evidence_urls\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"message\": \"Order was delivered as described, see attached screenshots.\",\n \"counter_resolution_note\": \"<string>\",\n \"evidence_urls\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gameboost.com/v2/order-disputes/{orderDisputeCase}/counter")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"message\": \"Order was delivered as described, see attached screenshots.\",\n \"counter_resolution_note\": \"<string>\",\n \"evidence_urls\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 123,
"orderable_id": 123,
"buyer_id": 123,
"explanation": "<string>",
"preferred_resolution_note": "<string>",
"seller_response_due_at": 123,
"buyer_response_due_at": 123,
"active_due_at": 123,
"is_active_deadline_expired": true,
"seller_response_hours": 123,
"buyer_response_hours": 123,
"locked_at": 123,
"closed_at": 123,
"created_at": 123,
"updated_at": 123,
"events": [
{
"id": 123,
"actor_id": 123,
"actor_username": "<string>",
"payload": {},
"evidence_urls": [
"<string>"
],
"created_at": 123
}
]
},
"message": "<string>"
}{
"message": "Unauthenticated."
}{
"message": "This action is unauthorized."
}{
"message": "Resource not found."
}{
"message": "The given data was invalid.",
"errors": {
"field": [
"Something is wrong with this field!"
]
}
}{
"message": "Too many requests."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the order dispute case.
Body
Explanation shared with the buyer as part of the counter response.
1200"Order was delivered as described, see attached screenshots."
Resolution the seller is proposing to the buyer.
other, refund Required when counter_resolution is "other". Free-text note describing the proposed resolution.
500Up to 5 publicly accessible URLs (JPEG, PNG, GIF, WEBP, MP4, MOV, OGG, WEBM, PDF, TXT, CSV) to attach as evidence. Files are fetched server-side and stored on the dispute event.
52048Was this page helpful?