본문으로 건너뛰기
runlot

도메인 구매 및 갱신

도메인 카테고리의 API 작업 10개를 다룹니다.

메서드경로설명
GET/v1/orgs/{orgSlug}/domainsorg의 도메인(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등록기관에서 이 도메인을 지금 다시 읽습니다 (runlot domains sync)

GET /v1/orgs/{orgSlug}/domains

viewer 이상이 필요합니다.

operationId listDomains

상태 코드설명응답 본문
200목록 조회DomainList
403——
404——
503no_core — 서비스를 일시적으로 사용할 수 없습니다Error

POST /v1/orgs/{orgSlug}/domains

admin 이상 권한이 필요합니다 — 비용이 발생합니다. domain.purchase로 감사되며, 연락처 정보는 감사 로그에 보관되지 않습니다.

등록 직후 도메인의 네임서버는 Runlot의 네임서버(ns1~3.runlot.app)로 설정되므로 별도의 소유권 확인이 필요 없으며 즉시 앱을 연결할 수 있습니다. ICANN의 확인 이메일이 contact 주소로 발송됩니다 — 고객이 등록하기 전에 이를 알려주세요.

동일한 요청을 다시 보내는 것은 안전합니다: 완료된 구매는 200을 반환하고, 중단된 구매는 멈춘 지점부터 재개됩니다.

operationId purchaseDomain

요청 본문: application/json · object

상태 코드설명응답 본문
200이미 구매된 도메인(멱등)Domain
201구매 완료Domain
400——
402payment_failed — 결제가 거부됨Error
403——
409domain_taken·domain_unavailableError
422registrar_rejected — 등록기관이 전송한 값(연락처 정보 등)을 거부했습니다. 아무것도 등록되지 않았으며, 동일한 요청을 재시도해도 도움이 되지 않습니다. 수정된 입력으로 새 요청을 제출하세요.Error
502saga_incomplete, registrar_error — 구매가 완료되지 않았습니다. 동일한 요청을 다시 보내면 중단된 지점부터 계속됩니다. 재시도로 해결할 수 있는 실패만 여기에 보고됩니다. 502 본문은 CDN 자체의 HTML 페이지로 대체될 수 있으므로, 브라우저 클라이언트에는 code가 표시되지 않을 수 있습니다.Error
503no_core·registrar_not_configured·dns_not_configuredError

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

이 호출은 등록기관을 직접 조회하므로 member 이상 권한이 필요합니다.

priceCents는 첫 해 등록 비용을 나타내고, 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로 감사됩니다. 이 작업은 등록기관에 연락하지 않습니다 — 존만 생성합니다. 사용 중인 등록기관에서 도메인의 네임서버를 ns1~3.runlot.app으로 지정하면, 그 시점부터 Runlot이 해당 도메인의 DNS를 관리합니다.

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 이상의 권한이 필요합니다. 다른 org의 이름은 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 이상 권한이 필요합니다. 등록기관에서의 자동 갱신은 이 설정과 관계없이 계속 켜져 있습니다 — 갱신이 하루라도 늦으면 도메인을 잃게 되므로, Runlot은 먼저 갱신한 다음 나중에 청구합니다. 이 설정을 끄는 것은 취소가 아니며, UI에도 그렇게 표시되어야 합니다.

operationId setDomainAutoRenew

요청 본문: application/json · object

상태 코드설명응답 본문
200변경된 도메인Domain
400——
403——
404——

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

관리자 이상 권한이 필요합니다. domain.lock으로 감사 기록됩니다.

operationId setDomainLock

요청 본문: application/json · object

상태 코드설명응답 본문
200변경된 도메인Domain
400——
403——
404——

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

admin 이상 권한이 필요합니다. domain.auth_code로 감사됩니다 — 코드 자체는 감사 로그에 기록되지 않습니다, 이를 가진 사람은 누구든 도메인을 다른 곳으로 이전할 수 있기 때문입니다.

코드는 언제든지 요청할 수 있습니다. 이전을 지연시킬 수 있는 유일한 요인은 등록 또는 이전 직후 적용되는 ICANN의 60일 잠금뿐입니다.

operationId getDomainAuthCode

상태 코드설명응답 본문
200코드object
403——
404——

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

member 이상의 권한이 필요합니다. 등록기관(registrar)이 만료일, 이전 잠금(transfer lock), 네임서버에 대한 정보의 원천입니다. 등록기관이 도메인이 더 이상 Runlot에 의해 소유되지 않는다고 보고하면 상태는 transferred_out이 되며, 이는 이전이 완료되었다는 신호입니다.

operationId syncDomain

상태 코드설명응답 본문
200일치한 도메인Domain
403——
404——

이 페이지의 목차