Zurück zu Wiki

Referenz der Plattform-API

Vollständige REST API-Verweis für CenterOS. 39 Aktionen in 9 Kategorien, JWT und PAT-Authentifizierung, Curl-Beispiele, Fehlercodes.

Auf dieser Seite

  • Ich bin nicht hier .

Agent & Dev-Zugriff

  • [Übersicht über den Zugang zu Agenten]
  • [Plattform API Referenz]
  • [CLI-Leitfaden]
  • [MCP-Integration]
  • Ich bin nicht hier .

Siehe auch

API Referenz REST + JSON

Vollständige REST API-Verweis für CenterOS. 39 Aktionen in 9 Kategorien, alle über einen einzigen Endpunkt entdeckt.

Aktualisiert Apr 2026 39 Aktionen JWT + PAT auth

Basis-URL

Alle API-Endpunkte sind relativ zum Produktionsbackend:

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

Für die lokale Entwicklung wird der Vite dev-Server automatisch proxies T0 zu T1. Sie können auch die Umgebungsvariable T2 verwenden, um die Basis-URL im CLI- und MCP-Server zu überschreiten.

Authentifizierung

Die API unterstützt zwei Authentifizierungsmethoden. Alle authentifizierten Endpunkte benötigen ein T3-Token im T4-Header.

JWT (Session Token)

Erhältlich durch Anmelden mit Benutzernamen und Passwort. Kurzlebig, geeignet für interaktive Sitzungen.

Schell Kopieren

# Login und holen Sie sich eine JWT $ curl -X POST T106 \ -H "Inhaltsart: Anwendung/Json" \ -d '{"Benutzername": "jerry", "Passwort": "***"}"

# Antwort beinhaltet: {"Zugriff_Token": "eyJ...", "Benutzer": {...}}

PAT (Personal Access Token)

Langlebige Token für CI/CD-Pipelines, Skripte und Agent-Workflows. PAT-Token beginnen mit dem Präfix T5. Erstellen Sie eines über das CLI oder das Plattform-Dashboard.

Schell Kopieren

# Erstellen Sie eine PAT über CLI $ Centeros Pat erschaffen --Name "Mein-Agent" --Scopes "*"

  • PAT wurde erstellt: frl_abc123...

# Nutzen Sie den PAT bei API-Anrufen $ curl T107 \ -H "Berechtigung: Träger frl_abc123"...

Scoped Tokens: PATs können auf bestimmte Berechtigungen (z.B. T6) eingeschaltet werden.

Gesundheitsüberprüfung

Schell Kopieren

$Kürzel T108

"Vorlage": "Ok", "Version": "...", "Datenbank": "Ok"}

Keine Authentifizierung erforderlich. Gibt T8 zurück, wenn das Backend gesund ist.

Aktionsschicht

Die Action Layer ist die einheitliche API-Oberfläche, die von der Plattform UI, CLI, MCP-Server und AI-Agenten geteilt wird. Alle 39 Aktionen können über zwei Endpunkte entdeckt werden:

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.

Entdecken Sie Aktionen

Schell Kopieren

# Liste aller Aktionen (öffentlich keine Auth für die Entdeckung erforderlich) $Kürzel T109

Filter nach Kategorie "T110"

Eine Aktion ausführen

Schell Kopieren

$ curl -X POST T111 \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"params": {"limit": 10}}'

"Gut" ist wahr, "Daten":

Datensätze

Verwalten Sie Datenmengen für Robotik Liste, erhalten Sie Details, hochladen und löschen.

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

Schell Kopieren

# Liste der Datensätze mit Suchfilter $ curl -X POST .../api/aktionen/liste_datasets \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"params": {"suche": "grasp", "datei_type": "hdf5", "limit": 20}}"

# Upload-Flow: Sie erhalten die unterschriebenen URL, hochladen Sie die Datei, bestätigen $ curl -X POST .../api/actions/get_upload_signed_url \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"Params": {"Dateinamen": "Auftritt_001.hdf5", "Datei_Größe": 52428800}}"

