commitScopedStorageTransfer
POST
/api/v1/storage-transfer/v2/sessions/{session_id}/commit
const url = 'https://dev.api.endueos.com/api/v1/storage-transfer/v2/sessions/wss_01J9ZK3Q8M4XW7D2N5R6T0V1BC/commit';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"batch_count":1,"entry_count":1,"manifest_hash":"example","expected_revision":1,"generation":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://dev.api.endueos.com/api/v1/storage-transfer/v2/sessions/wss_01J9ZK3Q8M4XW7D2N5R6T0V1BC/commit \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "batch_count": 1, "entry_count": 1, "manifest_hash": "example", "expected_revision": 1, "generation": 1 }'파라미터
섹션 제목: “파라미터”경로 파라미터
섹션 제목: “경로 파라미터”session_id
필수
string
예시
wss_01J9ZK3Q8M4XW7D2N5R6T0V1BC헤더 파라미터
섹션 제목: “헤더 파라미터”X-Idempotency-Key
string
요청 본문필수
섹션 제목: “요청 본문필수”Media typeapplication/json
object
batch_count
필수
integer format: int64
entry_count
필수
integer format: int64
manifest_hash
필수
string
expected_revision
필수
integer format: int64
generation
필수
integer format: int64
예시자동 생성
{ "batch_count": 1, "entry_count": 1, "manifest_hash": "example", "expected_revision": 1, "generation": 1}202
섹션 제목: “202”받았지만 아직 끝나지 않았다. Location 으로 상태를 묻는다.
Retry-After 는 다음 조회까지 기다릴 초.
Media typeapplication/json
object
data
필수
object
operation_id
필수
string
operation_storage_id
필수
string
kind
필수
string
status
필수
string
phase
필수
string
status_url
필수
string
bytes_done
필수
integer format: int64
bytes_total
필수
integer format: int64
entries_done
필수
integer format: int64
entries_total
필수
integer format: int64
cancel_requested
필수
boolean
error
필수
transfer
Kind 가 copy·move 일 때만 있다 (ENDUE-1162)
object
source
필수
destination
필수
deadline_at
필수
string format: date-time
destination_committed
필수
이동의 원본 제거 단계에서 기한이 지나면 destination_committed=true · source_removed=false 로 끝난다(양쪽에 남는다)
boolean
source_removed
필수
boolean
created_at
필수
string format: date-time
updated_at
필수
string format: date-time
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration
서버 처리 시간(ms).
integer format: int32
예시
{ "data": { "operation_id": "wso_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "operation_storage_id": "wst_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "kind": "clone", "status": "queued", "source_storage_id": "wst_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "transfer": { "source": { "storage_id": "wst_01J9ZK3Q8M4XW7D2N5R6T0V1BC" }, "destination": { "storage_id": "wst_01J9ZK3Q8M4XW7D2N5R6T0V1BC" } } }}응답 헤더
섹션 제목: “응답 헤더”Location
필수
string
Retry-After
필수
integer format: int32
400
섹션 제목: “400”요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.
401
섹션 제목: “401”인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.
404
섹션 제목: “404”없거나 내 것이 아니다 — *_NOT_FOUND. 본문은 오류 봉투.
409
섹션 제목: “409”지금 상태와 충돌한다 — 코드는 위 설명을 본다. 본문은 오류 봉투.
410
섹션 제목: “410”보관 기간이 지났다 — OUTPUT_EXPIRED. 본문은 오류 봉투.
422
섹션 제목: “422”형식은 맞지만 할 수 없다 — 코드는 위 설명을 본다. 본문은 오류 봉투.
429
섹션 제목: “429”한도를 넘었다 — Retry-After 초 뒤에 다시. 본문은 오류 봉투.
500
섹션 제목: “500”서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.
503
섹션 제목: “503”의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.