Cancel Sales Order
curl --request POST \
--url https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"cancellationReasonId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"cancellationComment": "<string>"
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel"
payload = {
"cancellationReasonId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"cancellationComment": "<string>"
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cancellationReasonId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
cancellationComment: '<string>'
})
};
fetch('https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel', 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.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel",
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([
'cancellationReasonId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'cancellationComment' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"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.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel"
payload := strings.NewReader("{\n \"cancellationReasonId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"cancellationComment\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
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.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cancellationReasonId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"cancellationComment\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cancellationReasonId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"cancellationComment\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"errorCode": "<string>",
"validationErrors": {},
"errors": {},
"errorMessage": "<string>",
"stacktrace": "<string>"
}Sales Order
Cancel Sales Order
Cancels a specific sales order.
POST
/
v2
/
sales-orders
/
{salesOrderId}
/
cancel
Cancel Sales Order
curl --request POST \
--url https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"cancellationReasonId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"cancellationComment": "<string>"
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel"
payload = {
"cancellationReasonId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"cancellationComment": "<string>"
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cancellationReasonId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
cancellationComment: '<string>'
})
};
fetch('https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel', 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.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel",
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([
'cancellationReasonId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'cancellationComment' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"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.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel"
payload := strings.NewReader("{\n \"cancellationReasonId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"cancellationComment\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant-id", "<x-tenant-id>")
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.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cancellationReasonId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"cancellationComment\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/sales-orders/{salesOrderId}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cancellationReasonId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"cancellationComment\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"errorCode": "<string>",
"validationErrors": {},
"errors": {},
"errorMessage": "<string>",
"stacktrace": "<string>"
}Authorizations
oauth2-authorization-codeoauth2-client-credentials
The access token received from the authorization server in the OAuth 2.0 flow.
FlowAuthorization Code
- Authorization URL
- https://auth.jtl-cloud.com/oauth2/auth
- Token URL
- https://auth.jtl-cloud.com/oauth2/token
Scopes1
salesorders.write
Grants permission to create and modify sales orders.
Headers
The Company-Id (int or uuid) of the company on whose behalf the request is executed.
The tenant ID for the target ERP instance.
Path Parameters
The ID of the sales order to cancel.
Example:
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Body
application/json
The details for the cancellation to be performed.
Response
Was this page helpful?