Ausbildung

Schaffung und Verwaltung von Arbeitsplätzen für Ausbildung und Ausarbeitung.

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

Schell Kopieren

# Schaffen Sie einen Ausbildungsplatz -X POST .../api/aktionen/schöpfen_training_job \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"params": {"name": "dp-v1", "modell_type": "diffusion_policy", "dataset_ids": [1, 2], "modus": "finetune"}}"

Ein Auslauf auf den Job -X POST .../api/Aktionen/Location_Training \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d "{"Params": {"job_id": "abc123def456"}}"

Modelle

Modellregister mit Lebenszyklusmanagement.

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

Schell Kopieren

# Registrieren Sie ein Modell aus einem Training $ curl -X POST .../api/aktionen/register_model \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"Params": {"Name": "dp-v1", "Artifact_uri": "gs://bucket/model.pt", "Training_job_id": "abc123"}}"

# Befördern Sie zu validiert -X POST .../api/aktionen/promote_model \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"Params": {"Modell_id": 5, "Ziel_Status": "Gestätigte"}}"

Flotte

Roboterflottenmanagement, Einsatz und Sicherheitsbefehle.

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

Schell Kopieren

  • Ich bin ein Roboter . -X POST ... /api/Aktionen/Register_robot \
  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"params": {"robot_id": "arm-01", "name": "Laborarm 1", "robot_type": "arm"}}"

# Ein Modell für einen Roboter einsetzen -X POST .../api/aktionen/entwicklung_modell \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"Params": {"Robot_id": "arm-01", "Modell_Version_id": 5, "Strategie": "Unmittelbar"}}"

  • Notfall-Halt -X POST ... /api/Aktionen/Notfall_stop \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"Params": {"Roboter_id": "arm-01", "Grund": "Sicherheit_check"}}"

Anmerkungen

Datenanmerkungen-Task-Management und Qualitätsmetriken.

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

Schell Kopieren

# Erstellen Sie eine Anmerkungsaufgabe $ curl -X POST .../api/actions/create_annotation_task \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"params": {"Titel": "Episoden der Etikettenverarbeitung", "Datenbestand_id": 42, "Daten_type": "Video", "Priorität": "Hoch"}}"

Organisationen

Organisation und Teammitgliedschaft.

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

Statistiken

Die Datenbank wird von den Mitgliedstaaten übermittelt, um die Daten zu erfassen.

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

Schell Kopieren

# Erhalten Sie Plattformstatistiken $ curl -X POST .../api/actions/get_platform_stats \

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"Params": {}}'

# Überprüfen Sie die Gesundheitslage des Systems Die Kommission hat die Kommission mit der Erarbeitung von Vorschlägen für die Entwicklung eines neuen Systems zur Verfügung gestellt.

  • "Berechtigung: Träger von... " -H "Inhaltsart: Anwendung/Json" \ -d '{"Params": {}}'

Fehlercodes

Alle Aktionsfehler liefern einen JSON-Body mit T66 und dem entsprechenden HTTP-Statuscode zurück.

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 Nutzlast Too Large File exceeds the maximum upload size.
500 Internal Server Error Unhandled exception in the action handler.

Referenzbereich

Scopes steuern, auf welche Aktionen ein Token zugreifen kann. PATs können mit bestimmten Scope erstellt werden; JWTs beziehen Scope aus der Rolle des Benutzers.

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)

Die Rolle des Unternehmens

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

Nähere Schritte

CLI Guide Verwenden Sie das CenterOS CLI für terminalbasierte Workflows → MCP Integration Connect Claude, Cursor oder Windsurf zur Plattform → Agent Access Overview Drei Möglichkeiten, die Plattform programmatisch zu erreichen → Offene Plattform Datenmengen, Training und Flotte im Browser verwalten →