Skip to content

Domain.register

POST /{namespace}/domains/register

Register buys a hostname for a Startup and points it at the Startup’s address.

Noun
Domain
Mode
do
Event
Domain.registered

Inputs

InputTypeRequiredDescription
hostnamestringrequiredThe hostname to buy.
startupStartuprequiredThe Startup it serves.

Outputs

OutputTypeRequiredDescription
domainDomainrequiredThe registered Domain.

Effects

  • Emits Domain.registered.
  • Performed by the Integration Engineer.
  • One-way (money): it waits out its delay window, and runs in the send and do modes.
  • Renews the registration before it expires, as spend under the Startup’s Limits.
  • Checks the spend Limit; above it, opens an Approval.
  • Refuses on a provisional self-serve Startup; the name stays a candidate until Startup.claim.
  • Registers the name to the owner of record, in the Startup’s own registrar account, with DNSSEC and a CAA record.
  • Writes null SPF, DMARC reject and null MX records unless the Domain hosts a Mailbox.
  • Registers the Domain with Stripe as a payment method domain on the Startup’s account.

Refuses when

CheckErrorFixThen call
The operation is part of an Offer the caller has not accepted or paid for.payment-requiredAccept the Offer named in the response, then retry the call.Offer.accept
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.Domain.register
The record changed since it was read, so the write would overwrite a newer version.conflictRead the record again, then retry the write against its current state.Domain.register

When it waits

GateDefault
Decision classMedium: one-way, bounded (money)
Delay window1 business hour, in which a watcher can pause, redirect or cancel it; then it runs.
LimitThe spend Limit of the Permission or Mandate it runs under.
Over the LimitIt waits pending for an Approval from the Founder. Approved, it runs; refused, it ends refused with limit-exceeded; unanswered by its deadline, it ends canceled.