curl --request PATCH \
--url https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId} \
--header 'Content-Type: application/json' \
--header 'X-Juo-Admin-Api-Key: <api-key>' \
--header 'X-Tenant-ID: <x-tenant-id>' \
--data '
{
"target": {
"type": "shipping"
},
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": true
},
"recurringCycleLimit": 2
}
'import requests
url = "https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}"
payload = {
"target": { "type": "shipping" },
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": True
},
"recurringCycleLimit": 2
}
headers = {
"X-Tenant-ID": "<x-tenant-id>",
"X-Juo-Admin-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Tenant-ID': '<x-tenant-id>',
'X-Juo-Admin-Api-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
target: {type: 'shipping'},
value: {amount: 123, type: 'fixed-amount', appliesOnEachItem: true},
recurringCycleLimit: 2
})
};
fetch('https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}', 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.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'target' => [
'type' => 'shipping'
],
'value' => [
'amount' => 123,
'type' => 'fixed-amount',
'appliesOnEachItem' => true
],
'recurringCycleLimit' => 2
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Juo-Admin-Api-Key: <api-key>",
"X-Tenant-ID: <x-tenant-id>"
],
]);
$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.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}"
payload := strings.NewReader("{\n \"target\": {\n \"type\": \"shipping\"\n },\n \"value\": {\n \"amount\": 123,\n \"type\": \"fixed-amount\",\n \"appliesOnEachItem\": true\n },\n \"recurringCycleLimit\": 2\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Tenant-ID", "<x-tenant-id>")
req.Header.Add("X-Juo-Admin-Api-Key", "<api-key>")
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.patch("https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}")
.header("X-Tenant-ID", "<x-tenant-id>")
.header("X-Juo-Admin-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"target\": {\n \"type\": \"shipping\"\n },\n \"value\": {\n \"amount\": 123,\n \"type\": \"fixed-amount\",\n \"appliesOnEachItem\": true\n },\n \"recurringCycleLimit\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Tenant-ID"] = '<x-tenant-id>'
request["X-Juo-Admin-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"target\": {\n \"type\": \"shipping\"\n },\n \"value\": {\n \"amount\": 123,\n \"type\": \"fixed-amount\",\n \"appliesOnEachItem\": true\n },\n \"recurringCycleLimit\": 2\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"resource": "subscription-discount",
"title": "<string>",
"target": {
"type": "shipping"
},
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": true
},
"recurringCycleLimit": 2
}Update a subscription discount
Used to update a subscription discount.
curl --request PATCH \
--url https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId} \
--header 'Content-Type: application/json' \
--header 'X-Juo-Admin-Api-Key: <api-key>' \
--header 'X-Tenant-ID: <x-tenant-id>' \
--data '
{
"target": {
"type": "shipping"
},
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": true
},
"recurringCycleLimit": 2
}
'import requests
url = "https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}"
payload = {
"target": { "type": "shipping" },
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": True
},
"recurringCycleLimit": 2
}
headers = {
"X-Tenant-ID": "<x-tenant-id>",
"X-Juo-Admin-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Tenant-ID': '<x-tenant-id>',
'X-Juo-Admin-Api-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
target: {type: 'shipping'},
value: {amount: 123, type: 'fixed-amount', appliesOnEachItem: true},
recurringCycleLimit: 2
})
};
fetch('https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}', 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.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'target' => [
'type' => 'shipping'
],
'value' => [
'amount' => 123,
'type' => 'fixed-amount',
'appliesOnEachItem' => true
],
'recurringCycleLimit' => 2
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Juo-Admin-Api-Key: <api-key>",
"X-Tenant-ID: <x-tenant-id>"
],
]);
$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.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}"
payload := strings.NewReader("{\n \"target\": {\n \"type\": \"shipping\"\n },\n \"value\": {\n \"amount\": 123,\n \"type\": \"fixed-amount\",\n \"appliesOnEachItem\": true\n },\n \"recurringCycleLimit\": 2\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-Tenant-ID", "<x-tenant-id>")
req.Header.Add("X-Juo-Admin-Api-Key", "<api-key>")
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.patch("https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}")
.header("X-Tenant-ID", "<x-tenant-id>")
.header("X-Juo-Admin-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"target\": {\n \"type\": \"shipping\"\n },\n \"value\": {\n \"amount\": 123,\n \"type\": \"fixed-amount\",\n \"appliesOnEachItem\": true\n },\n \"recurringCycleLimit\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.juo.io/admin/v1/subscriptions/{subscriptionId}/discounts/{discountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-Tenant-ID"] = '<x-tenant-id>'
request["X-Juo-Admin-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"target\": {\n \"type\": \"shipping\"\n },\n \"value\": {\n \"amount\": 123,\n \"type\": \"fixed-amount\",\n \"appliesOnEachItem\": true\n },\n \"recurringCycleLimit\": 2\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"resource": "subscription-discount",
"title": "<string>",
"target": {
"type": "shipping"
},
"value": {
"amount": 123,
"type": "fixed-amount",
"appliesOnEachItem": true
},
"recurringCycleLimit": 2
}Authorizations
Long-lived Admin API key issued from the Juo merchant portal. Pass as the X-Juo-Admin-Api-Key header.
Headers
Unique identifier of the tenant in the system (usually a store identifier)
Path Parameters
The subscription identifier
The subscription discount identifier
Body
- Option 1
- Option 2
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
The number of billing cycles for which this discount will be applied. After the recurring cycle limit is met the discount will be removed from the subscription.
x >= 1Response
Default Response
subscription-discount The title of the discount shown to customers, typically displayed as a discount code.
1- Option 1
- Option 2
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
The number of billing cycles for which this discount will be applied. After the recurring cycle limit is met the discount will be removed from the subscription.
x >= 1