문서 본문으로 이동
문서API 참조서버 작업 실행
POSTBearer 토큰

서버 작업 실행

/api/v1/servers/:id/actions

소속 조직의 서버 시작, 정상 종료(shutdown), 강제 전원 끄기(stop), 재시작, 비밀번호 재설정, 재설치, 서비스 종료를 실행합니다.

호출 전 확인

재설치는 데이터를 삭제합니다. 서비스 종료는 환불이나 공급업체 계약 해지를 수행하지 않습니다. 파괴적 작업에는 confirm=true가 필요하며 AI의 terminate/reinstall에는 일치하는 지갑 서명 증명도 필요합니다. 202는 접수를 뜻하며 완료가 아닙니다. 결과가 불확실하면 taskKey로 조회하세요.

API 필드명, 자료형, 코드는 모든 언어에서 그대로 유지됩니다.

요청 예시

cURL
curl "https://tovahub.com/api/v1/servers/507f1f77bcf86cd799439012/actions" -X POST \
  -H "Authorization: Bearer $TOVAHUB_TOKEN" \
  -H "Content-Type: application/json" \
  --data '{
  "action": "restart",
  "requestKey": "docs_example_001"
}'

예시만 표시합니다. 이 페이지는 API 요청을 보내지 않습니다.

응답 예시
JSON
{
  "ok": true,
  "pending": true,
  "replay": false,
  "simulated": false,
  "error": null,
  "taskKey": "server:507f1f77bcf86cd799439012:restart:restart_001"
}

매개변수

id경로 · 필수

string

리소스 ID로, 24자리 16진수 문자열입니다. 공급업체 인스턴스 ID가 아니라 해당 목록 엔드포인트에서 반환한 플랫폼 ID를 사용하세요.

actionJSON 본문 · 필수

"start" | "shutdown" | "stop" | "restart" | "changepass" | "reinstall" | "terminate"

실행할 작업입니다.

requestKeyJSON 본문 · 필수

string

8–100자이며 A–Z, a–z, 0–9, 밑줄 또는 하이픈만 허용합니다. 같은 작업을 재시도할 때는 동일한 키와 동일한 입력값을 유지하세요.

confirmJSON 본문 · 선택

boolean

영향을 검토한 뒤에만 true로 설정합니다. stop(강제 전원 차단), terminate, reinstall, changepass 및 스냅샷 삭제·복원에 필요합니다.

osJSON 본문 · 선택

string

운영체제 식별자입니다. 기본 선택지에는 debian12와 ubuntu24가 있습니다. 선택한 요금제에 대해 가용성과 라이선스를 확인합니다. 서버 작업과 작업 챌린지에서는 reinstall만 os를 허용합니다.

proofJSON 본문 · 선택

object

AI의 terminate/reinstall 동의 증명: { challengeId: string (24자리 16진수), signature: string (20–200자) }. 동일한 action, requestKey, 운영체제로 챌린지를 발급받고, 반환된 메시지 그대로 로컬에서 서명하세요.

응답

HTTP 상태 200 / 202

제출된 서버 작업의 접수 결과를 반환합니다. 결과가 대기 중이거나 불확실하면 원래 작업을 조회하세요.

okboolean

하위 작업에서 ok를 보고했는지 나타냅니다.

pendingboolean

true이면 HTTP 상태는 202이고, 그렇지 않으면 200입니다.

replayboolean

원래 요청의 결과를 다시 반환하는 것인지 나타냅니다.

simulatedboolean

작업이 격리된 테스트 동작을 사용했는지 나타냅니다.

errorunknown | null

하위 작업의 오류 값 또는 null입니다. 더 구체적인 런타임 출력 스키마는 정의되어 있지 않습니다.

taskKeystring

고정 키 server:<platform-server-id>:<action>:<requestKey>입니다.