Wiki(으)로 돌아가기

플랫폼 API 참조

CenterOS에 대한 REST API 참조를 완료하십시오. 9 개의 범주에서 39 가지 동작, JWT 및 PAT 인증, 커럴 예제, 오류 코드.

이 페이지에


에이전트 & Dev 액세스

  • [공사 접근 개요]
  • [플랫폼 API 참조]
  • [CLI 가이드]
  • [MCP 통합]

또한 참조

  • [← 모든 위키 기사는]
  • [SDK 빠른 시작]
  • 플랫폼 →

API 참조 REST + JSON

CenterOS에 대한 REST API 참조를 완료하십시오. 9개의 범주에 걸쳐 39개의 동작이 있으며, 모두 하나의 엔드포인트로 탐색 가능합니다.

업데이트된 2026년 4월 39행동 JWT + PAT auth

기본 URL

모든 API 최종점은 생산 백엔드에 관계됩니다.

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

로컬 개발을 위해, Vite dev 서버는 자동으로 T0에서 T1로 프록시를 사용합니다. 또한 CLI 및 MCP 서버의 기본 URL를 오버라이드하기 위해 T2 환경 변수를 사용할 수 있습니다.

인증

API는 두 가지 인증 방법을 지원합니다. 모든 인증된 최종점은 T3 헤더에 T4 토큰이 필요합니다.

JWT (시션 토큰)

사용자 이름과 비밀번호로 로그인하여 얻습니다. 짧은 기간, 대화형 세션에 적합합니다.

껍질 복사

로그인해서 JWT를 가져오세요 $ curl -X POST T106 \ -H "콘텐츠 타입: 응용 프로그램/json" -d '{"이용명": "jerry", " 비밀번호": "***"}"

# 응답은: {"access_token": "eyJ...", "user": {...}}

PAT (개인 액세스 토큰)

CI/CD 파이프라인, 스크립트 및 에이전트 작업 흐름에 대한 오래 지속되는 토큰. PAT 토큰은 T5 사전으로 시작됩니다. CLI 또는 플랫폼 래시보드에서 하나를 생성하십시오.

껍질 복사

CLI를 통해 PAT를 생성 $센터스 패트 크리에이터 --명 "내 에이전트" --스코프 "*" PAT 제작: FRL_ABC123...

API 호출에서 PAT를 사용 $ curl T107 \ -H "허가를: 배포자 FRL_ABC123"...

Scoped tokens: PAT는 특정 권한으로 스코프를 지정할 수 있습니다 (예를 들어 T6). 완전한 액세스을 위해 T7을 사용하십시오. API는 토큰의 스코프에 따라 가시적인 행동을 필터링합니다.

건강 검진

껍질 복사

$ curl T108

{"status": "ok", "version": "...", "database": "ok"}

인증이 필요하지 않습니다. 백엔드가 건강할 때 T8을 반환합니다.

액션 레이어

액션 레이어는 플랫폼 UI, CLI, MCP 서버, AI 에이전트들이 공유하는 통합 API 표면이다. 39개의 액션은 두 개의 엔드포인트로 탐지된다:

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.

행동들을 발견하라

껍질 복사

모든 동작을 목록으로 나열합니다 (공개적인 발견에 필요한 저작자 없습니다) $ curl T109

# 카테고리별 필터 $ curl "T110

행동 수행

껍질 복사

$ curl -X POST T111 \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"limit": 10}}'

"좋아요" "데이터"

데이터 세트

로봇 데이터 세트를 관리 목록, 세부 정보를 얻거나 업로드하고 삭제합니다. 범위: 데이터 세트: 읽기 데이터 세트: 작성

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

껍질 복사

검색 필터로 데이터 세트를 나열 $ curl -X POST .../api/actions/list_datasets \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"search": "grasp", "file_type": "hdf5", "limit": 20}}"

# 업로드 흐름: 서명된 URL를 얻으십시오, 파일을 업로드하고 확인하세요 $ curl -X POST .../api/actions/get_upload_signed_url \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"파라미스": {"파일 이름": "피소드_001.hdf5", "파일_ 사이즈": 52428800}}"

교육

교육 및 정비 직장을 만들고 관리합니다.

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

껍질 복사

훈련 직장을 만들

$curl -X POST .../api/actions/create_training_job \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"name": "dp-v1", "model_type": "diffusion_policy", "dataset_ids": [1, 2], "mode": "finetune"}}'

# 직장을 시작하라 $curl -X POST .../api/actions/launch_training \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"job_id": "abc123def456"}}"

모델

생명주기 관리와 함께 모델 레지스트리. 범위를: 모델:읽기 모델:쓰기

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

껍질 복사

훈련에서 모델을 등록 $curl -X POST .../api/actions/register_model \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"name": "dp-v1", "artifact_uri": "gs://bucket/model.pt", "training_job_id": "abc123"}}"

# 검증된으로 촉진 $curl -X POST .../api/actions/promote_model \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"model_id": 5, "target_status": "validated"}}'

함대

로봇 함대 관리, 배치 및 안전 명령.

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

껍질 복사

로봇을 등록하라 $curl -X POST .../api/actions/register_robot \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"robot_id": "arm-01", "name": "Lab Arm 1", "robot_type": "arm"}}"

롤로봇에 모델을 배치 $curl -X POST .../api/actions/deploy_model \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"robot_id": "arm-01", "model_version_id": 5, "strategy": "immediate"}}'

긴급 정류

$curl -X POST .../api/actions/emergency_stop \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"robot_id": "arm-01", "reason": "safety_check"}}"

해고

데이터 해설 작업 관리 및 품질 측정. 범주: 해설:읽기 해설:쓰기

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

껍질 복사

# 해설 작업을 생성 $ curl -X POST .../api/actions/create_annotation_task \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {"title": "라벨 포착 에피소드", "데이터 세트_id": 42, "데이터_type": "비디오", "우주성": "높은"}}"

조직

조직 및 팀 구성원 관리.

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

통계에 관한 자료

플랫폼 전체 통계 및 시스템 건강 검증. 범위: 통계:읽기

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

껍질 복사

플랫폼 통계를 얻으세요 $curl -X POST .../api/actions/get_platform_stats \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {}}'

시스템 건강 확인 $curl -X POST .../api/actions/get_system_health \ -H "허가를: 운반자 FRL... " -H "콘텐츠 타입: 응용 프로그램/json" -d '{"params": {}}'

오류 코드

모든 동작 오류는 T66와 적절한 HTTP 상태 코드를 가진 JSON 인체를 반환합니다.

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

범위를 참조

스코프는 토큰이 액세스할 수 있는 동작을 제어한다. PAT는 특정 스코프로 생성될 수 있으며, JWTs는 사용자의 역할에서 스코프를 도출한다.

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)

역할에 따른 지도

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

다음 단계

CLI 가이드 터미널 기반 작업 흐름에 CenterOS CLI를 사용한다 → MCP 통합 클로드, 커서, 또는 윈드서프를 플랫폼에 연결한다 → 에이전트 액세스 개요 플랫폼을 프로그래밍적으로 액세스하는 세 가지 방법 → [프로그램을 통해 플랫폼에 액세스하는 세 가지 방법] 프로그램을 운영하는 플랫폼을 열어 브라우저에서 데이터 세트, 훈련 및 함대를 관리하십시오 →