curl --request POST \
--url https://api.arcuserp.com/v1/orders/{id}/adjustments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Summer Promo 10%",
"effect_type": "discount",
"discount_type": "percentage",
"value": 10,
"notes": "Applied via API integration - summer campaign"
}
'import requests
url = "https://api.arcuserp.com/v1/orders/{id}/adjustments"
payload = {
"name": "Summer Promo 10%",
"effect_type": "discount",
"discount_type": "percentage",
"value": 10,
"notes": "Applied via API integration - summer campaign"
}
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({
name: 'Summer Promo 10%',
effect_type: 'discount',
discount_type: 'percentage',
value: 10,
notes: 'Applied via API integration - summer campaign'
})
};
fetch('https://api.arcuserp.com/v1/orders/{id}/adjustments', 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.arcuserp.com/v1/orders/{id}/adjustments",
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([
'name' => 'Summer Promo 10%',
'effect_type' => 'discount',
'discount_type' => 'percentage',
'value' => 10,
'notes' => 'Applied via API integration - summer campaign'
]),
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.arcuserp.com/v1/orders/{id}/adjustments"
payload := strings.NewReader("{\n \"name\": \"Summer Promo 10%\",\n \"effect_type\": \"discount\",\n \"discount_type\": \"percentage\",\n \"value\": 10,\n \"notes\": \"Applied via API integration - summer campaign\"\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.arcuserp.com/v1/orders/{id}/adjustments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Summer Promo 10%\",\n \"effect_type\": \"discount\",\n \"discount_type\": \"percentage\",\n \"value\": 10,\n \"notes\": \"Applied via API integration - summer campaign\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/orders/{id}/adjustments")
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 \"name\": \"Summer Promo 10%\",\n \"effect_type\": \"discount\",\n \"discount_type\": \"percentage\",\n \"value\": 10,\n \"notes\": \"Applied via API integration - summer campaign\"\n}"
response = http.request(request)
puts response.read_body{}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}Apply an order adjustment
Applies a discount or fee to an order’s total, either as a manual adjustment or by referencing an existing coupon, and recalculates the order immediately; use the apply-coupon operation to apply a coupon by code instead. Only allowed on a draft or open order; a terminal order returns 422.
curl --request POST \
--url https://api.arcuserp.com/v1/orders/{id}/adjustments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Summer Promo 10%",
"effect_type": "discount",
"discount_type": "percentage",
"value": 10,
"notes": "Applied via API integration - summer campaign"
}
'import requests
url = "https://api.arcuserp.com/v1/orders/{id}/adjustments"
payload = {
"name": "Summer Promo 10%",
"effect_type": "discount",
"discount_type": "percentage",
"value": 10,
"notes": "Applied via API integration - summer campaign"
}
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({
name: 'Summer Promo 10%',
effect_type: 'discount',
discount_type: 'percentage',
value: 10,
notes: 'Applied via API integration - summer campaign'
})
};
fetch('https://api.arcuserp.com/v1/orders/{id}/adjustments', 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.arcuserp.com/v1/orders/{id}/adjustments",
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([
'name' => 'Summer Promo 10%',
'effect_type' => 'discount',
'discount_type' => 'percentage',
'value' => 10,
'notes' => 'Applied via API integration - summer campaign'
]),
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.arcuserp.com/v1/orders/{id}/adjustments"
payload := strings.NewReader("{\n \"name\": \"Summer Promo 10%\",\n \"effect_type\": \"discount\",\n \"discount_type\": \"percentage\",\n \"value\": 10,\n \"notes\": \"Applied via API integration - summer campaign\"\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.arcuserp.com/v1/orders/{id}/adjustments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Summer Promo 10%\",\n \"effect_type\": \"discount\",\n \"discount_type\": \"percentage\",\n \"value\": 10,\n \"notes\": \"Applied via API integration - summer campaign\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arcuserp.com/v1/orders/{id}/adjustments")
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 \"name\": \"Summer Promo 10%\",\n \"effect_type\": \"discount\",\n \"discount_type\": \"percentage\",\n \"value\": 10,\n \"notes\": \"Applied via API integration - summer campaign\"\n}"
response = http.request(request)
puts response.read_body{}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}{
"error": "not_found",
"code": "not_found",
"type": "not_found",
"hint": "The requested order does not exist or does not belong to this entity.",
"param": "expand[0]",
"required": "accounts:read",
"request_id": "req_abc123"
}Authorizations
API key issued per entity via Settings > Developers > API Keys.
Each key carries scopes (e.g. orders:read, products:write).
Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.
Headers
Client-generated unique key for idempotent POST/PATCH/DELETE operations. Alias for the Idempotency parameter. Max 255 chars. On retry with the same key, the original response is returned without re-executing the operation. Keys expire after 24 hours.
255Path Parameters
UUID of the order to apply the adjustment to.
Body
Display label for the adjustment (e.g. "Summer Promo 10%", "Rush Fee").
Whether this adjustment reduces (discount) or increases (fee) the order total.
discount, fee How value is interpreted.
percentage, fixed_amount Numeric value. For percentage, 0--100. For fixed_amount, a dollar amount.
Optional. If provided, applies the named coupon instead of a manual adjustment.
Optional internal notes.
UUID of the user applying the adjustment. Defaults to API key owner if omitted.
Response
Adjustment applied and order totals recalculated.
The created adjustment row with updated order total.
Was this page helpful?

