Set published-network priority order
curl --request PUT \
--url https://api.spirii.com/emsp/v1/tenant/published-network-priority-order \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"network_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://api.spirii.com/emsp/v1/tenant/published-network-priority-order"
payload = { "network_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"] }
headers = {
"Idempotency-Key": "<idempotency-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Idempotency-Key': '<idempotency-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({network_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']})
};
fetch('https://api.spirii.com/emsp/v1/tenant/published-network-priority-order', 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.spirii.com/emsp/v1/tenant/published-network-priority-order",
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([
'network_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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.spirii.com/emsp/v1/tenant/published-network-priority-order"
payload := strings.NewReader("{\n \"network_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-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.spirii.com/emsp/v1/tenant/published-network-priority-order")
.header("Idempotency-Key", "<idempotency-key>")
.header("Content-Type", "application/json")
.body("{\n \"network_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spirii.com/emsp/v1/tenant/published-network-priority-order")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"network_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"network_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"type": "about:blank",
"title": "Tenant not found",
"status": 404,
"detail": "No tenant exists with id 0192...c3.",
"instance": "/v1/tenant/profile",
"code": "tenant_not_found",
"trace_id": "abc123def456",
"timestamp": "2026-06-10T09:30:00.000Z",
"errors": [
{
"field": "workspace_id",
"code": "is_uuid",
"message": "workspace_id must be a UUID"
}
]
}{
"type": "about:blank",
"title": "Tenant not found",
"status": 404,
"detail": "No tenant exists with id 0192...c3.",
"instance": "/v1/tenant/profile",
"code": "tenant_not_found",
"trace_id": "abc123def456",
"timestamp": "2026-06-10T09:30:00.000Z",
"errors": [
{
"field": "workspace_id",
"code": "is_uuid",
"message": "workspace_id must be a UUID"
}
]
}Sets your organization’s preferred ranking of other providers’ published charger networks, replacing the whole list in one go. Spirii uses this ranking only when a charger can be reached through more than one network. Each network you list has to be one your organization can actually access. Send an empty list to clear your preference and let Spirii choose the order.
PUT
/
emsp
/
v1
/
tenant
/
published-network-priority-order
Set published-network priority order
curl --request PUT \
--url https://api.spirii.com/emsp/v1/tenant/published-network-priority-order \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"network_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://api.spirii.com/emsp/v1/tenant/published-network-priority-order"
payload = { "network_ids": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"] }
headers = {
"Idempotency-Key": "<idempotency-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Idempotency-Key': '<idempotency-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({network_ids: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']})
};
fetch('https://api.spirii.com/emsp/v1/tenant/published-network-priority-order', 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.spirii.com/emsp/v1/tenant/published-network-priority-order",
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([
'network_ids' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-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.spirii.com/emsp/v1/tenant/published-network-priority-order"
payload := strings.NewReader("{\n \"network_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-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.spirii.com/emsp/v1/tenant/published-network-priority-order")
.header("Idempotency-Key", "<idempotency-key>")
.header("Content-Type", "application/json")
.body("{\n \"network_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spirii.com/emsp/v1/tenant/published-network-priority-order")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"network_ids\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"network_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}{
"type": "about:blank",
"title": "Tenant not found",
"status": 404,
"detail": "No tenant exists with id 0192...c3.",
"instance": "/v1/tenant/profile",
"code": "tenant_not_found",
"trace_id": "abc123def456",
"timestamp": "2026-06-10T09:30:00.000Z",
"errors": [
{
"field": "workspace_id",
"code": "is_uuid",
"message": "workspace_id must be a UUID"
}
]
}{
"type": "about:blank",
"title": "Tenant not found",
"status": 404,
"detail": "No tenant exists with id 0192...c3.",
"instance": "/v1/tenant/profile",
"code": "tenant_not_found",
"trace_id": "abc123def456",
"timestamp": "2026-06-10T09:30:00.000Z",
"errors": [
{
"field": "workspace_id",
"code": "is_uuid",
"message": "workspace_id must be a UUID"
}
]
}Headers
Client-generated unique key per operation intent (UUID). Same key + identical body replays the original response; same key + different body returns 409.
Body
application/json
Ordered list of Published Base Network IDs in tiebreak preference
Response
Ordered list of Published Base Network IDs in tiebreak preference
Was this page helpful?