runlot
참조API

도메인 구매·갱신

domains 묶음의 오퍼레이션 10 개입니다.

메서드경로하는 일
GET/v1/orgs/{orgSlug}/domains조직의 도메인 (runlot domains list)
POST/v1/orgs/{orgSlug}/domains도메인을 산다 (runlot domains buy)
POST/v1/orgs/{orgSlug}/domains/check이름을 찾아본다 (runlot domains check)
POST/v1/orgs/{orgSlug}/domains/import이미 가진 도메인을 가져온다 (runlot domains import)
GET/v1/orgs/{orgSlug}/domains/{name}도메인 하나와 최근 원장 (runlot domains show)
POST/v1/orgs/{orgSlug}/domains/{name}/renew갱신한다 (runlot domains renew)
POST/v1/orgs/{orgSlug}/domains/{name}/auto-renew자동 갱신 의사를 바꾼다
POST/v1/orgs/{orgSlug}/domains/{name}/lock이전 잠금을 켜고 끈다 (runlot domains lock|unlock)
POST/v1/orgs/{orgSlug}/domains/{name}/auth-code이전 코드를 받는다 (runlot domains auth-code)
POST/v1/orgs/{orgSlug}/domains/{name}/sync지금 등록기관에서 다시 읽는다

GET /v1/orgs/{orgSlug}/domains

viewer 이상.

operationId listDomains

응답본문
200목록DomainList
403
404
503no_core — cp-core 없이 뜬 cp-publicError

POST /v1/orgs/{orgSlug}/domains

admin 이상 — 돈을 쓴다. 감사 domain.purchase (연락처는 남기지 않는다: 감사는 지울 수 없고 연락처는 개인정보다).

등록 순간부터 NS 는 우리 것이다 (ns1~3.runlot.app) — 그래서 소유 확인 단계가 없고 산 즉시 앱에 붙는다. ICANN 검증 메일이 contact 의 주소로 간다: 화면은 그 사실을 등록 전에 알려야 한다 (§5.5).

같은 요청을 다시 보내는 것이 안전하다. 끝난 도메인이면 200 이고, 중간에 멈춘 구매면 그 자리에서 이어 간다.

operationId purchaseDomain

본문 application/json · object

응답본문
200이미 산 도메인 (멱등)Domain
201샀다Domain
400
402payment_failed — 결제가 거절됐다Error
403
409domain_taken·domain_unavailableError
502saga_incomplete·registrar_error — 다시 보내면 이어 간다Error
503no_core·registrar_not_configured·dns_not_configuredError

POST /v1/orgs/{orgSlug}/domains/check

member 이상. viewer 가 아닌 이유는 이 호출 하나가 등록기관 API 를 태우기 때문이다 — 읽기처럼 보이지만 바깥으로 나간다.

priceCents 는 첫 등록 1 년, renewalCents 는 갱신 1 년이다. 둘이 나뉘어 있는 이유는 첫해 할인이 흔하기 때문이다.

operationId checkDomains

본문 application/json · object

응답본문
200이름별 가용성object
400
403
503no_core·registrar_not_configuredError

POST /v1/orgs/{orgSlug}/domains/import

admin 이상. 감사 domain.import. 등록기관을 부르지 않는다 — 존 하나를 만들고, 고객이 자기 등록기관에서 NS 를 ns1~3.runlot.app 로 바꾸면 그때부터 전체 DNS 관리가 우리 것이 된다 (§5.6).

operationId importDomain

본문 application/json · object

응답본문
200이미 가져온 도메인 (멱등)Domain
201가져왔다Domain
400
403
409domain_takenError
503no_core·dns_not_configuredError

GET /v1/orgs/{orgSlug}/domains/{name}

viewer 이상. 다른 조직의 이름은 404 다.

operationId getDomain

응답본문
200도메인DomainDetail
403
404

POST /v1/orgs/{orgSlug}/domains/{name}/renew

admin 이상. 감사 domain.renew.

operationId renewDomain

본문 application/json · object

응답본문
200갱신된 도메인Domain
400
403
404

POST /v1/orgs/{orgSlug}/domains/{name}/auto-renew

admin 이상. 등록기관 쪽 자동 갱신은 그대로 켜져 있다 (§5.4) — 도메인은 하루 늦으면 잃는 자산이라 우리가 먼저 갱신하고 뒤에 청구한다. 화면은 이 사실을 함께 말해야 한다: 안 그러면 고객이 여기서 끄고 "해지했다" 고 믿는다.

operationId setDomainAutoRenew

본문 application/json · object

응답본문
200바뀐 도메인Domain
400
403
404

POST /v1/orgs/{orgSlug}/domains/{name}/lock

admin 이상. 감사 domain.lock.

operationId setDomainLock

본문 application/json · object

응답본문
200바뀐 도메인Domain
400
403
404

POST /v1/orgs/{orgSlug}/domains/{name}/auth-code

admin 이상. 감사 domain.auth_code코드 자체는 감사에 남지 않는다: 코드를 가진 사람은 도메인을 가져갈 수 있고 감사는 지울 수 없다.

나가는 길은 즉시 열려 있다 (§5.5). 막는 것은 ICANN 의 60 일 등록/이전 잠금뿐이고 그것은 안내다.

operationId getDomainAuthCode

응답본문
200코드object
403
404

POST /v1/orgs/{orgSlug}/domains/{name}/sync

member 이상. 만료일·잠금·NS 의 정본은 등록기관이다. 등록기관이 "우리 계정에 없다" 고 답하면 transferred_out 이다 — 이전이 끝났음을 아는 유일한 신호다.

operationId syncDomain

응답본문
200맞춰진 도메인Domain
403
404

이 페이지에서