Remove a location from a cluster
curl --request DELETE \
--url https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.delete("https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}")
.header("Authorization", "Bearer <token>")
.asString();{
"clusterId": "clst_20260612_a1b2c3d4",
"tenantUuid": "<string>",
"name": "North Campus",
"locationIds": [
"3632155",
"3632156"
],
"limitKw": 200,
"status": "ACTIVE",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
Clústeres
Quitar una ubicación de un clúster
Elimina una ubicación de la lista locationIds de un clúster. Es una
alternativa atómica a PATCH /clusters/{clusterId} con un array
locationIds más corto, de modo que las eliminaciones concurrentes no
puedan competir entre sí.
Un clúster debe tener siempre al menos una ubicación miembro. Eliminar
la última falla con 400 CLUSTER_EMPTY. En ese caso, elimina el
clúster en su lugar con DELETE /clusters/{clusterId}.
DELETE
/
clusters
/
{clusterId}
/
locations
/
{locationId}
Remove a location from a cluster
curl --request DELETE \
--url https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.delete("https://api.ridergy.com/v1/clusters/{clusterId}/locations/{locationId}")
.header("Authorization", "Bearer <token>")
.asString();{
"clusterId": "clst_20260612_a1b2c3d4",
"tenantUuid": "<string>",
"name": "North Campus",
"locationIds": [
"3632155",
"3632156"
],
"limitKw": 200,
"status": "ACTIVE",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
Autorizaciones
Token de acceso OAuth 2.0 obtenido mediante POST /oauth/token con grant client_credentials.
El tenant y los scopes están integrados en el JWT. No se necesitan cabeceras adicionales.
Parámetros de ruta
El identificador único del clúster, devuelto al crearlo.
El identificador único de la ubicación.
Respuesta
Ubicación eliminada, clúster actualizado devuelto

