Reten Docs
Rutas

Asignar/Quitar Operador

Asignar o quitar un operador de una ruta.

POST /api/routes/:id/operators

Asigna un operador a una ruta con un rol opcional. La asignación es idempotente: si el vínculo existe pero está inactivo, se reactiva.

Auth: Requerida — permiso MANAGE_ROUTES

Parámetros de Ruta

ParámetroTipoDescripción
idUUIDID de la ruta

Cuerpo de la Solicitud

CampoTipoRequeridoDescripción
operator_idUUIDOperador a asignar
rolestringNoLEAD o MEMBER

Ejemplo

curl -X POST https://api.reten.ai/api/routes/dd0e8400-e29b-41d4-a716-446655440000/operators \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "operator_id": "cc0e8400-e29b-41d4-a716-446655440000",
    "role": "LEAD"
  }'
const routeId = "dd0e8400-e29b-41d4-a716-446655440000";
const response = await fetch(`https://api.reten.ai/api/routes/${routeId}/operators`, {
  method: "POST",
  headers: {
    "Authorization": "Bearer <token>",
    "x-tenant-id": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    operator_id: "cc0e8400-e29b-41d4-a716-446655440000",
    role: "LEAD",
  }),
});
const link = await response.json();
import requests

route_id = "dd0e8400-e29b-41d4-a716-446655440000"
response = requests.post(
    f"https://api.reten.ai/api/routes/{route_id}/operators",
    headers={
        "Authorization": "Bearer <token>",
        "x-tenant-id": "<tenant-id>",
    },
    json={
        "operator_id": "cc0e8400-e29b-41d4-a716-446655440000",
        "role": "LEAD",
    },
)
link = response.json()

Respuesta 201 Created

{
  "routeId": "dd0e8400-e29b-41d4-a716-446655440000",
  "operator_id": "cc0e8400-e29b-41d4-a716-446655440000",
  "role": "LEAD",
  "isActive": true
}

DELETE /api/routes/:id/operators/:opId

Elimina un operador de una ruta. Esta es una eliminación permanente del registro de vínculo.

Parámetros de Ruta

ParámetroTipoDescripción
idUUIDID de la ruta
opIdUUIDID del operador

Ejemplo

curl -X DELETE https://api.reten.ai/api/routes/dd0e8400-e29b-41d4-a716-446655440000/operators/cc0e8400-e29b-41d4-a716-446655440000 \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>"
const routeId = "dd0e8400-e29b-41d4-a716-446655440000";
const operatorId = "cc0e8400-e29b-41d4-a716-446655440000";
const response = await fetch(`https://api.reten.ai/api/routes/${routeId}/operators/${operatorId}`, {
  method: "DELETE",
  headers: {
    "Authorization": "Bearer <token>",
    "x-tenant-id": "<tenant-id>",
  },
});
import requests

route_id = "dd0e8400-e29b-41d4-a716-446655440000"
operator_id = "cc0e8400-e29b-41d4-a716-446655440000"
response = requests.delete(
    f"https://api.reten.ai/api/routes/{route_id}/operators/{operator_id}",
    headers={
        "Authorization": "Bearer <token>",
        "x-tenant-id": "<tenant-id>",
    },
)

Respuesta 204 Sin Contenido