Set or remove discount on offer
curl --request PUT \
--url https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount \
--header 'Accept: <accept>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"discount_percent": 20
}
'import requests
url = "https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount"
payload = { "discount_percent": 20 }
headers = {
"Accept": "<accept>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
Accept: '<accept>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({discount_percent: 20})
};
fetch('https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount', 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://skycoach.gg/api/shop/marketplace/offers/{offer}/discount",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'discount_percent' => 20
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"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://skycoach.gg/api/shop/marketplace/offers/{offer}/discount"
payload := strings.NewReader("{\n \"discount_percent\": 20\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Accept", "<accept>")
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.put("https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount")
.header("Accept", "<accept>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"discount_percent\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept"] = '<accept>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"discount_percent\": 20\n}"
response = http.request(request)
puts response.read_body{
"applied": false,
"discount_eligible_at": "2026-08-04T00:00:00+00:00"
}{
"message": "Unauthenticated."
}{
"message": "Not found."
}{
"message": "The discount percent field must be between 0 and 90."
}Offer Discount
Set or remove discount on offer
Sets a seller discount on the offer. If the offer and its price are older than 14 days, the discount is applied immediately. Otherwise it goes into pending state and will be applied automatically by cron once eligible. *
- Passing
discount_percent = 0removes both pending and applied (seller_lk) discounts. Admin-set discounts are not affected.
PUT
/
api
/
shop
/
marketplace
/
offers
/
{offer}
/
discount
Set or remove discount on offer
curl --request PUT \
--url https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount \
--header 'Accept: <accept>' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"discount_percent": 20
}
'import requests
url = "https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount"
payload = { "discount_percent": 20 }
headers = {
"Accept": "<accept>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
Accept: '<accept>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({discount_percent: 20})
};
fetch('https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount', 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://skycoach.gg/api/shop/marketplace/offers/{offer}/discount",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'discount_percent' => 20
]),
CURLOPT_HTTPHEADER => [
"Accept: <accept>",
"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://skycoach.gg/api/shop/marketplace/offers/{offer}/discount"
payload := strings.NewReader("{\n \"discount_percent\": 20\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Accept", "<accept>")
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.put("https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount")
.header("Accept", "<accept>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"discount_percent\": 20\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://skycoach.gg/api/shop/marketplace/offers/{offer}/discount")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Accept"] = '<accept>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"discount_percent\": 20\n}"
response = http.request(request)
puts response.read_body{
"applied": false,
"discount_eligible_at": "2026-08-04T00:00:00+00:00"
}{
"message": "Unauthenticated."
}{
"message": "Not found."
}{
"message": "The discount percent field must be between 0 and 90."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
API response format
Available options:
application/json Path Parameters
Example:
123
Body
application/json
Discount percentage. 0 = remove discount.
Required range:
0 <= x <= 40Example:
20