curl --request PUT \
--url https://api.emidat.com/v2/supplier-plants/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"supplier_company_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"external_id": "SUPPLIER-PLANT-DE-001",
"name": "Acme Materials — Munich",
"address": {
"country": "DE",
"city": "Munich",
"street": "Musterstraße",
"house_number": "12",
"postal_code": "80331",
"state": "Bavaria",
"latitude": 48.1351,
"longitude": 11.575
}
}
'import requests
url = "https://api.emidat.com/v2/supplier-plants/{id}"
payload = {
"supplier_company_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"external_id": "SUPPLIER-PLANT-DE-001",
"name": "Acme Materials — Munich",
"address": {
"country": "DE",
"city": "Munich",
"street": "Musterstraße",
"house_number": "12",
"postal_code": "80331",
"state": "Bavaria",
"latitude": 48.1351,
"longitude": 11.575
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
supplier_company_id: 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa',
external_id: 'SUPPLIER-PLANT-DE-001',
name: 'Acme Materials — Munich',
address: {
country: 'DE',
city: 'Munich',
street: 'Musterstraße',
house_number: '12',
postal_code: '80331',
state: 'Bavaria',
latitude: 48.1351,
longitude: 11.575
}
})
};
fetch('https://api.emidat.com/v2/supplier-plants/{id}', 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.emidat.com/v2/supplier-plants/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'supplier_company_id' => 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa',
'external_id' => 'SUPPLIER-PLANT-DE-001',
'name' => 'Acme Materials — Munich',
'address' => [
'country' => 'DE',
'city' => 'Munich',
'street' => 'Musterstraße',
'house_number' => '12',
'postal_code' => '80331',
'state' => 'Bavaria',
'latitude' => 48.1351,
'longitude' => 11.575
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.emidat.com/v2/supplier-plants/{id}"
payload := strings.NewReader("{\n \"supplier_company_id\": \"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n \"external_id\": \"SUPPLIER-PLANT-DE-001\",\n \"name\": \"Acme Materials — Munich\",\n \"address\": {\n \"country\": \"DE\",\n \"city\": \"Munich\",\n \"street\": \"Musterstraße\",\n \"house_number\": \"12\",\n \"postal_code\": \"80331\",\n \"state\": \"Bavaria\",\n \"latitude\": 48.1351,\n \"longitude\": 11.575\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<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.put("https://api.emidat.com/v2/supplier-plants/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"supplier_company_id\": \"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n \"external_id\": \"SUPPLIER-PLANT-DE-001\",\n \"name\": \"Acme Materials — Munich\",\n \"address\": {\n \"country\": \"DE\",\n \"city\": \"Munich\",\n \"street\": \"Musterstraße\",\n \"house_number\": \"12\",\n \"postal_code\": \"80331\",\n \"state\": \"Bavaria\",\n \"latitude\": 48.1351,\n \"longitude\": 11.575\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.emidat.com/v2/supplier-plants/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"supplier_company_id\": \"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n \"external_id\": \"SUPPLIER-PLANT-DE-001\",\n \"name\": \"Acme Materials — Munich\",\n \"address\": {\n \"country\": \"DE\",\n \"city\": \"Munich\",\n \"street\": \"Musterstraße\",\n \"house_number\": \"12\",\n \"postal_code\": \"80331\",\n \"state\": \"Bavaria\",\n \"latitude\": 48.1351,\n \"longitude\": 11.575\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>",
"supplier_company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Acme Materials — Munich",
"address": {
"country": "DE",
"city": "Munich",
"latitude": 48.1351,
"longitude": 11.575,
"street": "Musterstraße",
"house_number": "12",
"postal_code": "80331",
"state": "Bavaria",
"formatted_address": "Musterstraße 12, 80331 Munich, Germany"
},
"created_at": "2023-11-07T05:31:56Z"
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}Update supplier plant
Full replacement of editable fields. supplier_company_id is an optional
assertion of the plant’s immutable parent supplier company. It may be
omitted or echoed. external_id is replaced: re-sending this plant’s own
code succeeds unchanged, while a code held by another
active supplier plant returns 409. See External IDs.
address is replaced in full: any of its optional fields you leave out
is cleared, so echo the ones you want to keep.
curl --request PUT \
--url https://api.emidat.com/v2/supplier-plants/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"supplier_company_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"external_id": "SUPPLIER-PLANT-DE-001",
"name": "Acme Materials — Munich",
"address": {
"country": "DE",
"city": "Munich",
"street": "Musterstraße",
"house_number": "12",
"postal_code": "80331",
"state": "Bavaria",
"latitude": 48.1351,
"longitude": 11.575
}
}
'import requests
url = "https://api.emidat.com/v2/supplier-plants/{id}"
payload = {
"supplier_company_id": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa",
"external_id": "SUPPLIER-PLANT-DE-001",
"name": "Acme Materials — Munich",
"address": {
"country": "DE",
"city": "Munich",
"street": "Musterstraße",
"house_number": "12",
"postal_code": "80331",
"state": "Bavaria",
"latitude": 48.1351,
"longitude": 11.575
}
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
supplier_company_id: 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa',
external_id: 'SUPPLIER-PLANT-DE-001',
name: 'Acme Materials — Munich',
address: {
country: 'DE',
city: 'Munich',
street: 'Musterstraße',
house_number: '12',
postal_code: '80331',
state: 'Bavaria',
latitude: 48.1351,
longitude: 11.575
}
})
};
fetch('https://api.emidat.com/v2/supplier-plants/{id}', 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.emidat.com/v2/supplier-plants/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'supplier_company_id' => 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa',
'external_id' => 'SUPPLIER-PLANT-DE-001',
'name' => 'Acme Materials — Munich',
'address' => [
'country' => 'DE',
'city' => 'Munich',
'street' => 'Musterstraße',
'house_number' => '12',
'postal_code' => '80331',
'state' => 'Bavaria',
'latitude' => 48.1351,
'longitude' => 11.575
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.emidat.com/v2/supplier-plants/{id}"
payload := strings.NewReader("{\n \"supplier_company_id\": \"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n \"external_id\": \"SUPPLIER-PLANT-DE-001\",\n \"name\": \"Acme Materials — Munich\",\n \"address\": {\n \"country\": \"DE\",\n \"city\": \"Munich\",\n \"street\": \"Musterstraße\",\n \"house_number\": \"12\",\n \"postal_code\": \"80331\",\n \"state\": \"Bavaria\",\n \"latitude\": 48.1351,\n \"longitude\": 11.575\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-API-Key", "<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.put("https://api.emidat.com/v2/supplier-plants/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"supplier_company_id\": \"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n \"external_id\": \"SUPPLIER-PLANT-DE-001\",\n \"name\": \"Acme Materials — Munich\",\n \"address\": {\n \"country\": \"DE\",\n \"city\": \"Munich\",\n \"street\": \"Musterstraße\",\n \"house_number\": \"12\",\n \"postal_code\": \"80331\",\n \"state\": \"Bavaria\",\n \"latitude\": 48.1351,\n \"longitude\": 11.575\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.emidat.com/v2/supplier-plants/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"supplier_company_id\": \"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa\",\n \"external_id\": \"SUPPLIER-PLANT-DE-001\",\n \"name\": \"Acme Materials — Munich\",\n \"address\": {\n \"country\": \"DE\",\n \"city\": \"Munich\",\n \"street\": \"Musterstraße\",\n \"house_number\": \"12\",\n \"postal_code\": \"80331\",\n \"state\": \"Bavaria\",\n \"latitude\": 48.1351,\n \"longitude\": 11.575\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>",
"supplier_company_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Acme Materials — Munich",
"address": {
"country": "DE",
"city": "Munich",
"latitude": 48.1351,
"longitude": 11.575,
"street": "Musterstraße",
"house_number": "12",
"postal_code": "80331",
"state": "Bavaria",
"formatted_address": "Musterstraße 12, 80331 Munich, Germany"
},
"created_at": "2023-11-07T05:31:56Z"
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}{
"msg": "supplier product requires a supplier plant",
"err_code": "err_supplier_product_missing_supplier_plant",
"entitlement_limit": {
"dimension": "users",
"usage": 123,
"limit": 123
}
}Authorizations
Per-manufacturer API key in the X-API-Key header, format
emidat-{key_id}-{secret} where key_id is a random public handle.
Issued by an owner in the Emidat
dashboard; carries its own permission scopes, optional plant
restrictions, and optional expiry. A revoked, expired, or unknown key
returns 401. See the Authentication guide for details.
Path Parameters
UUID of the supplier plant to update.
Body
Full replacement of editable fields. Every editable field is required. The immutable parent may be omitted or echoed from the current resource.
Your own code for this supplier plant. Overwrites the stored code; pass
null to clear it. Must stay unique among your active supplier plants —
a code held by another returns 409 (see External IDs).
"SUPPLIER-PLANT-DE-001"
Name of the supplier plant. Unique among that supplier company's
active plants, compared ignoring case and surrounding whitespace —
a name already held returns 409 (err_supplier_plant_name_exists).
Two different supplier companies may each have a plant of the same
name.
"Acme Materials — Munich"
A postal address to store. Only country is required; every other field
is optional and stored as null when omitted. Do not send a country
beside this object — this is where it belongs.
Show child attributes
Show child attributes
Optional assertion of the resource ID. It must match the path id.
Optional assertion of the current parent supplier company. A different
value returns 422.
Response
Updated supplier plant.
Use this UUID as supplier_plant_id when creating supplier products.
Your own code for this supplier plant. null when none is set.
UUID of the parent supplier company.
"Acme Materials — Munich"
A postal address. country is the only field always present; the rest
are null when they were never captured. This object holds the country
— the resources carrying an address do not repeat it alongside.
Show child attributes
Show child attributes