Update Pricing Module
curl --request POST \
--url https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "Update",
"action": "Update Plan",
"apiVersion": "v2",
"tariff": {
"serviceCode": "DEMO-001",
"code": "DemoPlan",
"name": "Demo Plan Updated",
"uniqueLabel": "DemoPlan",
"description": "Updated description",
"parentTariffCode": null,
"planType": "BASE_PLAN",
"custom": 1,
"visibility": "Public",
"billingPeriodID": null,
"valueFormulas": [],
"componentRules": [],
"usageData": [],
"securityAttributes": []
}
}
'import requests
url = "https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff"
payload = {
"method": "Update",
"action": "Update Plan",
"apiVersion": "v2",
"tariff": {
"serviceCode": "DEMO-001",
"code": "DemoPlan",
"name": "Demo Plan Updated",
"uniqueLabel": "DemoPlan",
"description": "Updated description",
"parentTariffCode": None,
"planType": "BASE_PLAN",
"custom": 1,
"visibility": "Public",
"billingPeriodID": None,
"valueFormulas": [],
"componentRules": [],
"usageData": [],
"securityAttributes": []
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 'Update',
action: 'Update Plan',
apiVersion: 'v2',
tariff: {
serviceCode: 'DEMO-001',
code: 'DemoPlan',
name: 'Demo Plan Updated',
uniqueLabel: 'DemoPlan',
description: 'Updated description',
parentTariffCode: null,
planType: 'BASE_PLAN',
custom: 1,
visibility: 'Public',
billingPeriodID: null,
valueFormulas: [],
componentRules: [],
usageData: [],
securityAttributes: []
}
})
};
fetch('https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff', 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://{workspace}.spreesuite.com/billspree/tariffs/update-tariff",
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([
'method' => 'Update',
'action' => 'Update Plan',
'apiVersion' => 'v2',
'tariff' => [
'serviceCode' => 'DEMO-001',
'code' => 'DemoPlan',
'name' => 'Demo Plan Updated',
'uniqueLabel' => 'DemoPlan',
'description' => 'Updated description',
'parentTariffCode' => null,
'planType' => 'BASE_PLAN',
'custom' => 1,
'visibility' => 'Public',
'billingPeriodID' => null,
'valueFormulas' => [
],
'componentRules' => [
],
'usageData' => [
],
'securityAttributes' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://{workspace}.spreesuite.com/billspree/tariffs/update-tariff"
payload := strings.NewReader("{\n \"method\": \"Update\",\n \"action\": \"Update Plan\",\n \"apiVersion\": \"v2\",\n \"tariff\": {\n \"serviceCode\": \"DEMO-001\",\n \"code\": \"DemoPlan\",\n \"name\": \"Demo Plan Updated\",\n \"uniqueLabel\": \"DemoPlan\",\n \"description\": \"Updated description\",\n \"parentTariffCode\": null,\n \"planType\": \"BASE_PLAN\",\n \"custom\": 1,\n \"visibility\": \"Public\",\n \"billingPeriodID\": null,\n \"valueFormulas\": [],\n \"componentRules\": [],\n \"usageData\": [],\n \"securityAttributes\": []\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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.post("https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"method\": \"Update\",\n \"action\": \"Update Plan\",\n \"apiVersion\": \"v2\",\n \"tariff\": {\n \"serviceCode\": \"DEMO-001\",\n \"code\": \"DemoPlan\",\n \"name\": \"Demo Plan Updated\",\n \"uniqueLabel\": \"DemoPlan\",\n \"description\": \"Updated description\",\n \"parentTariffCode\": null,\n \"planType\": \"BASE_PLAN\",\n \"custom\": 1,\n \"visibility\": \"Public\",\n \"billingPeriodID\": null,\n \"valueFormulas\": [],\n \"componentRules\": [],\n \"usageData\": [],\n \"securityAttributes\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"method\": \"Update\",\n \"action\": \"Update Plan\",\n \"apiVersion\": \"v2\",\n \"tariff\": {\n \"serviceCode\": \"DEMO-001\",\n \"code\": \"DemoPlan\",\n \"name\": \"Demo Plan Updated\",\n \"uniqueLabel\": \"DemoPlan\",\n \"description\": \"Updated description\",\n \"parentTariffCode\": null,\n \"planType\": \"BASE_PLAN\",\n \"custom\": 1,\n \"visibility\": \"Public\",\n \"billingPeriodID\": null,\n \"valueFormulas\": [],\n \"componentRules\": [],\n \"usageData\": [],\n \"securityAttributes\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "Request Succeeded.",
"error": null,
"data": {}
}Pricing Modules
Update Pricing Module
Update an existing pricing module. The code and serviceCode fields identify which pricing module to update. planType cannot be changed after creation. abstract and chargeType are not sent on update.
POST
/
billspree
/
tariffs
/
update-tariff
Update Pricing Module
curl --request POST \
--url https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "Update",
"action": "Update Plan",
"apiVersion": "v2",
"tariff": {
"serviceCode": "DEMO-001",
"code": "DemoPlan",
"name": "Demo Plan Updated",
"uniqueLabel": "DemoPlan",
"description": "Updated description",
"parentTariffCode": null,
"planType": "BASE_PLAN",
"custom": 1,
"visibility": "Public",
"billingPeriodID": null,
"valueFormulas": [],
"componentRules": [],
"usageData": [],
"securityAttributes": []
}
}
'import requests
url = "https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff"
payload = {
"method": "Update",
"action": "Update Plan",
"apiVersion": "v2",
"tariff": {
"serviceCode": "DEMO-001",
"code": "DemoPlan",
"name": "Demo Plan Updated",
"uniqueLabel": "DemoPlan",
"description": "Updated description",
"parentTariffCode": None,
"planType": "BASE_PLAN",
"custom": 1,
"visibility": "Public",
"billingPeriodID": None,
"valueFormulas": [],
"componentRules": [],
"usageData": [],
"securityAttributes": []
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 'Update',
action: 'Update Plan',
apiVersion: 'v2',
tariff: {
serviceCode: 'DEMO-001',
code: 'DemoPlan',
name: 'Demo Plan Updated',
uniqueLabel: 'DemoPlan',
description: 'Updated description',
parentTariffCode: null,
planType: 'BASE_PLAN',
custom: 1,
visibility: 'Public',
billingPeriodID: null,
valueFormulas: [],
componentRules: [],
usageData: [],
securityAttributes: []
}
})
};
fetch('https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff', 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://{workspace}.spreesuite.com/billspree/tariffs/update-tariff",
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([
'method' => 'Update',
'action' => 'Update Plan',
'apiVersion' => 'v2',
'tariff' => [
'serviceCode' => 'DEMO-001',
'code' => 'DemoPlan',
'name' => 'Demo Plan Updated',
'uniqueLabel' => 'DemoPlan',
'description' => 'Updated description',
'parentTariffCode' => null,
'planType' => 'BASE_PLAN',
'custom' => 1,
'visibility' => 'Public',
'billingPeriodID' => null,
'valueFormulas' => [
],
'componentRules' => [
],
'usageData' => [
],
'securityAttributes' => [
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://{workspace}.spreesuite.com/billspree/tariffs/update-tariff"
payload := strings.NewReader("{\n \"method\": \"Update\",\n \"action\": \"Update Plan\",\n \"apiVersion\": \"v2\",\n \"tariff\": {\n \"serviceCode\": \"DEMO-001\",\n \"code\": \"DemoPlan\",\n \"name\": \"Demo Plan Updated\",\n \"uniqueLabel\": \"DemoPlan\",\n \"description\": \"Updated description\",\n \"parentTariffCode\": null,\n \"planType\": \"BASE_PLAN\",\n \"custom\": 1,\n \"visibility\": \"Public\",\n \"billingPeriodID\": null,\n \"valueFormulas\": [],\n \"componentRules\": [],\n \"usageData\": [],\n \"securityAttributes\": []\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<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.post("https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"method\": \"Update\",\n \"action\": \"Update Plan\",\n \"apiVersion\": \"v2\",\n \"tariff\": {\n \"serviceCode\": \"DEMO-001\",\n \"code\": \"DemoPlan\",\n \"name\": \"Demo Plan Updated\",\n \"uniqueLabel\": \"DemoPlan\",\n \"description\": \"Updated description\",\n \"parentTariffCode\": null,\n \"planType\": \"BASE_PLAN\",\n \"custom\": 1,\n \"visibility\": \"Public\",\n \"billingPeriodID\": null,\n \"valueFormulas\": [],\n \"componentRules\": [],\n \"usageData\": [],\n \"securityAttributes\": []\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{workspace}.spreesuite.com/billspree/tariffs/update-tariff")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"method\": \"Update\",\n \"action\": \"Update Plan\",\n \"apiVersion\": \"v2\",\n \"tariff\": {\n \"serviceCode\": \"DEMO-001\",\n \"code\": \"DemoPlan\",\n \"name\": \"Demo Plan Updated\",\n \"uniqueLabel\": \"DemoPlan\",\n \"description\": \"Updated description\",\n \"parentTariffCode\": null,\n \"planType\": \"BASE_PLAN\",\n \"custom\": 1,\n \"visibility\": \"Public\",\n \"billingPeriodID\": null,\n \"valueFormulas\": [],\n \"componentRules\": [],\n \"usageData\": [],\n \"securityAttributes\": []\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"statusCode": 200,
"message": "Request Succeeded.",
"error": null,
"data": {}
}Authorizations
Auth token returned from the login endpoint. Send as: Authorization: <token> (no Bearer prefix)
Body
application/json
Was this page helpful?
⌘I
