runlot
リファレンスAPI

カスタムドメイン

hostnamesカテゴリの4個のAPI操作を扱います。

メソッドパス説明
GET/v1/orgs/{orgSlug}/projects/{projectName}/hostnamesプロジェクトに接続されたドメインの一覧(runlot domain list)
POST/v1/orgs/{orgSlug}/projects/{projectName}/hostnamesカスタムドメインを接続します(runlot domain add)
DELETE/v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}カスタムドメインを切断します(runlot domain rm)
POST/v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}/verifyドメインを今すぐ検証します(runlot domain verify)

GET /v1/orgs/{orgSlug}/projects/{projectName}/hostnames

デフォルトホスト名(kind: default)とカスタムドメイン(kind: custom)がまとめて返されます。カスタムドメインのレコードには案内レコード(verify)とステータス(docs/domains.md §3.2)が含まれます。viewer 以上が必要です。

operationId listHostnames

ステータスコード説明レスポンスボディ
200一覧取得HostnameList
403
404

POST /v1/orgs/{orgSlug}/projects/{projectName}/hostnames

名前は小文字の Punycode に正規化されて保存されます。ワイルドカード配下の名前、および当社のドメイン(*.runlot.app*.runlot.dev*.runlot.io、アプリドメイン)配下の名前は受け付けられません。

レコードは pending_dns 状態で作成され、その瞬間からその名前を予約します。 検証が完了するまでは、他のプロジェクトが同じ名前を使用することはできません。接続されるまでルーティングには追加されないため、その名前へのリクエストは 404 unknown_hostname を返します。

同じプロジェクトが同じ名前を再度送信した場合、既存の行がそのまま返されます(冪等)— トークンが変わると、すでに設置済みの TXT レコードが即座に不正になってしまうためです。member 以上。hostname.add として監査されます。

operationId addHostname

リクエストボディ: application/jsonobject

ステータスコード説明レスポンスボディ
200新規作成されたレコード、または既存のレコードHostname
400有効な名前形式ではない(bad_request)、ワイルドカード、または自社ドメイン配下Error
403
404
409他のプロジェクトですでに使用されている名前です。codehostname_taken ですError

DELETE /v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}

Cloudflare のカスタムホスト名と Runlot DNS ゾーン内の管理レコードをまとめて削除します。デフォルトホスト名は削除できません(400)。デプロイがアドレスを決定するため、ここで削除すると次回のデプロイまでプロジェクトに到達できなくなります。member 以上が必要です。監査は hostname.delete です。

operationId deleteHostname

ステータスコード説明レスポンスボディ
204切断済み
400これはデフォルトホスト名ですError
403
404

POST /v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}/verify

バックグラウンドジョブ(1 分周期)と同じ検証手順を即座に実行します。所有権の検証は、次の 3 つの条件のいずれかを満たすと成功します:名前が自社ゾーン内にあり org が一致する、_runlot-verify.<host> の TXT レコードが一致する、または <host> の CNAME がフォールバックオリジンを指している。

所有権の証明なしに active になる方法はありません。 検証に通らない場合、ステータスはそのままとなり、lastError に現在観測されている内容が保持されます。member 以上が必要です。

operationId verifyHostname

ステータスコード説明レスポンスボディ
200確認後の行Hostname
403
404

このページの目次