Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

run.domani/domani

REMOTE · DOMANI.RUN · SCANNED AUG 3

Internet identity for AI agents: register or broker domains, email, DNS - pay by card or USDC.

Available components

+9 this week 80 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security91
Transport & Reachability100
Schema Quality & AI Usability72
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 13023 tokens (~106/item across 122 items; 122 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 97% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · domani.run

# add to Claude Code
claude mcp add --transport http run-domani-domani https://domani.run/mcp
# ~/.codex/config.toml
[mcp_servers.run-domani-domani]
url = "https://domani.run/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "run-domani-domani": {
      "type": "remote",
      "url": "https://domani.run/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add run-domani-domani --url https://domani.run/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  run-domani-domani:
    url: "https://domani.run/mcp"
// mcp.json
{
  "mcpServers": {
    "run-domani-domani": {
      "type": "http",
      "url": "https://domani.run/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +5
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes. Other categories moved too: Schema Quality & AI Usability rose 2.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 70

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://domani.run/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=domani.run CN=YE2,O=Let's Encrypt,C=US 6 Jul 2026 4 Oct 2026 ECDSA 256 ECDSA-SHA384 5e06f2de1b09b36aabe6b402d014b770fe8
SANs: *.domani.run, domani.run
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd
DNSSEC secure

Validation of domani.run. Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
run. present 37315 8 Verified
domani.run. present 2371 13 Verified
domani.run. Verified address RRset verified with the apex keys
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200
Header Value
strict-transport-security max-age=63072000
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline' https://js.stripe.com https://vercel.live https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self'; connect-src 'self' https://api.stripe.com https://cloudflare-dns.com https://vercel.live https://va.vercel-scripts.com; frame-src https://js.stripe.com https://vercel.live
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=()

Protected resource metadata

Retrieved No
Problem no_resource_metadata
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://domani.run/mcp Verified 200
http (plaintext) http://domani.run/mcp HTTPS enforced 308 https://domani.run/mcp
MCP tools — 122 exposed · ~13,023 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
import_domain ~73

Import an external domain you already own (registered at GoDaddy, Namecheap, Cloudflare, etc.) to manage through domani.run. Free, no transfer needed. Returns a TXT record to add at your DNS provider for ownership verification.

NameTypeReqDescription
domainstringyesDomain to import, e.g. mysite.com

No output schema declared.

No examples provided.

list_audit_events ~94

The account's security audit trail, newest first: token lifecycle (created/revoked/escalation attempts), spend-cap and max_price denials, charges, payout requests. Use it to review what the account's tokens have been doing.

NameTypeReqDescription
limitintegerEvents to return (default 50)
typestringFilter by event type, e.g. purchase.denied_cap, token.created

No output schema declared.

No examples provided.

list_backorders ~42

List the user's backorders (watching, caught, failed, cancelled, expired). Optionally filter by status.

NameTypeReqDescription
statusstringFilter by status

No output schema declared.

No examples provided.

list_broker_requests ~55

List your domain acquisition requests and their status (sourcing/contacted/negotiating/agreed/no_contact/declined). Requires deals:read scope.

NameTypeReqDescription
statusstringFilter by status, or 'all'

No output schema declared.

No examples provided.

list_domains ~14

List all domains you own

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_email_folders ~61

List canonical mailbox folders, virtual views, server-derived total/unread counts, and backend capabilities. API: GET /api/emails/{address}/folders.

NameTypeReqDescription
domainstringyesMailbox domain
slugstringyesMailbox slug

No output schema declared.

No examples provided.

list_email_messages ~229

List messages in a system folder or virtual view. Defaults to Inbox. Supports pagination, direction and search filters. API: GET /api/emails/{address}/messages.

NameTypeReqDescription
cursorstringPagination cursor from previous response
directionstringFilter by direction: 'in' for received, 'out' for sent
domainstringyesMailbox domain
folderstringSystem folder. Mutually exclusive with view. Defaults to inbox
fromstringFilter by sender address (case-insensitive, partial match)
limitnumberMax messages to return (default 20, max 100)
slugstringyesMailbox slug
spambooleanFilter by spam flag. Pass false to hide spam-flagged inbound; omit to include all.
subjectstringFilter by subject (case-insensitive, partial match)
tostringFilter by recipient address (case-insensitive, partial match)
viewstringVirtual view. Mutually exclusive with folder

No output schema declared.

No examples provided.

list_identities ~24

List the free agent identities (<handle>.domani.run) you've claimed.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_invoices ~67

List the user's payment invoices. Returns invoice number, amount, date, and links to view/download the PDF. Each invoice is generated by Stripe when a domain is purchased, renewed, or transferred.

NameTypeReqDescription
limitintegerMax invoices to return (default 20, max 100)

No output schema declared.

No examples provided.

list_mail_rules ~57

List a mailbox's inbound filtering rules, in the priority order they are applied. API: GET /api/emails/{address}/rules.

NameTypeReqDescription
domainstringyesMailbox domain
slugstringyesMailbox slug

No output schema declared.

No examples provided.

list_mailbox_aliases ~53

List all alias addresses that deliver into a mailbox. API: GET /api/emails/{address}/aliases.

NameTypeReqDescription
domainstringyesMailbox domain
slugstringyesMailbox slug

No output schema declared.

No examples provided.

list_mailbox_changes ~79

Incrementally synchronize a mailbox with an opaque cursor. Call without a cursor before a bounded full snapshot, then replay changes from next_cursor. API: GET /api/email/changes.

NameTypeReqDescription
cursorstringOpaque next_cursor from the previous response
limitinteger
mailbox_idstringyesAccessible mailbox ID

No output schema declared.

No examples provided.

list_mailbox_credentials ~63

List the app passwords for a hosted mailbox (labels + metadata; secrets are shown only once at creation). API: GET /api/emails/{address}/credentials.

NameTypeReqDescription
domainstringyesHosted mailbox domain
slugstringyesHosted mailbox slug

No output schema declared.

No examples provided.

list_mailboxes ~58

List all your email addresses. Optionally filter by domain. API: GET /api/emails (or GET /api/email).

NameTypeReqDescription
domainstringFilter by domain, e.g. mysite.com. Omit to list all

No output schema declared.

No examples provided.

list_negotiations ~66

List your active and past price negotiations (as buyer or seller). Counterparties are anonymized. Requires deals:read scope.

NameTypeReqDescription
rolestringFilter by your role
statusstringFilter by status (open|agreed|completed|all)

No output schema declared.

No examples provided.

list_providers ~38

List all supported hosting and email providers with their connection methods, target requirements, and setup notes

NameTypeReqDescription
categorystringFilter by category

No output schema declared.

No examples provided.

list_services ~24

List all supported services for domain verification (Stripe, Google Search Console, etc.)

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_suppressions ~78

List addresses on your suppression list - hard bounces and complaints (added automatically) plus manual entries. Sends to these addresses are skipped. API: GET /api/suppressions.

NameTypeReqDescription
cursorstringPagination cursor from a previous response
limitnumberMax entries to return (default 50, max 100)

No output schema declared.

No examples provided.

list_tlds ~108

List all available TLDs with registration and renewal pricing

NameTypeReqDescription
limitnumberMax results to return
max_pricenumberMaximum registration price in USD
min_pricenumberMinimum registration price in USD
offsetnumberPagination offset
orderstringSort order (default: asc)
searchstringFilter TLDs containing this string
sortstringSort field. Defaults to tld

No output schema declared.

No examples provided.

list_tokens ~39

List all API tokens for your account. Shows token name, masked key, creation date, last used, and expiration status. Expired tokens are marked.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_webhook_deliveries ~74

Get recent delivery attempts for a webhook - shows event type, HTTP status, number of attempts, and any errors. Useful for debugging webhook issues.

NameTypeReqDescription
limitintegerMaximum number of deliveries to return (default 20)
webhook_idstringyesID of the webhook to get deliveries for

No output schema declared.

No examples provided.

list_webhooks ~32

List all webhook endpoints configured for the user's account. Returns URL, subscribed events, and active status for each webhook.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

make_offer ~101

Open an anonymous price negotiation on a listed domain with an initial offer (below or at the asking price). The seller can counter, accept, or decline. Neither side sees the other's identity. Requires deals:write scope.

NameTypeReqDescription
domainstringyesThe listed domain to negotiate on, e.g. premium.com
messagestringOptional message to the seller
offernumberyesYour initial offer in USD, e.g. 500

No output schema declared.

No examples provided.

mark_messages_read ~121

Retry-safely mark messages read or unread and return a durable per-item receipt. Reuse the exact idempotency key after timeouts. API: PATCH /api/emails/{address}/messages/read.

NameTypeReqDescription
domainstringyesMailbox domain
idempotency_keystringyesCaller-stable key for this exact logical batch
message_idsarrayyesIDs of messages to mark
readbooleanyestrue = mark as read, false = mark as unread
slugstringyesMailbox slug

No output schema declared.

No examples provided.

plan_domain_adoption ~96

Read-only planner for an existing domain. Inspects registrar, nameservers, DNS provider, DNSSEC, account state, transfer eligibility, and price. Returns safe next actions. Call this before asking for an EPP code. Connecting is free and leaves registrar and DNS unchanged. Transferring preserves nameservers and never migrates DNS implicitly.

NameTypeReqDescription
domainstringyesExisting domain to inspect, e.g. mysite.com

No output schema declared.

No examples provided.

provision_agent ~232

Give an AI agent a complete internet identity in one call: buy a domain, set up email, create a mailbox, and (optionally) register a webhook for inbound email. Use this when someone wants to 'give my agent a domain and email' or 'set up an agent from scratch'. Confirm the domain and price with the user first (it charges for the domain). The domain purchase is the only step that can fail the call; mailbox/webhook are best-effort and report warnings.

NameTypeReqDescription
domainstringyesDomain to give the agent, e.g. myagent.run. Bought if not already owned.
namestringDisplay name for outbound email.
payment_methodstringHow to pay for the domain: card, usdc, or balance (marketplace credit).
slugstringMailbox local part, e.g. 'hi' for hi@domain. Default 'hi'.
webhook_urlstringOptional HTTPS URL to receive inbound email + domain events.
yearsintegerRegistration years (1-10, default 1).

No output schema declared.

No examples provided.

release_identity ~29

Release a free identity handle so it's available again.

NameTypeReqDescription
slugstringyesThe handle to release

No output schema declared.

No examples provided.

remove_mail_rule ~66

Remove an inbound filtering rule from a mailbox. API: DELETE /api/emails/{address}/rules/{ruleId}.

NameTypeReqDescription
domainstringyesMailbox domain
rule_idstringyesThe rule ID to remove
slugstringyesMailbox slug

No output schema declared.

No examples provided.

remove_mailbox_alias ~78

Remove an alias address from a mailbox. Email to that address stops being delivered. API: DELETE /api/emails/{address}/aliases/{alias}.

NameTypeReqDescription
aliasstringyesAlias address to remove - a bare slug or full address
domainstringyesMailbox domain
slugstringyesMailbox slug

No output schema declared.

No examples provided.

remove_suppression ~60

Remove an address from your suppression list so you can email it again (e.g. after the recipient fixed their mailbox). API: DELETE /api/suppressions/{address}.

NameTypeReqDescription
addressstringyesEmail address to remove from the suppression list

No output schema declared.

No examples provided.

renew_domain ~170

Renew a domain you own for additional years. Always confirm with the user before calling this.

NameTypeReqDescription
domainstringyesDomain to renew, e.g. mysite.com
max_pricenumberCeiling in USD for the renewal charge. Fails with PRICE_ABOVE_MAX (nothing charged) if the real price is above it.
payment_chainstringChain the USDC payment was sent on.
payment_methodstringPayment method: 'card' to charge card on file, 'usdc' to pay with USDC. Overrides the user's default preference for this request.
payment_txstringTransaction hash of a USDC payment already sent on-chain.
yearsnumberNumber of years to renew (1-10, default 1)

No output schema declared.

No examples provided.

replay_webhook_delivery ~88

Redeliver one immutable webhook event. Requires a caller-stable idempotency key; retries with the same key return the same receipt and never send twice.

NameTypeReqDescription
delivery_idstringyesOriginal delivery ID from list_webhook_deliveries
idempotency_keystringyesStable unique key for this replay operation
webhook_idstringyesWebhook ID

No output schema declared.

No examples provided.

reply_to_message ~203

Reply to an email message. For shared human-agent mailboxes, first heartbeat composing presence and pass coordination plus a stable idempotency_key; the server atomically rejects stale/double replies. Threading headers are automatic. API: POST /api/emails/{address}/messages/{id}/reply.

NameTypeReqDescription
allbooleanReply-all: auto-CC original To and CC recipients (default: false)
ccAdditional CC recipients (overrides auto-CC when all=true)
coordinationobjectCompose lease and reply generation returned by heartbeat_conversation_presence
domainstringyesMailbox domain
htmlstringHTML reply body
idempotency_keystringRequired with coordination; reuse this exact key after timeouts
message_idstringyesID of the message to reply to
slugstringyesMailbox slug
textstringPlain text reply body

No output schema declared.

No examples provided.

resend_email_verification ~60

Resend a verification email for your WHOIS contact email. If the contact email matches your login email, it's already verified. Rate limited to once per 15 minutes.

NameTypeReqDescription
emailstringEmail to verify (defaults to your contact email)

No output schema declared.

No examples provided.

respond_to_broker_inquiry ~162

Owner-agent path: respond to a broker's acquisition inquiry using the token from the outreach email in your inbox - fully autonomous, no email round-trip, no magic-link. offer/counter names a price and opens/advances an anonymous negotiation; accept agrees to the buyer's current offer on the table; decline/opt_out ends it. Token-authorized (no scope needed).

NameTypeReqDescription
actionstringyesoffer/counter to name a price; accept to take the buyer's current offer; decline to refuse; opt_out to stop contact
pricenumberYour asking price in USD (required for offer/counter)
tokenstringyesThe outreach token from your inquiry email (reply-to is broker+<token>@)

No output schema declared.

No examples provided.

respond_to_offer ~96

Counter, accept, or decline the current offer in a negotiation when it's your turn. 'accept' locks the price at the amount on the table; the buyer then finalizes payment. Requires deals:write scope.

NameTypeReqDescription
actionstringyesYour response
counternumberNew amount in USD (required when action=counter)
messagestring
negotiation_idstringyesThe negotiation ID

No output schema declared.

No examples provided.

restore_dns ~82

Restore DNS records from the server-side backup (created by snapshot_dns or during transfers). Uses diff to avoid duplicates. Call snapshot_dns first to create a backup. Pass dry_run to preview what would be applied without writing.

NameTypeReqDescription
domainstringyesDomain name to restore DNS for
dry_runbooleanPreview only - returns would_apply without writing anything

No output schema declared.

No examples provided.

revoke_mailbox_credential ~79

Revoke an app password on a hosted mailbox. Any mail client using it stops connecting. API: DELETE /api/emails/{address}/credentials/{id}.

NameTypeReqDescription
credential_idstringyesApp password id from list_mailbox_credentials
domainstringyesHosted mailbox domain
slugstringyesHosted mailbox slug

No output schema declared.

No examples provided.

revoke_token ~47

Revoke an API token immediately. The token will stop working. Use list_tokens to find token IDs.

NameTypeReqDescription
token_idstringyesID of the token to revoke (from list_tokens)

No output schema declared.

No examples provided.

rotate_email_webhook_secret ~66

Regenerate the HMAC signing secret for a mailbox webhook. The old secret is immediately invalidated. API: POST /api/emails/{address}/webhook/rotate.

NameTypeReqDescription
domainstringyesMailbox domain
slugstringyesMailbox slug

No output schema declared.

No examples provided.

search ~181

Check availability and price for one or more domains. Pass full domain names (e.g. mysite.com). For bulk TLD search, pass an array like ["myapp.com", "myapp.io", "myapp.dev"]. Uses RDAP + retail pricing.

NameTypeReqDescription
domainsarrayyesFull domain names to check, e.g. ["myapp.com", "myapp.io"]
max_pricenumberMaximum price in USD to filter results
orderstringSort order (default: asc)
sortstringSort results by price or TLD name (default: price)
sourcestringFilter results: 'all' (default), 'primary' (new registrations only), 'secondary' (marketplace listings only). Use source='secondary' with domains=['*'] to browse all marketplace listings.

No output schema declared.

No examples provided.

sell_domain ~92

List a domain you own for sale on the Domani marketplace. Buyers can purchase it directly via the API. The domain must be active and not already listed. Requires domains:write scope.

NameTypeReqDescription
descriptionstringOptional listing description
domainstringyesDomain to list for sale, e.g. premium.com
pricenumberyesSale price in USD (e.g. 5000)

No output schema declared.

No examples provided.

send_email ~309

Send an email from one of your mailboxes. Specify domain and slug to identify the sender mailbox. Supports text and/or HTML body, CC/BCC, attachments (base64), and threading via In-Reply-To/References. Rate limited to 100 sends per hour per mailbox. API: POST /api/emails/{address}/send.

NameTypeReqDescription
allow_risky_contentbooleanDeprecated compatibility field. Public HTTPS third-party auth links are allowed with a warning; objective safety blocks cannot be overridden
attachmentsarrayFile attachments (max 10, max 40MB total)
bccBCC recipient(s)
ccCC recipient(s)
domainstringyesSender mailbox domain, e.g. mysite.com or domani.run
htmlstringHTML body
idempotency_keystringUnique key to prevent duplicate sends. If a message with this key was already sent from this mailbox, the original result is returned.
in_reply_tostringMessage-ID of the email being replied to (for threading)
referencesstringSpace-separated Message-ID chain (for threading)
reply_tostringReply-to email address
slugstringyesSender mailbox slug, e.g. hello or k7x9m2
subjectstringEmail subject line
textstringPlain text body
toyesRecipient email address(es)

No output schema declared.

No examples provided.

set_auto_renew ~62

Enable or disable auto-renew for a domain you own. When enabled, the domain will be renewed automatically before expiry.

NameTypeReqDescription
domainstringyesDomain name to configure
enabledbooleanyestrue to enable auto-renew, false to disable

No output schema declared.

No examples provided.

set_catch_all ~122

Route any email sent to an unmatched address on a domain into a designated mailbox. Anything that does not match a mailbox, subaddress, or alias lands in the catch-all. The mailbox must already exist on the domain. API: PUT /api/domains/{domain}/email/catch-all.

NameTypeReqDescription
domainstringyesDomain to set the catch-all on, e.g. mysite.com
mailboxstringyesCatch-all mailbox - a bare slug ('inbox') or full address ('[email protected]') on this domain

No output schema declared.

No examples provided.

set_contact ~198

Set your WHOIS contact information (recommended for ICANN compliance, required before transfers). You can purchase domains without setting contact info first - a default contact is used until you set your own.

NameTypeReqDescription
address1stringyesStreet address line 1
address2stringStreet address line 2 (optional)
citystringyesCity
countrystringyesISO 3166-1 alpha-2 country code, e.g. US, GB, FR
emailstringyesContact email address
first_namestringyesFirst name
last_namestringyesLast name
org_namestringOrganization name (optional)
phonestringyesPhone in +CC.NUMBER format, e.g. +1.5551234567
postal_codestringyesPostal/ZIP code
statestringyesState or province

No output schema declared.

No examples provided.

set_dns ~185

Upsert DNS records for a domain you own, at the rrset level: records at a (type, name) you send replace that rrset; rrsets you don't mention are preserved (NS never touched). An automatic zone backup is taken before every write. Best practice: call get_dns first and pass its zone_version so a concurrent change fails with DNS_VERSION_CONFLICT instead of being clobbered. Common patterns: Vercel (A @ 76.76.21.21), GitHub Pages (CNAME @ user.github.io), Cloudflare Pages (CNAME @ project.pages.dev)

NameTypeReqDescription
domainstringyesDomain name to set DNS records for
recordsarrayyesArray of DNS records to set
zone_versionstringThe zone_version from get_dns - rejects the write with DNS_VERSION_CONFLICT if the zone changed since

No output schema declared.

No examples provided.

set_domain_redirect ~121

Forward a domain you own to another URL (e.g. brand.com -> brand.dev). The domain must point at domani's nameservers/parking IP. Permanent (308) by default, or temporary (307). Send an empty url to stop forwarding.

NameTypeReqDescription
domainstringyesThe domain to forward (must be one you own)
permanentbooleantrue = permanent redirect (default), false = temporary
urlstringyesTarget URL to forward to, e.g. https://brand.dev. Empty string clears the redirect.

No output schema declared.

No examples provided.

set_email_forward ~117

Configure inbound handling for a mailbox: forward incoming emails to another address (in addition to storing) and/or drop spam-flagged messages. Set forward_to to null to remove forwarding. API: PATCH /api/emails/{address}.

NameTypeReqDescription
domainstringyesMailbox domain
drop_spambooleanIf true, spam-flagged inbound is dropped (not stored or webhooked)
forward_toEmail address to forward to, or null to remove
slugstringyesMailbox slug

No output schema declared.

No examples provided.

set_email_webhook ~111

Set or remove the inbound webhook URL for a mailbox. When set, incoming emails are POSTed to this URL in real-time with HMAC-SHA256 signing. Must be HTTPS. Set to null to remove. API: PUT /api/emails/{address}/webhook or DELETE /api/emails/{address}/webhook.

NameTypeReqDescription
domainstringyesMailbox domain
slugstringyesMailbox slug
webhook_urlyesHTTPS webhook URL, or null to remove

No output schema declared.

No examples provided.