OSIR Domain Registrar

com.osirPublished by osir.comOfficial publisherv2.4.2Updated Oct 24, 2026

Register, renew, transfer, and manage domains, DNS, VPS, and email with 106 tools. By OSIR.

Overview

AI-generated overview

OSIR's remote MCP server lets an assistant check, register, renew and transfer domains and manage DNS, VPS, email hosting, billing and account data.

What you can do
Check domain availability, pricing, TLDs and keyword suggestions, then stage registrations, renewals and transfers with lock, privacy, auto-renew and nameserver changes. List, create, update and delete DNS records, hosts and glue records, and read a domain's audit trail. Browse VPS packages, locations and OS templates, order or delete instances, install an OS, manage SSH keys and open the control panel. Enable mail hosting, quote, create and delete mailboxes, set passwords and verify mail DNS. Read account profile, balance, invoices, payments and audit logs, and stage payments or balance top-ups. Deploy and manage hosted apps and single-page sites, including logs, secrets and managed PostGIS
When to use it
Use it when you want an assistant to handle domain and hosting work end to end: finding an available name, registering it, wiring up DNS and email, or provisioning a VPS. It suits users who already hold an OSIR account and want conversational control over their domains, servers and billing.
Requirements
A remote streamable HTTP endpoint; no local runtime or package. Most tools need an authenticated session, obtained either through OAuth on the connector or an in-chat device login with a browser. Anonymous calls cover availability, TLD and catalog pricing.
Before you install
Many tools spend money or are destructive: registrations, renewals, transfers, VPS orders, mailbox creation and balance top-ups are billable, and deleting DNS records, hosts, contacts, mailboxes or VPS instances is irreversible. Destructive and financial actions are staged and only run through executeConfirmedAction after approval, and the action expires after five minutes. Sessions are short-lived; log out to revoke access.

Installation

In SourceWeft

  1. Open OSIR Domain Registrar in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.osir%2Fdomain-registrar/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "osir-domain-registrar": {
      "type": "http",
      "url": "https://be.osir.com/mcp/http"
    }
  }
}

README

OSIR Agent Platform

AI integration servers for the OSIR domain registrar. Connect Claude, ChatGPT, or any AI assistant to real domain, DNS, VPS, billing, and account operations — either as individual tools (MCP) or as task-solving specialist agents (A2A).

Two servers, one shared backend client library:

ServerPortProtocolWhat it gives an AI
MCP Server8081Model Context Protocol (SSE + Streamable HTTP)103 fine-grained tools (checkDomainAvailability, registerDomain, createDnsRecord, createMailbox, osirSitePublish, …) + 11 guided prompts
A2A Server8082Google Agent-to-Agent (JSON-RPC 2.0)9 specialist agents with 89 skills and an orchestrator for multi-step workflows

Use MCP when one assistant should call individual operations. Use A2A when you want to hand a whole task ("set up example.com with DNS and check my balance") to agents that coordinate the work.


What is MCP?

MCP (Model Context Protocol) is an open standard that connects AI assistants to external tools and data. An MCP server publishes a set of callable tools; any MCP client — Claude Desktop, Cursor, Copilot, or a custom agent — can discover and invoke them. OSIR implements an MCP server purpose-built for domain and infrastructure management, which is what makes it an AI-native registrar rather than a traditional one with a chat box bolted on.

Connect OSIR to Claude

In Claude, open Settings → Connectors → Add custom connector, then pick one of two setups:

Option A: No sign-in (recommended)Option B: OAuth
Server URLhttps://be.osir.com/mcp/httphttps://be.osir.com/mcp/oauth
AuthenticationNo sign-inSign in now
OAuth client—Use your own OAuth client, Client ID mcp-client, secret blank
LoginIn the chat, one conversation at a time (below)Browser login when you add the connector; the connector stays signed in

For Option B, don't pick "Use Claude's published identity" or "Register automatically". OSIR doesn't support either one.

Option A: signing in happens inside the conversation. The first time your assistant needs an authenticated tool, it starts a device login: you get a link to auth.osir.com and a short code, you approve in your browser, and the assistant continues with a session scoped to that conversation. Sessions are deliberately short-lived (they expire after ~30 minutes of inactivity, 8 hours maximum) and end instantly when you say "log me out" — so a connected chat never holds standing access to your domains, servers, and billing.

The same URL works in any MCP client that supports a remote (streamable HTTP) server and can drive the in-chat device login.

Self-hosting note: /mcp/oauth always requires OAuth: it returns 401 with an RFC 9728 challenge. The URL-only /mcp/http needs MCP_OAUTH_CHALLENGE_ENABLED=false. If you leave that at its default (true), every MCP path requires OAuth. Session lifetimes are tunable via MCP_SESSION_IDLE_MINUTES and MCP_SESSION_MAX_HOURS.

What your assistant can do

CapabilityExample request
Search availability"Is coolstartup.io available, and what does it cost?"
Register a domain"Register it for two years with WHOIS privacy."
Manage DNS"Point it at 192.0.2.10 and add my email records."
Renew and transfer"Renew everything expiring in the next 30 days."
Provision a VPS"Spin up a 2 vCPU server in Frankfurt running Ubuntu."
Host email"Enable email on example.com and create info@ with a 10 GB mailbox."

Running the servers yourself

Want to host your own instance or develop against the code? Requires Java 21; Gradle is bundled via the wrapper.

bash
# Run the MCP server (port 8081)./gradlew :mcp-server:quarkusDev
# Run the A2A server (port 8082)./gradlew :a2a-server:quarkusDev

Copy .env.example to .env and adjust if you're pointing at your own backend/KeyCloak. Everything defaults to the public OSIR endpoints, so the servers run out of the box.

Connect an MCP client (Claude Desktop / Claude Code)

Add to your client's MCP config (e.g. claude_desktop_config.json):

json
{  "mcpServers": {    "osir": { "url": "http://localhost:8081/mcp/sse" }  }}

Restart the client and the OSIR tools appear. Then just ask:

"Is pizzashqip.al available? If not, suggest alternatives." "List all my domains and show which expire in the next 30 days." "Add an A record pointing example.al to 203.0.113.10 and a CNAME for www."

