견적 생성
/api/v1/orders/quote
변경할 수 없고 30분 동안 유효한 USD 견적을 만듭니다. 같은 requestKey는 원래 견적을 반환합니다.
호출 전 확인
견적은 주문이나 재고 예약이 아닙니다. 관리자가 활성화한 토큰은 견적 id와 충분한 팀 USD 잔액으로 POST /api/v1/orders/buy를 호출할 수 있습니다. MCP pay_quote는 별도 흐름이며 HTTP 충전은 제공하지 않습니다.
API 필드명, 자료형, 코드는 모든 언어에서 그대로 유지됩니다.
요청 예시
curl "https://tovahub.com/api/v1/orders/quote" -X POST \
-H "Authorization: Bearer $TOVAHUB_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"requestKey": "docs_example_001",
"planId": "<PLAN_ID>",
"region": "<REGION_CODE>",
"days": 31,
"hostname": "myserver",
"os": "debian12"
}'예시만 표시합니다. 이 페이지는 API 요청을 보내지 않습니다.
응답 예시
{
"id": "507f1f77bcf86cd799439011",
"purpose": "order",
"amount": "1200",
"asset": "USD",
"state": "quoted",
"mode": null,
"expiresAt": "2026-11-07T12:30:00.000Z",
"transactionHash": null,
"network": null,
"result": null,
"error": null
}매개변수
requestKeyJSON 본문 · 필수string
8–100자이며 A–Z, a–z, 0–9, 밑줄 또는 하이픈만 허용합니다. 같은 작업을 재시도할 때는 동일한 키와 동일한 입력값을 유지하세요.
planIdJSON 본문 · 필수string
현재 카탈로그에서 가져온 비어 있지 않은 요금제 ID입니다.
regionJSON 본문 · 필수string
카탈로그의 지역 코드로, 1–40자입니다.
networkIdJSON 본문 · 선택string
이 서버 주문에 선택하는 소속 조직의 사설 네트워크 ID(선택 사항). 선택은 변경할 수 없으며 공급자 지원이 검증되지 않으면 결제나 구매 전에 거부됩니다.
daysJSON 본문 · 필수integer
1–730일입니다. 해당 요금제에서 실제로 지원하는 청구 기간을 선택하세요.
hostnameJSON 본문 · 필수string
3–16자의 ASCII 영문자 또는 숫자이며, 소문자로 변환됩니다.
osJSON 본문 · 필수string
운영체제 식별자입니다. 기본 선택지에는 debian12와 ubuntu24가 있습니다. 선택한 요금제에 대해 가용성과 라이선스를 확인합니다. 서버 작업과 작업 챌린지에서는 reinstall만 os를 허용합니다.
firewallIdJSON 본문 · 선택string
system 또는 조직 방화벽의 24자리 ID입니다.
rootPasswordJSON 본문 · 선택string
선택 사항인 root 비밀번호로, 8–128자입니다. 저장된 견적에는 보관하지 않습니다. 비밀로 관리하세요.
sshPublicKeyJSON 본문 · 선택string
한 줄의 OpenSSH 공개 키로, 최대 8,192자입니다. ssh-ed25519, ssh-rsa 또는 ecdsa-sha2-nistp256/384/521을 허용합니다. 개인 키, authorized_keys 옵션, 제어 문자는 허용하지 않으며 주석은 제거됩니다.
autoRenewJSON 본문 · 선택boolean
기본값은 true입니다. 사이트 설정만 저장하며 공급업체 갱신을 약속하는 것은 아닙니다.
응답
HTTP 상태 200
주문하거나 재고를 예약하지 않고 30분간 유효한 고정 USD 견적을 생성하거나 기존 견적을 다시 반환합니다.
idstring (ObjectId)결제 의도 식별자이며, 견적 식별자로도 사용합니다.
purposestring결제 의도의 용도입니다. 현재 공개 생성 경로는 order 또는 deposit을 사용합니다. 저장된 용도는 renew일 수도 있지만 현재 갱신이 지원된다는 뜻은 아닙니다.
amountstring정수 USD 센트입니다.
assetstring ('USD')플랫폼 회계 자산입니다.
statestring ('quoted' | 'authorized' | 'broadcast' | 'settled' | 'applied' | 'failed')영구 저장된 결제 의도 상태입니다.
modestring ('balance' | 'x402') | null선택한 결제 자금 출처 방식이며, 선택 전에는 null입니다.
expiresAtstring (ISO 8601)견적 만료 시각입니다. 이미 수락한 자금은 이 시각 이후에도 대사 처리가 필요합니다.
transactionHashstring | null블록체인 트랜잭션 해시이며, 있는 경우에만 제공됩니다.
networkstring | null결제 네트워크이며, 있는 경우에만 제공됩니다.
resultunknown | null용도별로 영구 저장된 처리 결과입니다. 공통 중첩 응답 스키마는 정의되어 있지 않습니다.
errorstring | null영구 저장된 결제 오류이며, 있는 경우에만 제공됩니다.