Simulate Margin
curl --request POST \
--url https://api.nozle.app/api/v1/margin/simulate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"plan_code": "<string>",
"new_price_cents": 123,
"cost_change_percent": 123
}
'import requests
url = "https://api.nozle.app/api/v1/margin/simulate"
payload = {
"plan_code": "<string>",
"new_price_cents": 123,
"cost_change_percent": 123
}
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({plan_code: '<string>', new_price_cents: 123, cost_change_percent: 123})
};
fetch('https://api.nozle.app/api/v1/margin/simulate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nozle.app/api/v1/margin/simulate"
payload := strings.NewReader("{\n \"plan_code\": \"<string>\",\n \"new_price_cents\": 123,\n \"cost_change_percent\": 123\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))
}require 'uri'
require 'net/http'
url = URI("https://api.nozle.app/api/v1/margin/simulate")
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 \"plan_code\": \"<string>\",\n \"new_price_cents\": 123,\n \"cost_change_percent\": 123\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nozle.app/api/v1/margin/simulate",
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([
'plan_code' => '<string>',
'new_price_cents' => 123,
'cost_change_percent' => 123
]),
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;
}HttpResponse<String> response = Unirest.post("https://api.nozle.app/api/v1/margin/simulate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"plan_code\": \"<string>\",\n \"new_price_cents\": 123,\n \"cost_change_percent\": 123\n}")
.asString();Margin Intelligence
Simulate Margin
POST
/
margin
/
simulate
Simulate Margin
curl --request POST \
--url https://api.nozle.app/api/v1/margin/simulate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"plan_code": "<string>",
"new_price_cents": 123,
"cost_change_percent": 123
}
'import requests
url = "https://api.nozle.app/api/v1/margin/simulate"
payload = {
"plan_code": "<string>",
"new_price_cents": 123,
"cost_change_percent": 123
}
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({plan_code: '<string>', new_price_cents: 123, cost_change_percent: 123})
};
fetch('https://api.nozle.app/api/v1/margin/simulate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.nozle.app/api/v1/margin/simulate"
payload := strings.NewReader("{\n \"plan_code\": \"<string>\",\n \"new_price_cents\": 123,\n \"cost_change_percent\": 123\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))
}require 'uri'
require 'net/http'
url = URI("https://api.nozle.app/api/v1/margin/simulate")
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 \"plan_code\": \"<string>\",\n \"new_price_cents\": 123,\n \"cost_change_percent\": 123\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.nozle.app/api/v1/margin/simulate",
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([
'plan_code' => '<string>',
'new_price_cents' => 123,
'cost_change_percent' => 123
]),
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;
}HttpResponse<String> response = Unirest.post("https://api.nozle.app/api/v1/margin/simulate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"plan_code\": \"<string>\",\n \"new_price_cents\": 123,\n \"cost_change_percent\": 123\n}")
.asString();Simulate margin impact of pricing or cost changes before applying them.
Auth:
sk_ only
All margin endpoints require a secret key (
sk_). These endpoints expose cost data that should never be visible to your end users.string
required
Plan code to simulate changes for
number
New price in cents to simulate
number
Percentage change in cost to simulate