Most operations need authentication — ask the assistant to "log me in to OSIR using the device flow" and it walks you through browser-based OAuth (KeyCloak, RFC 8628).

Call the A2A server

bash
# Discover the agentscurl http://localhost:8082/.well-known/agents | jq '.[].name'
# Send a task (the platform routes it to the right specialist)curl -X POST http://localhost:8082/a2a \  -H "Content-Type: application/json" \  -H "Authorization: Bearer YOUR_TOKEN" \  -d '{    "jsonrpc": "2.0", "id": "1", "method": "tasks/send",    "params": { "message": { "role": "user",      "parts": [{"type": "text", "text": "Check if example.com is available"}] } }  }'

Tasks stream over POST /a2a/stream (SSE), support multi-turn input-required flows, and the orchestrator decomposes complex requests across agents (max 15 steps).


What you can do

Domains — availability, registration, renewal, transfer, lock/unlock, auto-renew, WHOIS privacy, nameservers, AI-powered name suggestions. DNS — list/create/update/delete records. VPS — browse packages and locations, order, manage, panel login. Billing — balance, invoices, payments, fee previews, domain pricing. Contacts, Transfers, Hosts, Audit logs, Account profile & summary.

Full tool/skill catalog, example conversations, and end-to-end walkthroughs are in GUIDE.md.

Tools

