curl --request PATCH \
--url https://api.jtl-cloud.com/erp/v2/categories/{categoryId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"parentId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"sortNumber": 123,
"name": "<string>",
"salesChannels": [
{
"salesChannelId": "<string>",
"includeCategoryImages": true
}
]
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/categories/{categoryId}"
payload = {
"parentId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"sortNumber": 123,
"name": "<string>",
"salesChannels": [
{
"salesChannelId": "<string>",
"includeCategoryImages": True
}
]
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"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>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
parentId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
sortNumber: 123,
name: '<string>',
salesChannels: [{salesChannelId: '<string>', includeCategoryImages: true}]
})
};
fetch('https://api.jtl-cloud.com/erp/v2/categories/{categoryId}', 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/categories/{categoryId}",
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([
'parentId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'sortNumber' => 123,
'name' => '<string>',
'salesChannels' => [
[
'salesChannelId' => '<string>',
'includeCategoryImages' => true
]
]
]),
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/categories/{categoryId}"
payload := strings.NewReader("{\n \"parentId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"sortNumber\": 123,\n \"name\": \"<string>\",\n \"salesChannels\": [\n {\n \"salesChannelId\": \"<string>\",\n \"includeCategoryImages\": true\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.jtl-cloud.com/erp/v2/categories/{categoryId}")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"parentId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"sortNumber\": 123,\n \"name\": \"<string>\",\n \"salesChannels\": [\n {\n \"salesChannelId\": \"<string>\",\n \"includeCategoryImages\": true\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/categories/{categoryId}")
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["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"parentId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"sortNumber\": 123,\n \"name\": \"<string>\",\n \"salesChannels\": [\n {\n \"salesChannelId\": \"<string>\",\n \"includeCategoryImages\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"categoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}Updates a category.
Updates a category.
curl --request PATCH \
--url https://api.jtl-cloud.com/erp/v2/categories/{categoryId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-tenant-id: <x-tenant-id>' \
--data '
{
"parentId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"sortNumber": 123,
"name": "<string>",
"salesChannels": [
{
"salesChannelId": "<string>",
"includeCategoryImages": true
}
]
}
'import requests
url = "https://api.jtl-cloud.com/erp/v2/categories/{categoryId}"
payload = {
"parentId": "b45f6432-2462-4c6f-b00f-1d9d01000000",
"sortNumber": 123,
"name": "<string>",
"salesChannels": [
{
"salesChannelId": "<string>",
"includeCategoryImages": True
}
]
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"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>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
parentId: 'b45f6432-2462-4c6f-b00f-1d9d01000000',
sortNumber: 123,
name: '<string>',
salesChannels: [{salesChannelId: '<string>', includeCategoryImages: true}]
})
};
fetch('https://api.jtl-cloud.com/erp/v2/categories/{categoryId}', 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/categories/{categoryId}",
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([
'parentId' => 'b45f6432-2462-4c6f-b00f-1d9d01000000',
'sortNumber' => 123,
'name' => '<string>',
'salesChannels' => [
[
'salesChannelId' => '<string>',
'includeCategoryImages' => true
]
]
]),
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/categories/{categoryId}"
payload := strings.NewReader("{\n \"parentId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"sortNumber\": 123,\n \"name\": \"<string>\",\n \"salesChannels\": [\n {\n \"salesChannelId\": \"<string>\",\n \"includeCategoryImages\": true\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.jtl-cloud.com/erp/v2/categories/{categoryId}")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"parentId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"sortNumber\": 123,\n \"name\": \"<string>\",\n \"salesChannels\": [\n {\n \"salesChannelId\": \"<string>\",\n \"includeCategoryImages\": true\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.jtl-cloud.com/erp/v2/categories/{categoryId}")
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["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"parentId\": \"b45f6432-2462-4c6f-b00f-1d9d01000000\",\n \"sortNumber\": 123,\n \"name\": \"<string>\",\n \"salesChannels\": [\n {\n \"salesChannelId\": \"<string>\",\n \"includeCategoryImages\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"categoryId": "b45f6432-2462-4c6f-b00f-1d9d01000000"
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}{
"type": "https://www.rfc-editor.org/rfc/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"instance": "/api/route",
"traceId": "0HMPNHL0JHL76:00000001",
"detail": "<string>",
"errors": [
{
"name": "Error or field name",
"reason": "Error reason",
"code": "<string>",
"severity": "<string>"
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
Optional, client-generated key for deduplicating repeated write requests. A repeated request with the same key returns the originally recorded result instead of executing the effect again.
1 - 255The tenant ID for the target ERP instance.
Path Parameters
The ID of the category to be updated.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Body
Request model for UpdateCategory command endpoint. Route parameters bind from the route, query parameters from the query string, everything else from the body.
The ID of the parent category of the category.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
The sort number of the category.
The name of the category.
A list of sales channels that should be activated after a successful update of the category. When omitted or null, the current sales channel assignment of the category stays unchanged. Sales channels that are active and included in this list will remain active. Sales channels that are inactive and not included in this list will remain inactive. Sales channels that are active but not included in this list will be deactivated. Sales channels that are inactive but included in this list will be activated. An empty list therefore deactivates every sales channel of the category. Sales channels that cannot be activated through this list, for example JTL-BI or SCX, keep their current state. A change of the activation status of a sales channel also applies to all subcategories of the category.
Show child attributes
Show child attributes
Response
The category was successfully updated.
Updates a category. - Response
The ID of the updated category.
"b45f6432-2462-4c6f-b00f-1d9d01000000"
Was this page helpful?