본문으로 건너뛰기

충전 청약철회

결제 후 7일 안에 아직 쓰지 않은 크레딧만큼을 철회합니다, 원화는 결제 수단으로 부분 취소됩니다

POST /v1/organizations/{org_id}/topups/{order_id}/withdraw

인증

방식허용조건
API 키 (Authorization: Bearer xci_live_…)불가콘솔 세션 전용, 키로 부르면 403 console_only
콘솔 세션 쿠키가능조직 역할 owner, admin, 같은 출처의 Origin 헤더 필요
  • 환불 원화 = floor(amount_krw × 로트 남은 µUSD / 로트 크레딧 µUSD)입니다, 그 밖의 환불은 없습니다

참고 서버 구현(2026-10-12 dev 기준)이 계약 초안과 다른 점

  • 핸들러는 server/ci/runner2-topup-routes.js에 있지만 아직 앱에 마운트되지 않았습니다, 지금 호출하면 404 not_found입니다

매개변수

이름위치타입필수설명
org_id경로string필수조직 ID, 형식 ^org_[A-Za-z0-9]+$
order_id경로string필수충전 주문 ID, 형식 ^[A-Za-z0-9_-]{6,64}$
Idempotency-Key헤더string24시간 안에 같은 키로 다시 보내면 처음 응답을 그대로 돌려줍니다, 같은 키에 다른 본문이면 409 idempotency_conflict, 1자 이상, 255자 이하

응답

200

필드타입항상설명
idstring항상ID
order_idstring항상주문 ID
statusrequested | done | failed항상requested, done, failed
cancel_krwinteger항상결제 수단으로 돌아가는 원화
debit_micro_usdinteger항상잔액에서 빠지는 크레딧, 최소 0
debit_usdstring항상같은 금액의 USD 문자열(소수 6자리), 형식 ^-?[0-9]+\.[0-9]{6}$
created_attimestamp만든 시각
{
  "id": "wdr_2Mz7Qk4Lp1",
  "order_id": "topup_9f3KqZ2mP1",
  "status": "done",
  "cancel_krw": 28604,
  "debit_micro_usd": 19881200,
  "debit_usd": "19.881200",
  "created_at": "2026-10-12T03:11:05Z"
}

오류

HTTP코드다시 시도뜻
400invalid_request아니오본문이나 쿼리가 검증에 실패했습니다, error.details.fields에 문제 필드가 있습니다
401session_required아니오콘솔 엔드포인트를 유효한 콘솔 세션 쿠키 없이 불렀습니다
403console_only아니오콘솔 세션 전용 엔드포인트입니다, API 키로는 결제, 키, 멤버 관리를 할 수 없습니다
403insufficient_permission아니오역할이나 키 권한(run/read)이 이 요청을 허용하지 않습니다
404not_found아니오자원이 없거나 이 호출자에게 보이지 않습니다
409conflict아니오자원 상태가 이 요청을 허용하지 않습니다, 다시 읽은 뒤 시도하세요
409idempotency_conflict아니오같은 Idempotency-Key를 다른 본문으로 다시 썼습니다
409withdrawal_window_closed아니오이 충전의 7일 청약철회 기간이 지났습니다
429rate_limited가능이 키 또는 조직의 요청이 너무 많습니다, retryafters만큼 기다리세요
500internal_error가능예상하지 못한 오류입니다, 다시 시도하고 반복되면 request_id와 함께 알려 주세요
503payments_unavailable가능이 환경에서는 충전이 꺼져 있습니다(기능 플래그 또는 결제 키 없음)

오류 봉투 모양과 전체 코드 표는 오류 코드에 있습니다

예시

curl -X POST "https://xenoci.com/api/runner/v1/organizations/org_7Kq2m9ZtP3/topups/topup_9f3KqZ2mP1/withdraw" \
  --cookie "xci_console=$SESSION" \
  -H "Origin: https://xenoci.com" \
  -H "Idempotency-Key: ci-2026-10-12-001"

다음 단계