106 tools, verified against the live server (tools/list on https://be.osir.com/mcp/http).

  • addPrefixToDomain - Generate domain suggestions by adding prefixes.
  • addSshKey - Store an SSH public key on your account so it can be injected into VPS installs.
  • addSuffixToDomain - Generate domain suggestions by adding suffixes.
  • buildVpsInstance - Stage an operating system install on a VPS instance.
  • bulkDomainSuggestions - Generate domain name suggestions for one or more keywords across a chosen set of TLDs.
  • cancelTransfer - Stage cancellation of a pending domain transfer.
  • changeVpsPaymentTerm - Stage a change of the payment term (billing cycle) for a VPS instance; confirm with executeConfirmedAction.
  • checkDeviceLoginStatus - Poll for device login completion.
  • checkDomainAvailability - Check if a domain name is available for registration, with price.
  • checkHostAvailability - Check if a host/glue record name is available for creation.
  • checkKeywordAvailability - Check keyword availability across all supported TLDs and registries with detailed results.
  • checkKeywordAvailabilitySummary - Check keyword availability summary statistics without detailed domain results (faster).
  • countMyVpsInstances - Get the total count of VPS instances owned by the authenticated user.
  • createAccount - Create a new OSIR customer account.
  • createContact - Create a new contact for use with domain registrations.
  • createDnsRecord - Create a new DNS record for a domain.
  • createHost - Create a new host/glue record (e.g., for custom nameservers).
  • createMailbox - Stage creation of a paid mailbox on a mail-enabled domain.
  • createPaymentSession - Stage creation of a Stripe payment checkout session to add funds to account balance.
  • deleteContact - Stage deletion of a contact.
  • deleteDnsRecord - Stage deletion of a DNS record.
  • deleteHost - Stage deletion of a host/glue record.
  • deleteMailbox - Stage deletion of a mailbox.
  • deleteSshKey - Stage removal of an SSH key from your account; confirm with executeConfirmedAction.
  • deleteVpsInstance - Stage deletion/cancellation of a VPS instance.
  • enableMailDomain - Enable email hosting on a domain you own.
  • executeConfirmedAction - Execute a previously staged destructive or financial action after user approval.
  • fundBalanceWithSharedPaymentToken - Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR, so an agent can pay for a purchase without sending anyone to a checkout page.
  • generateDomainSuggestions - Generate domain name suggestions based on keywords.
  • getAccountBalance - Get the current account balance for the authenticated user.
  • getAccountSummary - Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers.
  • getAuthStatus - Check whether the current session is authenticated.
  • getContact - Get detailed information about a specific contact.
  • getContactsForDomain - Get all contacts (registrant, admin, tech, billing) assigned to a domain.
  • getDedicatedServerCatalog - Get all available dedicated server configurations with pricing and specifications.
  • getDnsRecord - Get details of a specific DNS record.
  • getDomainAuditTrail - Get the audit trail (history of all changes) for a specific domain.
  • getDomainExtensions - Get all available domain extensions (TLDs) with pricing information.
  • getDomainInfo - Get detailed information about a domain including expiration date, nameservers, and status.
  • getDomainPricing - Get pricing for domain extensions from the product catalog.
  • getHostingBundle - Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and app/site deployment (builds are free; going live runs on a VPS).
  • getHostsForDomain - List all host/glue records associated with a domain.
  • getInvoiceDetails - Get detailed information about a specific invoice including line items.
  • getInvoiceStatistics - Get summary statistics of invoices: total paid, pending, overdue amounts.
  • getMailboxQuote - Get a display-only price quote for a mailbox plan.
  • getMailboxUsage - Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes.
  • getMailDnsRecords - Get the DNS records a mail domain needs (MX, SPF, DKIM, ...) - for customers managing DNS externally.
  • getMyAuditLogs - Get recent audit logs for the authenticated user across all services.
  • getMyProfile - Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts.
  • getPaymentTransactions - Get payment transaction history for the authenticated user.
  • getProductCatalog - Get the complete product catalog including domain extensions, VPS packages, and dedicated servers.
  • getRecentActivity - Get the most recent activity across all domains and services for the user.
  • getTransferQuote - Get a transfer price quote for a domain.
  • getTransferStatus - Check the current status of a domain transfer.
  • getVpsInstanceDetails - Get detailed information about a specific VPS instance including resource usage.
  • getVpsPackageDetails - Get detailed information about a specific VPS package including all pricing tiers.
  • initializeDnsZone - Initialize (create) the DNS zone for a domain.
  • initiateTransfer - Stage initiation of a domain transfer from another registrar.
  • listCategorizedTlds - List TLDs from the OSIR catalog that have category and audience metadata populated.
  • listContacts - List all contacts for the authenticated user with optional search.
  • listDnsRecords - List all DNS records for a domain.
  • listInvoices - List invoices for the authenticated user with optional status filtering and pagination.
  • listMailboxes - List your mailboxes with plan, payment term, status, and next renewal date.
  • listMailDomains - List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode.
  • listMailPlans - List available email mailbox plans with quotas and prices (monthly and annual, in cents).
  • listMySshKeys - List the SSH keys stored on your account, with their ids and SHA256 fingerprints.
  • listMyVpsInstances - List all VPS instances owned by the authenticated user.
  • listPendingTransfers - List all pending incoming (gaining) domain transfers.
  • listUserDomains - List all domains owned by the authenticated user.
  • listVpsLocations - List available VPS hosting locations (cities/countries) with available packages.
  • listVpsOsTemplates - List operating system templates available to install.
  • listVpsPackages - List available VPS hosting packages with pricing, specs, and locations.
  • lockDomain - Enable registrar lock on a domain to prevent unauthorized transfers.
  • loginToVpsPanel - Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server.
  • loginWithDevice - Start a device authorization login (RFC 8628).
  • logout - Log out: revokes the session's tokens at the identity provider immediately.
  • orderVps - Stage an order for a new VPS instance.
  • osirAppCreateUpload - Create an upload ticket for deploying app source code to Osir.
  • osirAppDelete - Stage deletion of an Osir app.
  • osirAppDeploy - Deploy an app to Osir (free tier) and get a live HTTPS URL; the app runs isolated in a microVM. Redeploying an app that was moved to the user's own VPS updates it there and keeps its domain.
  • osirAppGetSource - Get a short-lived signed download URL for an Osir app's current source zip - use this to make edits to a deployed app without the user re-attaching the project: download, patch the files, then osirAppCreateUpload (PUT the new zip) and osirAppDeploy under the SAME name; the platform rebuilds and, for owned-tier apps, auto-ships the new version to the user's box.
  • osirAppList - List the authenticated user's deployed Osir apps with their live URLs and status.
  • osirAppLogs - Get recent logs from an Osir app's microVM ('why is my app broken?').
  • osirAppDeployToVps - Deploy a live Osir app onto a VPS the user owns, moving it off the shared free tier: attach one they already have (instanceId, spends nothing) or order one (packageId, gated). The platform ships the app over its own deploy key - never SSH, never an install script.
  • osirAppProvisionDatabase - Provision a managed Postgres database for an Osir app.
  • osirAppSetSecret - Set an environment secret for an Osir app (e.g.
  • osirAppStatus - Get an Osir app's current status, live URL, and health ('is my app working?').
  • osirSiteDesignBrief - Step 1 of designing a website with OSIR.
  • osirSitePublish - Publish a single-page website to a live HTTPS URL on Osir (free tier) - ANY complete HTML document works: the user's own site, a page designed in this chat, or one from the osirSiteDesignBrief flow. Republishing a site that was moved to the user's own VPS updates it there.
  • payInvoice - Stage payment of an outstanding invoice from account balance.
  • previewPaymentFees - Preview the fees that would be charged for a given payment amount.
  • registerDomain - Stage registration of a new domain name.
  • renewDomain - Stage renewal of a domain for a specified number of years.
  • setMailboxPassword - Set a new password on a mailbox.
  • spinDomainWords - Generate domain suggestions by spinning/replacing words.
  • suggestAlternatives - Suggest alternative domain names if the requested one is unavailable (legacy method).
  • transferDomain - Stage transfer of a domain from another registrar to OSIR.
  • unlockDomain - Stage removal of registrar lock from a domain to allow transfers.
  • updateContact - Update an existing contact's information.
  • updateDnsRecord - Update an existing DNS record.
  • updateDomainAutoRenew - Enable or disable auto-renewal for a domain.
  • updateDomainPrivacy - Enable or disable WHOIS privacy protection for a domain.
  • updateNameservers - Update nameservers for a domain.
  • validateDomainName - Validate if a domain name format is correct.
  • verifyAccount - Verify a newly created OSIR account with the code from the verification email - step 2 of onboarding, no authentication required.
  • verifyMailDns - Check that a mail domain's DNS records resolve; activates the domain for email when all records are found.

Build, test, deploy

bash
./gradlew build        # build all modules + run tests./gradlew test         # tests only
docker-compose up -d   # run both servers in containers

The provided docker-compose.yml, build-and-deploy.bat, and the CI workflow reference a placeholder container registry (registry.example.com) — point them at your own. See DEPLOYMENT.md for the production checklist (PostgreSQL, TLS, scaling).

Configuration

All settings are environment variables with sensible defaults — nothing secret is committed.

VariableDefaultDescription
OSIR_BACKEND_URLhttps://be.osir.comBackend API
KEYCLOAK_URLhttps://auth.osir.comKeyCloak auth server
KEYCLOAK_REALMosirKeyCloak realm
KEYCLOAK_CLIENT_IDosir-cliOAuth client ID
CORS_ORIGINShttps://osir.com,…Allowed CORS origins
A2A_SIGNING_SECRET(empty)Optional HMAC-SHA256 request signing
SENTRY_DSN(empty)Optional crash reporting to a Sentry-protocol endpoint (GlitchTip); empty = off
SENTRY_ENVIRONMENTproductionEnvironment label on reported events

See .env.example for the full list.

Project layout

common/      Shared library — 12 services, 9 REST clients, ~174 modelsmcp-server/  Quarkus MCP server — 106 tools, 11 prompts, 2 resourcesa2a-server/  Quarkus A2A server — 9 agents, 89 skills, JSON-RPC, JPA task persistence

Both servers depend on common, so a backend operation is implemented once and exposed two ways.

Documentation

  • GUIDE.md — complete usage guide, tool reference, walkthroughs
  • WEBSITE-DESIGN.md — AI website design: customer guide, use cases, frontend integration
  • DEVELOPING.md — repo layout, build/run commands, architecture notes
  • VPS-OS-BUILD.md — ordering a VPS with an OS, SSH keys, reinstall, and the OSIR APP DEPLOY flow. Read this before touching the VPS tools: ordering and building are two separate VirtFusion steps, and orderVps alone hands over a server with no operating system.
  • A2A-API-REFERENCE.md — A2A protocol spec (methods, errors, agents)
  • A2A-ARCHITECTURE.md — A2A design document
  • A2A-CONFIRMATION-GATE-SPEC.md — staging destructive ops behind executeConfirmedAction
  • DEPLOYMENT.md — production deployment checklist

License

Apache License 2.0.

Source: README.md at commit b3ee11b

Tools

106

addPrefixToDomain

Add domain prefixes

addPrefixToDomain: Generate domain suggestions by adding prefixes to a base name.

ParameterslangnamerequiredtldsmaxResultsvocabulary

addSshKey

Add SSH key

addSshKey: Store an SSH public key on your account so it can be injected into VPS installs. Idempotent: storing a key you already have returns the existing one instead of creating a duplicate, so it is safe to call before every order. Returns the key id to pass to orderVps or buildVpsInstance. Requires authentication.

ParametersnamerequiredpublicKeyrequiredsessionKey

addSuffixToDomain

Add domain suffixes

addSuffixToDomain: Generate domain suggestions by adding suffixes to a base name.

ParameterslangnamerequiredtldsmaxResultsvocabulary

buildVpsInstance

Install OS on VPS

buildVpsInstance: Stage an operating system install (or reinstall) on a VPS instance. DESTRUCTIVE: ERASES ALL DATA on the server, including any deployed application, and cannot be undone. The install is asynchronous; afterwards poll getVpsInstanceDetails until buildState is COMPLETE. If an Osir app was deployed onto this instance, a rebuild erases it; re-attach it afterwards with osirAppDeployToVps. Never rebuild a box just to install an app runtime by hand. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersswaphostnamesshKeyIdsinstanceIdrequiredsessionKeyoperatingSystemIdrequired

bulkDomainSuggestions

Bulk domain suggestions

bulkDomainSuggestions: Generate domain suggestions for 1-10 keywords across 1-6 TLDs (hard cap), grouped by originating keyword. Typical flow: call listCategorizedTlds first to pick 3-6 TLDs, then this tool. Per-suggestion availability may be "available", "taken", or "unknown"; confirm "unknown" or premium-TLD names with checkDomainAvailability before recommending.

ParameterslangtldsrequiredkeywordsrequiredmaxResults

cancelTransfer

Cancel domain transfer

cancelTransfer: Stage cancellation of a pending domain transfer. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersdomainrequiredsessionKey

changeVpsPaymentTerm

Change VPS payment term

changeVpsPaymentTerm: Stage a change of the payment term (billing cycle) for a VPS instance. Affects what you are billed. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersinstanceIdrequiredsessionKeypaymentTermrequired

checkDeviceLoginStatus

Check device login status

checkDeviceLoginStatus: Poll for device login completion. Call this after loginWithDevice() once you have opened the verification URL and signed in. Required: deviceCode (the device_code returned by loginWithDevice). On success returns a sessionKey; pass it as the sessionKey argument on every subsequent authenticated tool call.

ParametersdeviceCoderequired

checkDomainAvailability

Check domain availability

checkDomainAvailability: Check if a domain name is available for registration, with price. No authentication required; anonymous callers get list pricing, authenticated callers get their account pricing. Required: domain (e.g., 'example.com')

ParametersdomainrequiredsessionKey

checkHostAvailability

Check host availability

checkHostAvailability: Check if a host/glue record name is available for creation. Requires authentication. Returns whether the hostname is free; call before createHost.

ParametershostnamerequiredsessionKey

checkKeywordAvailability

Check keyword availability

checkKeywordAvailability: Check keyword availability across all supported TLDs and registries with detailed per-domain results. Use checkKeywordAvailabilitySummary instead when you only need counts; it is faster.

Parameterstldskeywordrequiredregistries

checkKeywordAvailabilitySummary

Keyword availability summary

checkKeywordAvailabilitySummary: Check keyword availability across TLDs and registries. Summary statistics only (no per-domain results), faster than checkKeywordAvailability.

Parameterstldskeywordrequiredregistries

countMyVpsInstances

Count my VPS instances

countMyVpsInstances: Get the total count of VPS instances owned by the authenticated user. Requires authentication.

ParameterssessionKey

createAccount

Create account

createAccount: Create a new OSIR customer account; step 1 of onboarding, no authentication required. The contact must be the PRINCIPAL's real ICANN registrant contact (the human or business the account is for), never the AI agent itself. Sends a verification email; complete via verifyAccount with the emailed code. While PENDING_VERIFICATION the account can search, quote and fund; billable actions need ACTIVE. Calling again for a PENDING account re-sends the verification email.

ParametersemailrequiredcontactrequiredpasswordagentNameaccountTyperequiredagentVendortermsVersionrequiredacceptedTermsrequiredprincipalReference

createContact

Create contact

createContact: Create a new contact for use with domain registrations. Requires authentication. Returns the created contact including its id for assignment to domains.

Parameterscityrequiredemailrequiredphonerequiredstatecountryrequiredstreet1requiredstreet2lastNamerequiredfirstNamerequiredpostalCoderequiredsessionKeyorganization

createDnsRecord

Create DNS record

createDnsRecord: Create a new DNS record for a domain. Requires authentication. For newly registered domains the zone is initialized automatically if missing. Returns the created record including its id for later updates or deletion.

ParametersttlnamerequiredtyperequireddomainrequiredcontentrequiredprioritysessionKey

createHost

Create host record

createHost: Create a new host/glue record, e.g. for custom nameservers like 'ns1.example.com'. Requires authentication. Check the name first with checkHostAvailability. Returns the created host record.

ParametershostnamerequiredsessionKeyipAddressesrequired

createMailbox

Create mailbox

createMailbox: Stage creation of a paid mailbox on a mail-enabled domain. BILLABLE: deducts from account balance; get a quote with getMailboxQuote and confirm the price with the user first. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve. The result of the confirmed action contains the generated password EXACTLY ONCE; it can never be retrieved again, so show it to the user immediately (they can change it later with setMailboxPassword). Also share the client settings from the result (IMAP/SMTP/webmail).

ParameterstermdomainrequiredlocalPartrequiredpackageIdrequiredsessionKey

createPaymentSession

Create payment session

createPaymentSession: Stage a Stripe checkout session to add funds to the account balance. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve. The executed result includes checkoutUrl (hand it to the human to pay) and expiresAt; then poll getPaymentTransactions until the balance credit appears.

ParametersamountrequiredcurrencysessionKey

deleteContact

Delete contact

deleteContact: Stage deletion of a contact. DESTRUCTIVE; fails if the contact is assigned to active domains. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParameterscontactIdrequiredsessionKey

deleteDnsRecord

Delete DNS record

deleteDnsRecord: Stage deletion of a DNS record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersdomainrequiredrecordIdrequiredsessionKey

deleteHost

Delete host record

deleteHost: Stage deletion of a host/glue record. DESTRUCTIVE and irreversible once executed. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametershostnamerequiredsessionKey

deleteMailbox

Delete mailbox

deleteMailbox: Stage deletion of a mailbox. The mailbox stops working immediately and its data is destroyed after a 14-day grace period. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersmailboxIdrequiredsessionKey

deleteSshKey

Delete SSH key

deleteSshKey: Stage removal of an SSH key from your account. This does not affect servers already built with it, and the key can simply be added again. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParameterskeyIdrequiredsessionKey

deleteVpsInstance

Delete VPS instance

deleteVpsInstance: Stage deletion/cancellation of a VPS instance. DESTRUCTIVE and irreversible. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersinstanceIdrequiredsessionKey

enableMailDomain

Enable mail domain

enableMailDomain: Enable email hosting on a domain you own. Free; mailboxes are what cost money. If the call fails with a DNS conflict (an existing SPF or MX record), ask the user for explicit consent, then re-call with spfMergeConfirmed=true and/or takeoverConfirmed=true. Requires authentication.

ParametersdomainrequireddnsModesessionKeyspfMergeConfirmedtakeoverConfirmed

executeConfirmedAction

Execute confirmed action

executeConfirmedAction: Execute a previously staged destructive or financial action after user approval. The action expires after 5 minutes and can only be executed once.

ParametersactionIdrequiredsessionKey

fundBalanceWithSharedPaymentToken

Fund balance with a shared payment token

fundBalanceWithSharedPaymentToken: Stage adding funds to the balance by charging a Stripe Shared Payment Token the customer granted to OSIR. Use when a purchase (registerDomain, renewDomain, transferDomain, orderVps) failed for insufficient funds: that error tells you the networkId to mint against and both amounts. Mint the token for the GROSS and pass the NET as creditCents. Tokens are single-use. Requires authentication. Returns an actionId; tell the user what the card will be charged, then call executeConfirmedAction with the actionId if they approve. If this fails in any way you cannot fix by minting a fresh token, fall back to createPaymentSession and give the user the checkout URL.

ParameterscurrencysessionKeycreditCentsrequireddescriptionmaxChargeCentssharedPaymentTokenrequired

generateDomainSuggestions

Generate domain suggestions

generateDomainSuggestions: Generate domain name suggestions based on keywords. This is the preferred suggestion tool for a single keyword; use it over suggestAlternatives. Returns suggested names with availability.

ParameterslangnamerequiredtldsmaxResultsuseNumbers

getAccountBalance

Get account balance

getAccountBalance: Get the current account balance for the authenticated user. Requires authentication.

ParameterssessionKey

getAccountSummary

Get account summary

getAccountSummary: Get a comprehensive summary of the user's account: profile, balance, domain count, VPS count, and pending transfers. Requires authentication.

ParameterssessionKey

getAuthStatus

Get authentication status

getAuthStatus: Check whether the current session is authenticated. Returns authenticated status and token expiry. Optional: sessionKey (from checkDeviceLoginStatus).

ParameterssessionKey

getContact

Get contact

getContact: Get detailed information about a specific contact. Requires authentication. Get the contactId from listContacts. Returns name, email, phone, organization, and address.

ParameterscontactIdrequiredsessionKey

getContactsForDomain

Get domain contacts

getContactsForDomain: Get all contacts (registrant, admin, tech, billing) assigned to a domain. Requires authentication. Returns the contact assigned to each role.

ParametersdomainrequiredsessionKey

getDedicatedServerCatalog

Get dedicated server catalog

getDedicatedServerCatalog: Get all available dedicated server configurations with pricing and specifications. No authentication required.

Takes no parameters.

getDnsRecord

Get DNS record

getDnsRecord: Get details of a specific DNS record by id. Requires authentication. Get the recordId from listDnsRecords. Returns the record's name, type, content, TTL, and priority.

ParametersdomainrequiredrecordIdrequiredsessionKey

getDomainAuditTrail

Get domain audit trail

getDomainAuditTrail: Get the audit trail (history of all changes) for a specific domain. Requires authentication.

ParametersdomainrequiredsessionKey

getDomainExtensions

Get domain extensions

getDomainExtensions: Get all available domain extensions (TLDs) with pricing information. No authentication required.

Takes no parameters.

getDomainInfo

Get domain details

getDomainInfo: Get registry (EPP) state plus account settings for one domain: status, nameservers, lock state, auto-renew, privacy, creation/expiry dates, premium/expired/redemption info. Dates are null while a registration is still pending at the registry; autoRenew is omitted for transferredOut domains.

ParametersdomainrequiredsessionKey

getDomainPricing

Get domain pricing

getDomainPricing: Get pricing for domain extensions from the product catalog. Requires authentication.

ParametersextensionsessionKey

getHostingBundle

Get hosting bundle

getHostingBundle: Get the hosting options and exact prices for a specific domain: recommended VPS packages (cheapest first), email plans, web forwarding, and app/site deployment. No authentication required. Call this ONCE after a successful availability check or registration to make a concise hosting offer; do not repeat the offer in the same conversation. Prices are display prices; the authoritative amount is computed at purchase.

Parametersdomainrequired

getHostsForDomain

List host records

getHostsForDomain: List all host/glue records associated with a domain. Requires authentication. Returns each host name and its IP addresses.

ParametersdomainrequiredsessionKey

getInvoiceDetails

Get invoice details

getInvoiceDetails: Get detailed information about a specific invoice including line items. Requires authentication.

ParametersinvoiceIdrequiredsessionKey

getInvoiceStatistics

Get invoice statistics

getInvoiceStatistics: Get summary statistics of invoices: total paid, pending, overdue amounts. Requires authentication.

ParameterssessionKey

getMailDnsRecords

Get mail DNS records

getMailDnsRecords: Get the DNS records a mail domain needs (MX, SPF, DKIM, ...), for customers managing DNS externally. Requires authentication.

ParametersdomainrequiredsessionKey

getMailboxQuote

Get mailbox quote

getMailboxQuote: Get a display-only price quote for a mailbox plan. The backend re-derives the authoritative price at purchase. Requires authentication.

ParameterstermpackageIdrequiredsessionKey

getMailboxUsage

Get mailbox usage

getMailboxUsage: Get disk usage per mailbox in bytes, for quota display alongside the plan's quotaBytes. Requires authentication.

ParameterssessionKey

getMyAuditLogs

Get my audit logs

getMyAuditLogs: Get recent audit logs for the authenticated user across all services. Requires authentication.

ParameterspagesizesessionKey

getMyProfile

Get my profile

getMyProfile: Get the authenticated user's profile and account information including name, email, organization, balance, and domain/VPS counts. Requires authentication.

ParameterssessionKey

getPaymentTransactions

Get payment transactions

getPaymentTransactions: Get payment transaction history for the authenticated user. Requires authentication.

ParameterspagesizesessionKey

getProductCatalog

Get product catalog

getProductCatalog: Get the complete product catalog including domain extensions, VPS packages, and dedicated servers. No authentication required.

Takes no parameters.

getRecentActivity

Get recent activity

getRecentActivity: Get the most recent activity across all domains and services for the user. Requires authentication.

ParameterssessionKey

getTransferQuote

Get transfer quote

getTransferQuote: Get a transfer price quote for a domain. Requires authentication. Returns transfer price, currency, extension years, and new expiration date. Call before initiateTransfer to show the user the cost.

ParametersdomainrequiredsessionKey

getTransferStatus

Get transfer status

getTransferStatus: Check the current status of a domain transfer. Requires authentication. Returns status, request date, current registrar, and expected completion.

ParametersdomainrequiredsessionKey

getVpsInstanceDetails

Get VPS instance details

getVpsInstanceDetails: Get detailed information about a specific VPS instance including resource usage. Requires authentication.

ParametersinstanceIdrequiredsessionKey

getVpsPackageDetails

Get VPS package details

getVpsPackageDetails: Get detailed information about a specific VPS package including all pricing tiers. Requires authentication. For anonymous browsing use listVpsPackages, which already includes per-term pricing.

ParameterspackageIdrequiredsessionKey

initializeDnsZone

Initialize DNS zone

initializeDnsZone: Initialize (create) the DNS zone for a domain. NOT needed after registerDomain, which initializes the zone automatically. Use only for pre-existing domains without a zone (e.g. after a transfer, or if registration opted out with initializeDnsZone:false). Safe on existing zones, it will not overwrite records. Requires authentication.

ParametersdomainrequiredsessionKey

initiateTransfer

Initiate domain transfer

initiateTransfer: Starts a transfer for a domain already prepared at the losing registrar (unlocked, auth code in hand). transferDomain (domain tools) stages transfer + registrant assignment in one step; use that when the user gives you contact details. Deducts from account balance. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersdomainrequiredauthCoderequiredsessionKey

listCategorizedTlds

List categorized TLDs

listCategorizedTlds: List TLDs from the OSIR catalog that have category and audience metadata, with registration and renewal prices as decimal strings (e.g. '10.39'). Use it to pick 3-6 relevant TLDs before calling bulkDomainSuggestions. Filters: price cap, exclude ccTLDs/restricted/premium, registry. Returns unranked candidates with categories, audience, prices, and flags. No auth required.

ParametersregistryexcludeCcTLDsexcludePremiummaxRegisterPriceexcludeRestricted

listContacts

List contacts

listContacts: List all contacts for the authenticated user, optionally filtered by a search term. Requires authentication. Returns each contact with its id for use in getContact, updateContact, deleteContact, or domain registration.

ParameterssearchsessionKey

listDnsRecords

List DNS records

listDnsRecords: List all DNS records for a domain. Requires authentication. Returns each record with its id, name, type, content, TTL, and priority; use the record id with getDnsRecord, updateDnsRecord, or deleteDnsRecord.

ParametersdomainrequiredsessionKey

listInvoices

List invoices

listInvoices: List invoices for the authenticated user with optional status filtering and pagination. Requires authentication.

ParameterspagesizestatussessionKey

listMailDomains

List mail domains

listMailDomains: List your domains that are enabled for email hosting, with status (PENDING_DNS or ACTIVE) and DNS mode. Requires authentication.

ParameterssessionKey

listMailPlans

List mail plans

listMailPlans: List available email mailbox plans with quotas and prices (monthly and annual, in cents). Requires authentication. Always quote prices from here, never from memory.

ParameterssessionKey

listMailboxes

List mailboxes

listMailboxes: List your mailboxes with plan, payment term, status, and next renewal date. Requires authentication.

ParameterssessionKey

listMySshKeys

List SSH keys

listMySshKeys: List the SSH keys stored on your account, with their ids and SHA256 fingerprints. Use this to check whether a key is already stored and to get the ids to pass to orderVps or buildVpsInstance. Requires authentication.

ParameterssessionKey

listMyVpsInstances

List my VPS instances

listMyVpsInstances: List all VPS instances owned by the authenticated user. An instanceId from this list is what osirAppDeployToVps takes to put an app on a server the user already owns, at no cost. Requires authentication.

ParameterssessionKey

listPendingTransfers

List pending transfers

listPendingTransfers: List all pending incoming (gaining) domain transfers. Requires authentication. Returns each transfer with its status, request date, current registrar, and expected completion.

ParameterssessionKey

listUserDomains

List my domains

listUserDomains: List all domains owned by the authenticated user. No parameters required. Must be authenticated first.

ParameterssessionKey

listVpsLocations

List VPS locations

listVpsLocations: List available VPS hosting locations (cities/countries) with available packages. No authentication required.

Takes no parameters.

listVpsOsTemplates

List VPS OS templates

listVpsOsTemplates: List operating system templates available to install. Requires authentication. Pass EXACTLY ONE of packageId (to pick an operatingSystemId for orderVps, so the server arrives with an OS on it) or instanceId (to pick a template for reinstalling via buildVpsInstance). The two are not interchangeable: the available set depends on the package. Template ids change over time, so always resolve an id here rather than reusing a remembered or hardcoded one.

ParameterspackageIdincludeEolinstanceIdsessionKey

listVpsPackages

List VPS packages

listVpsPackages: List available VPS hosting packages with pricing, specs, and locations. No authentication required.

Takes no parameters.

lockDomain

Lock a domain

lockDomain: Enable registrar lock on a domain to prevent unauthorized transfers.

ParametersdomainrequiredsessionKey

loginToVpsPanel

Log in to VPS panel

loginToVpsPanel: Generate a one-time login URL to the VPS control panel (VirtFusion) for managing the server. Requires authentication.

ParametersinstanceIdrequiredsessionKey

loginWithDevice

Start device login

loginWithDevice: Start a device authorization login (RFC 8628). Returns a verificationUri and userCode. Open the URI in your browser, enter the code, and sign in with your OSIR credentials. Then call checkDeviceLoginStatus with the returned deviceCode to complete login. No parameters required.

Takes no parameters.

logout

Log out

logout: Log out: revokes the session's tokens at the identity provider immediately. Optional: sessionKey (from checkDeviceLoginStatus); pass it to end that conversation session.

ParameterssessionKey

orderVps

Order a VPS

orderVps: Stage an order for a new VPS instance; deducts from account balance. If this server is being ordered to host an Osir app, do NOT configure it by hand afterwards: deploy the app with osirAppDeploy, then put it on the box with osirAppDeployToVps. Requires authentication. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametershostnamerequiredpackageIdrequiredsshKeyIdssessionKeypaymentTermrequiredoperatingSystemId

osirAppCreateUpload

Create app upload ticket

osirAppCreateUpload: Create an upload ticket for deploying app source code to Osir. Returns an uploadTicket, a putUrl, and instructions to zip the project and upload it. After uploading, call osirAppDeploy with the uploadTicket. Requires authentication.

ParameterssessionKey

osirAppDelete

Delete an app

osirAppDelete: Stage deletion of an Osir app. DESTRUCTIVE and irreversible: removes its microVM, image, route, and data. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve. Requires authentication.

ParametersappIdrequiredsessionKey

osirAppDeploy

Deploy an app

osirAppDeploy: Deploy an app to Osir (free tier) and get a live HTTPS URL; the app runs isolated in a microVM. Deploying an existing app name redeploys it (new version) and applies any secrets set via osirAppSetSecret. A plain static website (HTML/CSS/JS with no framework or build step) is also supported: it is auto-detected and served directly; pass language 'node' for it. To put the app on the user's OWN VPS, server or production box instead, deploy it here first and then call osirAppDeployToVps - never SSH into the box or write an install script. Once an app is on the user's own VPS, redeploying HERE under the same name is how you update it: the platform re-ships it to the box and keeps its domain. Requires authentication.

ParametersnamerequiredregionlanguagerequiredsessionKeyuploadTicketrequired

osirAppDeployToVps

Deploy app to the user's own VPS

osirAppDeployToVps: Deploy a live Osir app onto the user's own VPS / server / production box, moving it off the shared free tier. Use this INSTEAD of SSH, a provisioning or install script, nginx/systemd/TLS configuration, or any manual server setup - the platform ships the app to the box itself over its own deploy key, so the assistant needs no shell access and no outbound SSH. This is the ONLY supported way to put an app on a user's own server or a custom domain. TWO WAYS IN. (1) The user already owns a VPS: pass instanceId (from listMyVpsInstances) and NO packageId - this ATTACHES the app to that server, SPENDS NOTHING and needs no confirmation. (2) No server yet: pass packageId (from listVpsPackages) and the call stages a VPS order (COSTS MONEY): returns an actionId; present the price/summary to the user and call executeConfirmedAction only if they approve. Before staging any order this tool checks whether the user ALREADY has a box for this app (its C2 binding, then their own VPS list) and attaches that instead - a retry after a failed move never buys a second server. After the move starts the platform ships the app onto the box server-side, which takes about two minutes; watch it with osirAppStatus ('ownedMove'). Calling this tool again while a move is still running just reports its progress, and calling it after one FAILED retries the ship - unless osirAppStatus says the VPS refused the Osir deploy key or its web ports are taken: then retry only after the user has made the changes that message lists. If the result status is BUILDING or BUILD_FAILED, follow its nextStep. Requires authentication.

ParametersdomainappNamerequiredpackageIdinstanceIdsessionKey

osirAppGetSource

Get app source

osirAppGetSource: Get a short-lived signed download URL for an Osir app's current source zip. Use this to make edits to a deployed app without the user re-attaching the project: download, patch the files, then osirAppCreateUpload (PUT the new zip) and osirAppDeploy under the SAME name; the platform rebuilds and, for owned-tier apps, auto-ships the new version to the user's box. Requires authentication.

ParametersappNamerequiredsessionKey

osirAppList

List deployed apps

osirAppList: List the authenticated user's deployed Osir apps with their live URLs and status. Requires authentication.

ParameterssessionKey

osirAppLogs

Get app logs

osirAppLogs: Get recent logs from an Osir app's microVM ('why is my app broken?'). Requires authentication.

ParameterstailappIdrequiredsessionKey

osirAppProvisionDatabase

Provision app database

osirAppProvisionDatabase: Provision a managed Postgres database for an Osir app. The connection string is stored as the app's DATABASE_URL secret (encrypted, injected on the next osirAppDeploy) and is NEVER returned. Requires authentication.

ParametersappIdrequiredenginesessionKey

osirAppSetSecret

Set app secret

osirAppSetSecret: Set an environment secret for an Osir app (e.g. DATABASE_URL, API_KEY). The value is stored encrypted and injected as an env var on the next osirAppDeploy of the app; it is NEVER returned or logged. Requires authentication.

ParameterskeyrequiredappIdrequiredvaluerequiredsessionKey

osirAppStatus

Get app status

osirAppStatus: Get an Osir app's current status, live URL, and health ('is my app working?'). If the status is BUILD_FAILED, 'recentErrors' explains why so you can fix the source and redeploy. 'qa' is an independent black-box check of the LIVE app after deploy: qa.status PASSED means it loaded and worked; FAILED means it deployed but didn't actually work, and qa.findings lists the problems so you can fix and redeploy. 'ownedMove' tracks a move onto the user's own VPS, which leaves tier and status unchanged while it runs: state MOVING (in progress, stage says where, ~2 minutes in total), MOVED (done - tier reads 'owned'), FAILED or REFUSED (follow this result's message: usually call osirAppDeployToVps again to retry, which never orders a second server; but when the VPS refused the Osir deploy key or its web ports are taken, the user must fix the VPS first, and the message says how). Requires authentication.

ParametersappIdrequiredsessionKey

osirSiteDesignBrief

Create site design brief

osirSiteDesignBrief: Step 1 of designing a NEW website with OSIR. Validates the brief and returns 'systemPrompt', the structured design brief and constraints YOU must then follow to write one complete self-contained HTML page, plus 'editRules' for later revisions. Call it before osirSitePublish for a new site, then publish the finished page with osirSitePublish. No authentication needed.

ParameterspageJobrequiredaudiencerequiredwhatItIsrequiredbriefJsonbusinessNamerequiredprimaryActionrequired

osirSitePublish

Publish a website

osirSitePublish: Publish a single-page website to a live HTTPS URL on Osir (free tier). ANY complete HTML document works: the user's own site, a page designed in this chat, or one from the osirSiteDesignBrief flow. Calling again with the same name redeploys the new version. For MULTI-FILE sites (separate CSS/JS/images) use osirAppCreateUpload + osirAppDeploy with a zip instead. Then poll osirAppStatus until READY. If the app was moved to the user's own VPS, redeploying under the same name updates it there and keeps its domain. Requires authentication.

ParametershtmlrequirednamerequiredregionsessionKeydesignContract

payInvoice

Pay invoice

payInvoice: Stage payment of an outstanding invoice from account balance. Requires authentication. Returns an actionId; present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersinvoiceIdrequiredsessionKey

previewPaymentFees

Preview payment fees

previewPaymentFees: Preview the fees that would be charged for a given payment amount. Requires authentication.

ParametersamountrequiredcurrencysessionKey

registerDomain

Register a domain

registerDomain: Stage registration of a new domain name. Deducts from account balance. The DNS zone is initialised automatically after registration (asynchronously; if createDnsRecord right after registration reports a missing zone, retry after a few seconds). Pass initializeDnsZone:false to opt out. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersyearsrequireddomainrequiredautoRenewsessionKeynameserversrequiredregistrantInforequiredinitializeDnsZoneprivacyProtection

renewDomain

Renew a domain

renewDomain: Stage renewal of a domain for a specified number of years. Deducts from account balance. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersyearsrequireddomainrequiredsessionKey

setMailboxPassword

Set mailbox password

setMailboxPassword: Set a new password on a mailbox. Never log or store the password. Requires authentication.

ParameterspasswordrequiredmailboxIdrequiredsessionKey

spinDomainWords

Spin domain words

spinDomainWords: Generate domain suggestions by spinning/replacing words with similar alternatives.

ParameterslangnamerequiredtldspositionmaxResultssimilarity

suggestAlternatives

Suggest alternative domains

suggestAlternatives: Suggest alternative domain names if the requested one is unavailable. Legacy; prefer generateDomainSuggestions.

ParameterslimitdomainrequiredsessionKey

transferDomain

Transfer a domain

transferDomain: Stage transfer of a domain from another registrar to OSIR. Deducts from account balance. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersdomainrequiredauthCoderequiredsessionKeyregistrantInforequired

unlockDomain

Unlock a domain

unlockDomain: Stage removal of registrar lock from a domain to allow transfers. DESTRUCTIVE: reduces domain security. Returns an actionId: present the summary to the user, then call executeConfirmedAction with the actionId if they approve.

ParametersdomainrequiredsessionKey

updateContact

Update contact

updateContact: Update an existing contact's information. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get the contactId from listContacts. Returns the updated contact.

Parameterscityemailphonestatecountrystreet1street2lastNamecontactIdrequiredfirstNamepostalCodesessionKey+1 more

updateDnsRecord

Update DNS record

updateDnsRecord: Update an existing DNS record. Requires authentication. Only the fields you provide are changed; omitted fields keep their current values. Get the recordId from listDnsRecords. Returns the updated record.

ParametersttlnametypedomainrequiredcontentpriorityrecordIdrequiredsessionKey

updateDomainAutoRenew

Set domain auto-renew

updateDomainAutoRenew: Enable or disable auto-renewal for a domain.

ParametersdomainrequiredenabledrequiredsessionKey

updateDomainPrivacy

Set WHOIS privacy

updateDomainPrivacy: Enable or disable WHOIS privacy protection for a domain.

ParametersdomainrequiredenabledrequiredsessionKey

updateNameservers

Update nameservers

updateNameservers: Update nameservers for a domain. Replaces the current nameserver set with the given list.

ParametersdomainrequiredsessionKeynameserversrequired

validateDomainName

Validate domain name

validateDomainName: Validate if a domain name format is correct. No authentication required.

Parametersdomainrequired

verifyAccount

Verify account

verifyAccount: Verify a newly created OSIR account with the code from the verification email; step 2 of onboarding, no authentication required. The code is the same token as the email link, so the principal can relay it to their agent. On success the account becomes ACTIVE and billable actions are unlocked. If the code expired, call createAccount again with the same email to get a fresh one.

ParameterscoderequiredaccountIdrequired

verifyMailDns

Verify mail DNS

verifyMailDns: Check that a mail domain's DNS records resolve; activates the domain for email when all records are found. Returns any still-missing records. Requires authentication.

ParametersdomainrequiredsessionKey

Version history

3
  1. v2.4.2LatestOct 14, 2026
  2. v2.4.1Sep 23, 2026
  3. v2.1.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts