Volver a Wiki

Referencia de la API de la plataforma

Completa referencia REST API para CenterOS. 39 acciones en 9 categorías, autenticación JWT y PAT, ejemplos de curl, códigos de error.

En esta página

  • [URL de base]
  • [Authenticación]
  • [Chequeo de salud]
  • [Capa de acción]
  • [ Datos de juego (6) ]
  • [Capacitación (6)]
  • Modelos (4)
  • [Flotía (6)]
  • Anotamientos (4)
  • [Organizaciones (3)]
  • [Estados (2)]
  • [Códigos de error]
  • [Copia de referencia]
  • ¿ Qué es eso ?

Acceso de agentes y desarrolladores

  • [Visión general del acceso de los agentes]
  • [Referencia de API de la plataforma]
  • [Guía de los CLI]
  • [Integración del MCP]
  • ¿ Qué es eso ?

También ver

  • [← Todos los artículos de Wiki]
  • [SDK Quickstart] T99)
  • Plataforma →

REST + JSON de referencia de la API

Completa referencia REST API para CenterOS. 39 acciones en 9 categorías, todas descubiertas a través de un solo punto final.

Actualizado abril 2026 39 acciones JWT + PAT auth

URL de base

Todos los puntos finales de la API son relativos al backend de producción:

https://fearless-backend-533466225971.us-central1.run.app

Para el desarrollo local, el servidor de desarrollo Vite proxies T0 a T1 automáticamente. También puede usar la variable de entorno T2 para anotar la URL base en el servidor CLI y MCP.

Autenticación

La API admite dos métodos de autenticación. Todos los puntos finales autenticados requieren un token T3 en el encabezado T4.

JWT (sección de señal)

Obtendido mediante inicio de sesión con nombre de usuario y contraseña.

concha Copia

# Ingrese y obtenga un JWT $ curl -X POST T106 \ -H "Tipo de contenido: aplicación/json" \ -d '{"nombre de usuario": "jerry", "contraseña": "***"}"

# Respuesta incluye: {"acceso_token": "eyJ...", "usuario": {...}}

PAT (token de acceso personal)

Tokens de larga duración para las tuberías de CI/CD, scripts y flujos de trabajo de agentes. Tokens PAT comienzan con el prefijo T5. Crea uno a través del CLI o el panel de instrumentos de la plataforma.

concha Copia

# Crea un PAT a través de CLI $ centeros pat crear --nombre "mi-agente" --escopes "*" Se creó el PAT: frl_abc123...

# Utilice el PAT en llamadas de API $ curl T107 \ -H "Authorization: portador de abc123"...

** Tokens escalados:** Los PAT pueden ser escalados a permisos específicos (por ejemplo T6). Utilice T7 para el acceso completo. La API filtra las acciones visibles basadas en los escalones de su token.

Control de salud

concha Copia

$ curl T108

"Estado": "Ok", "versión": "...", "base de datos": "ok"}

No se requiere autenticación. devuelve T8 cuando el backend está sano.

Capas de acción

La capa de acción es la superficie unificada de la API compartida por la plataforma UI, CLI, servidor MCP y agentes de IA. Todas las 39 acciones se pueden descubrir a través de dos puntos finales:

Method Endpoint Description
GET /api/actions List all available actions with input schemas. Optionally filter by ?category=datasets.
POST /api/actions/{name} Execute an action by name. Body: {"params": {...}}. Requires Bearer token.

Descubra las acciones

concha Copia

# Lista de todas las acciones (públicas no se necesita ningún autor para el descubrimiento) $ curl T109

Filtro por categoría $ curl "T110

Ejecutar una acción

concha Copia

$ curl -X POST T111 \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"limit": 10}}'

"Bien": verdad, "datos":

Datos de los conjuntos

Gestionar conjuntos de datos robóticos lista, obtener detalles, subir y eliminar.

Action Description Required Params Scope
list_datasets List datasets with optional search, file type, and pagination filters. None datasets:read
get_dataset Get detailed information about a single dataset. dataset_id datasets:read
delete_dataset Delete a dataset and its associated file from storage. dataset_id datasets:write
upload_dataset Create a dataset record (metadata). For file upload, use get_upload_signed_url. name datasets:write
get_upload_signed_url Generate a GCS signed URL for direct-to-cloud dataset upload. filename, file_size datasets:write
confirm_upload Confirm that a signed-URL upload completed. Marks the dataset as ready. dataset_id datasets:write

concha Copia

# Lista de conjuntos de datos con filtro de búsqueda $ curl -X POST ... /api/acciones/lista_datasets \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"search": "grasp", "file_type": "hdf5", "limit": 20}}"

# Flujo de carga: obtener la URL firmada, cargar el archivo, confirmar $ curl -X POST ... /api/acciones/ get_upload_signed_url \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"nombre de archivo": "episodo_001.hdf5", "archivo_tamaño": 52428800}}"

Formación

Crear y gestionar trabajos de formación y ajuste de la calidad.

Action Description Required Params Scope
list_training_jobs List training jobs with optional status and model type filters. None training:read
create_training_job Create a new training or fine-tuning job from one or more datasets. dataset_ids training:write
get_training_status Get the current status and details of a training job. job_id training:read
launch_training Launch a pending training job (transition to running). job_id training:write
get_finetune_catalog List all supported fine-tuning base model providers and models. None training:read
estimate_cost Estimate the cost of a training run based on datasets and infra. None training:read

concha Copia

Crear un trabajo de formación $ curl -X POST .../api/acciones/crear_entrenamiento_trabajo_ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"nombre": "dp-v1", "modelo_tipo": "difusión_política", "dataset_ids": [1, 2], "modo": "finetune"}}"

Lanzar un trabajo pendiente

$ curl -X POST .../api/acciones/lanzamiento_entrenamiento \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d "{"params": {"trabajo_id": "abc123def456"}}"

Modelos

Registro de modelos con gestión del ciclo de vida.

Action Description Required Params Scope
list_models List model versions with optional status and name filters. None models:read
register_model Register a new model version in the model registry. name models:write
promote_model Promote a model through lifecycle stages: draft → validated → deployed → retired. model_id, target_status models:write
get_model_lineage Get full lineage: training job, datasets, deployments, evaluations. model_id models:read

concha Copia

Registra un modelo de una carrera de entrenamiento $ curl -X POST .../api/acciones/registro_modelo \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"nombre": "dp-v1", "artifact_uri": "gs://bucket/model.pt", "training_job_id": "abc123"}}"

Promover a validado

$ curl -X POST ... /api/acciones/promoción_modelo \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"modelo_id": 5, "objetivo_estatus": "validado"}}"

Frota

Gestión, despliegue y comandos de seguridad de la flota de robots.

Action Description Required Params Scope
get_fleet_summary High-level fleet summary: counts by status, alerts, tickets. None fleet:read
list_robots List robots with optional status, site, and search filters. None fleet:read
get_robot_state Detailed state of a single robot: heartbeat, commands, alerts. robot_id fleet:read
register_robot Register a new robot in the fleet. robot_id fleet:write
deploy_model Deploy a validated model version to a specific robot. robot_id, model_version_id fleet:write models:read
emergency_stop Send an emergency stop (e-stop) command to a robot. Highest priority. robot_id fleet:write

concha Copia

Registra un robot $ curl -X POST ... /api/acciones/registro_robot \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"robot_id": "arm-01", "nombre": "Lab Arm 1", "robot_type": "arm"}}"

Despliegue un modelo a un robot

$ curl -X POST .../api/acciones/implementación_modelo \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"robot_id": "arm-01", "modelo_versión_id": 5, "estrategia": "immediata"}}"

Parada de emergencia

