Create or replace a location priority limit profile
curl --request POST \
--url https://api.ridergy.com/v1/locations/{locationId}/schedules \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"startTime": "2026-06-12T08:00:00Z",
"endTime": "2026-06-12T18:00:00Z",
"limitKw": 50,
"priority": 5
}
'import requests
url = "https://api.ridergy.com/v1/locations/{locationId}/schedules"
payload = {
"startTime": "2026-06-12T08:00:00Z",
"endTime": "2026-06-12T18:00:00Z",
"limitKw": 50,
"priority": 5
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startTime: '2026-06-12T08:00:00Z',
endTime: '2026-06-12T18:00:00Z',
limitKw: 50,
priority: 5
})
};
fetch('https://api.ridergy.com/v1/locations/{locationId}/schedules', 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.ridergy.com/v1/locations/{locationId}/schedules",
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([
'startTime' => '2026-06-12T08:00:00Z',
'endTime' => '2026-06-12T18:00:00Z',
'limitKw' => 50,
'priority' => 5
]),
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.ridergy.com/v1/locations/{locationId}/schedules"
payload := strings.NewReader("{\n \"startTime\": \"2026-06-12T08:00:00Z\",\n \"endTime\": \"2026-06-12T18:00:00Z\",\n \"limitKw\": 50,\n \"priority\": 5\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.ridergy.com/v1/locations/{locationId}/schedules")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"startTime\": \"2026-06-12T08:00:00Z\",\n \"endTime\": \"2026-06-12T18:00:00Z\",\n \"limitKw\": 50,\n \"priority\": 5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ridergy.com/v1/locations/{locationId}/schedules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"startTime\": \"2026-06-12T08:00:00Z\",\n \"endTime\": \"2026-06-12T18:00:00Z\",\n \"limitKw\": 50,\n \"priority\": 5\n}"
response = http.request(request)
puts response.read_body{
"locationId": "3632155",
"priority": 5,
"limitKw": 50,
"startTime": "2023-11-07T05:31:56Z",
"endTime": "2023-11-07T05:31:56Z",
"status": "SCHEDULED",
"permanentLimitKw": 100,
"effectiveLimitKw": 50
}Localizações
Criar ou substituir um perfil de limite prioritário de localização
Cria um perfil de limite de potência com janela de tempo para um local na prioridade informada. Se já existir um perfil nessa prioridade para este local, ele será substituído. O limite efetivo é recalculado imediatamente e aplicado ao local.
POST
/
locations
/
{locationId}
/
schedules
Create or replace a location priority limit profile
curl --request POST \
--url https://api.ridergy.com/v1/locations/{locationId}/schedules \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"startTime": "2026-06-12T08:00:00Z",
"endTime": "2026-06-12T18:00:00Z",
"limitKw": 50,
"priority": 5
}
'import requests
url = "https://api.ridergy.com/v1/locations/{locationId}/schedules"
payload = {
"startTime": "2026-06-12T08:00:00Z",
"endTime": "2026-06-12T18:00:00Z",
"limitKw": 50,
"priority": 5
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startTime: '2026-06-12T08:00:00Z',
endTime: '2026-06-12T18:00:00Z',
limitKw: 50,
priority: 5
})
};
fetch('https://api.ridergy.com/v1/locations/{locationId}/schedules', 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.ridergy.com/v1/locations/{locationId}/schedules",
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([
'startTime' => '2026-06-12T08:00:00Z',
'endTime' => '2026-06-12T18:00:00Z',
'limitKw' => 50,
'priority' => 5
]),
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.ridergy.com/v1/locations/{locationId}/schedules"
payload := strings.NewReader("{\n \"startTime\": \"2026-06-12T08:00:00Z\",\n \"endTime\": \"2026-06-12T18:00:00Z\",\n \"limitKw\": 50,\n \"priority\": 5\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.ridergy.com/v1/locations/{locationId}/schedules")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"startTime\": \"2026-06-12T08:00:00Z\",\n \"endTime\": \"2026-06-12T18:00:00Z\",\n \"limitKw\": 50,\n \"priority\": 5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ridergy.com/v1/locations/{locationId}/schedules")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"startTime\": \"2026-06-12T08:00:00Z\",\n \"endTime\": \"2026-06-12T18:00:00Z\",\n \"limitKw\": 50,\n \"priority\": 5\n}"
response = http.request(request)
puts response.read_body{
"locationId": "3632155",
"priority": 5,
"limitKw": 50,
"startTime": "2023-11-07T05:31:56Z",
"endTime": "2023-11-07T05:31:56Z",
"status": "SCHEDULED",
"permanentLimitKw": 100,
"effectiveLimitKw": 50
}Autorizações
Chave de API por tenant. O tenant é derivado da chave — nunca da requisição.
Parâmetros de caminho
Corpo
application/json
Timestamp ISO-8601 UTC. Obrigatório.
Exemplo:
"2026-06-12T08:00:00Z"
Timestamp ISO-8601 UTC. Deve ser posterior a startTime e estar no futuro. Obrigatório.
Exemplo:
"2026-06-12T18:00:00Z"
Limite de potência em kW. Deve ser maior que 0. Obrigatório.
Exemplo:
50
Nível de prioridade no estilo da pilha OCPP, de 0 (mais baixa) a 10 (mais alta). O envio de um perfil em uma prioridade que já existe para este alvo o substitui.
Intervalo necessário:
0 <= x <= 10Exemplo:
5
Resposta
Perfil criado/substituído

