createBillingQuote
POST
/api/v1/billing/quotes
const url = 'https://dev.api.endueos.com/api/v1/billing/quotes';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"station_id":"stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC","target":"virtual_device","kind":"chrome","size":"small","cpus":1,"memory_mb":1,"storage_gb":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/billing/quotes \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "target": "virtual_device", "kind": "chrome", "size": "small", "cpus": 1, "memory_mb": 1, "storage_gb": 1 }'그 Station 의 조직 지갑 기준 견적 — 소유자, 또는 Station 조직의 멤버 (D-60). 아니면 404 STATION_NOT_FOUND.
요청 본문필수
섹션 제목: “요청 본문필수”Media typeapplication/json
object
station_id
필수
string
예시
stn_01J9ZK3Q8M4XW7D2N5R6T0V1BCtarget
필수
string
kind
필수
string
size
컴퓨트 크기. small 1 vCPU·1 GiB, medium 2 vCPU·4 GiB, large 4 vCPU·8 GiB — 공급자가 가장 가까운 사양으로 맞춘다.
string
cpus
integer format: int32
memory_mb
integer format: int32
storage_gb
필수
integer format: int32
201
섹션 제목: “201”만들었다.
Media typeapplication/json
object
data
필수
object
quote_token
필수
string
expires_at
필수
string format: date-time
configuration
필수
object
station_id
필수
string
target
필수
string
kind
필수
string
size
컴퓨트 크기. small 1 vCPU·1 GiB, medium 2 vCPU·4 GiB, large 4 vCPU·8 GiB — 공급자가 가장 가까운 사양으로 맞춘다.
string
cpus
integer format: int32
memory_mb
integer format: int32
storage_gb
필수
integer format: int32
hourly_credits
필수
string
retained_hourly_credits
필수
string
minimum_credits
필수
string
krw_per_credit
필수
string
components
필수
Array<object>
object
component
필수
string
unit
필수
string
hourly_credits
필수
string
retained
필수
boolean
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration
서버 처리 시간(ms).
integer format: int32
예시
{ "data": { "configuration": { "station_id": "stn_01J9ZK3Q8M4XW7D2N5R6T0V1BC", "target": "virtual_device", "kind": "chrome", "size": "small" }, "components": [ { "component": "compute" } ] }}400
섹션 제목: “400”요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.
401
섹션 제목: “401”인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.
403
섹션 제목: “403”이 인증 수단으로는 못 하는 일이다 — FORBIDDEN (예: API 키로 클라우드 기기 만들기). 본문은 오류 봉투.
404
섹션 제목: “404”없거나 내 것이 아니다 — *_NOT_FOUND. 본문은 오류 봉투.
409
섹션 제목: “409”지금 상태와 충돌한다 — 코드는 위 설명을 본다. 본문은 오류 봉투.
429
섹션 제목: “429”한도를 넘었다 — Retry-After 초 뒤에 다시. 본문은 오류 봉투.
500
섹션 제목: “500”서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.
503
섹션 제목: “503”의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.