$ curl -X POST ... /api/acciones/emergencia_stop \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"robot_id": "arm-01", "razón": "seguridad_check"}}"

Anotadas

Gestión de tareas de anotación de datos y métricas de calidad.

Action Description Required Params Scope
list_annotation_tasks List annotation tasks with optional status, assignee, and search filters. None annotations:read
create_annotation_task Create a new annotation task, optionally linked to a dataset. None (title recommended) annotations:write
get_annotation_metrics Aggregated quality metrics: pass rate, review counts, status distribution. None annotations:read
submit_task Submit an annotation task for review (transition to in_review). task_id annotations:write

concha Copia

# Crear una tarea de anotación $ curl -X POST ... /api/acciones/crear_anotation_task \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {"título": "Episódios de captura de etiquetas", "dataset_id": 42, "datas_type": "vídeo", "prioridad": "alta"}}"

Organizaciones

Organizaciones y gestión de la membresía en el equipo.

Action Description Required Params Scope
list_orgs List organizations. Superadmins see all; others see only their org. None orgs:read
list_org_members List members of an organization with their roles. None (org_id optional) orgs:read
invite_member Invite a user to an organization. Creates the user if they do not exist. org_id, email orgs:write

Las estadísticas

Estadísticas de toda la plataforma y controles de salud del sistema.

Action Description Required Params Scope
get_platform_stats Aggregated platform statistics: dataset counts, training jobs, robots, annotations. None stats:read
get_system_health Check the health of backend systems: database, storage, overall status. None stats:read

concha Copia

# Obtenga estadísticas de la plataforma $ curl -X POST ... /api/acciones/ get_platform_stats \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {}}'

Verifique la salud del sistema $ curl -X POST .../api/acciones/ get_system_health \ -H "Authorization: portador de... " -H "Tipo de contenido: aplicación/json" \ -d '{"params": {}}'

Códigos de error

Todos los errores de acción devuelven un cuerpo JSON con T66 y el código de estado HTTP apropiado.

Code Meaning Common Cause
400 Bad Request Missing required parameter or invalid value.
401 Unauthorized Missing or invalid Bearer token.
403 Forbidden Token scopes do not include the required permission, or org isolation violation.
404 Not Found Unknown action name, or resource (dataset, model, robot) does not exist.
409 Conflict Duplicate resource (e.g. robot already registered, user already a member).
413 Carga Útil Too Large File exceeds the maximum upload size.
500 Internal Server Error Unhandled exception in the action handler.

Términos de referencia

Los escopes controlan a qué acciones puede acceder un token.

Scope Actions Granted
datasets:read list_datasets, get_dataset
datasets:write delete_dataset, upload_dataset, get_upload_signed_url, confirm_upload
training:read list_training_jobs, get_training_status, get_finetune_catalog, estimate_cost
training:write create_training_job, launch_training
models:read list_models, get_model_lineage
models:write register_model, promote_model
fleet:read get_fleet_summary, list_robots, get_robot_state
fleet:write register_robot, deploy_model, emergency_stop
annotations:read list_annotation_tasks, get_annotation_metrics
annotations:write create_annotation_task, submit_task
orgs:read list_orgs, list_org_members
orgs:write invite_member
stats:read get_platform_stats, get_system_health
* All actions (wildcard)

Mapeo de la función en el ámbito

Role Scopes
admin All scopes
operator datasets:*, training:*, models:read, fleet:*, annotations:*, stats:read
annotator datasets:read, annotations:*, stats:read
viewer All :read scopes

Los siguientes pasos

Guía de CLI Utilice el CLI de CenterOS para flujos de trabajo basados en terminales → MCP Integration Connect Claude, Cursor o Windsurf a la plataforma → Agencia de acceso de la plataforma Tres formas de acceder a la plataforma de manera programática → Open Platform Administrar conjuntos de datos, capacitación y flota en el navegador →