Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "domain_email" and "sign_in"; changed the definition of "check_trademark" (38 tools before, 40 now)
⟨5 unchanged words⟩ very similar word marks for a name inthe EUUSPTO andUS trademark registers.EUIPO. Read-only.NoDoesmoney.not charge. Works with no account. The note lists the registers that answered and the ones not checked, and is not legal advice.
Domain email — DropTheHassle turns on email for a domain already on DropTheHassle, such as info@yourdomain.com. The address sends and receives. The price is shown and confirmed before anything is enabled. Needs sign-in. The main inbox is €5 / $5 a month, including VAT in the EU.
Sign in — Returns a link the user opens to sign in to DropTheHassle. They enter their email, the 6-digit code, and approve. The next call in this chat is signed in. Nothing to copy.
Authorization not required, issuer https://dropthehassle.com
Added "send_claim_mail" (37 tools before, 38 now)
Send claim mail — Sends the claim mail for an unclaimed site. site_id and site_token are the values from the deploy reply. email is the address that receives the mail. The site stays unclaimed until the link in the mail is opened. Does not charge.
Authorization not required, issuer https://dropthehassle.com
Changed the definition of "email_status", "get_checkout_link" and "get_email_checkout_link"
⟨4 unchanged words⟩ the email on a site's own domain:addresseseach address,wherewhethertheyitforwardis a mailbox that sends and receives or forwards to another address, status, the monthly price, and the next step. No passwords. Read-only. Does not charge.
Added "check_trademark"; changed the definition of "award_readiness", "check_live", "choose_link" and 33 more (36 tools before, 37 now)
before
—after
Award readiness(needs account token)CheckReturns whether a site on this account is ready to be considered for anaward. Read-only. No money. Returnsaward: favicon, share image, title and description, ⟨4 unchanged words⟩ custom domain, https, and a real page(notrather than the DropTheHassleplaceholder),placeholder.
Changed the definition of "choose_link" and "deploy_site"
(needs account token)Rename a site's free link to <name>.dropthehassle.app. Changing ⟨15 unchanged words⟩ this with confirm=true after they explicitly said yes. With an account, pass site (its address). Without an account, pass claim_url (the claim link from deploy_site) or site_token for that unclaimed site. Safe: the old link keeps redirecting to ⟨36 unchanged words⟩
{"properties":{"claim_url":{"description":"Without an account: the claim link deploy_site returned (the part after # is the secret).","type":"string"},"confirm":{"description":"true ONLY after the ⟨20 unchanged words⟩ :"string"},"site":{"description":"TheWith an account: the address of the site to rename (from list_sites).","type":"string"}
Changed the definition of "deploy_site" and "get_email_checkout_link"
Put astaticbuilt site online on a free link. Pass files ⟨197 unchanged words⟩
⟨15 unchanged words⟩ domain (a main inbox such as hello@yourdomain.com,EUR€55/ $5 a month, including VAT in the EU). The HUMAN opens and pays it; you
Added "check_live", "claim_site", "connect_domain" and 23 more; changed the definition of "choose_link", "deploy_site", "point_domain" and 1 more (10 tools before, 36 now)
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false}
⟨101 unchanged words⟩ and you MUST give the human the claim_url. Before you deploy without an account, ask the user which email address to use for the claim link and reminders. Never make up, guess or reuse an address the user didn't give you for this. Free only; never buys a name. Decoded files ⟨56 unchanged words⟩
Changed the definition of "point_domain"
⟨18 unchanged words⟩ does not edit DNS at someone else's registrar. To use a domain the human already owns elsewhere (free, no transfer), connect it instead: in the dashboard (Point it here), or POST /api/v1/sites/<site_id>/connect with the site token and the JSON field name set to the domain, e.g. example.com; the answer says which A record to set. No money. Never buy anything without asking me. ⟨25 unchanged words⟩
Changed the definition of "site_of_the_day_badge"
⟨5 unchanged words⟩ one line that embeds a Site of thedayMonth award, plus instructions for pasting it. The ⟨70 unchanged words⟩
Changed the definition of "deploy_site"
⟨112 unchanged words⟩ buys a name. Decoded files stay within theexistingupload cap:(100 MB and 5,000 files when signed in,smaller25 MB and 1,000 files before the site isclaimed).claimed. Never buy anything without asking me. Never buy ⟨23 unchanged words⟩
Changed the definition of "choose_link", "deploy_site", "get_checkout_link" and 4 more
⟨24 unchanged words⟩ for myproject.dropthehassle.app.","type":"string"},"site_idsite":{"description":"The address of the site to rename (from list_sites).","type":"numberstring"}},"required":["site_idsite","name","confirm"],"type":"object"}
⟨33 unchanged words⟩ chooses index.html, dist/, build/, out/, _site/
Certificate recorded, valid to 2026-12-01
Authorization not required
Unknown → Live
First tool surface recorded: 10 tools (server version 0.4.2)
https://dropthehassle.com/mcp (mcp_streamable_http) — from mcp_registry
Showing the latest 18 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨26 unchanged words⟩ month, including VAT in the EU). It is a mailbox that sends and receives. The account holder opens and pays the link. After payment theinboxmailboxisand its DNS records are set up. Mail is read and sent in the DropTheHassle webmail, or in a mail app over IMAP and SMTP with the settings and password shown in the dashboard. A saved card is not charged. The site needs an active domain registered here first.
before
—after
Check live(needs account token)CheckChecks,foratreal,therighttimenowof the call, whetherathe site's address points here, has a valid certificate and loads.With backend=true itbackendinsteadtrue sends one request to thesite'slinked backendand reports whether it answers.instead. Read-only.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
⟨13 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨3 unchanged words⟩
before
—after
Choose linkRenameRenames a site'sfreelink to<name>.dropthehassle.app. Changing a public URL isname.dropthehassle.app.theThehumanpreviousowner'slinkdecision:redirectsproposeto thename first, and only call this with confirm=true after they explicitly said yes. With an account, pass site (itsnewaddress).one. Without an account,passclaim_url(the claim link from deploy_site)or site_tokenforidentifiesthatthe unclaimed site.Safe: the old link keeps redirecting to the new name. No money. Never buy anything without asking me. Never buyWithaandomainaccount,email or subscription for me without asking first. When somethingsitecostsidentifiesmoney,it.giveconfirm=truemeapplies thepayment linknewandname.letDoesmenotpay.charge.
{"properties":{"claim_url":{"description":"Without an account: theThe claim linkdeploy_sitefromreturnedan(theunclaimed deploy. The part after # is thesecret).secret.","type":"string"},"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.ownerFalseexplicitlyleavesapproveditthisunchangedexactandname.
before
—after
Claim site(needs account token)PutAttaches ananonymousunclaimed siteonto this accountwithusingtheits claim linkfrom its deploy(the linkthatends with # and a code), so every account tool works for it. Same rules as.theOne claimpage: until the site is removed,once, never another account's site. No money. Never buy anything without asking me. Neverandbuynot adomain, email or subscription for me without asking first. When something costs money, give mesitethealreadypaymentonlinkanotherandaccount.letDoesmenotpay.charge.
before
—after
Connect domain(needs account token)UseAttaches a domainthe human already ownsregistered at another registraronto asite:site.free,Nothingnoistransfer,transferrednothingor bought. Theanswerreplygivesincludes the one A recordtheyto set attheir registrar; the site goes live on the name once it points here (call againthattoregistrar.re-check).OnAa site that already has a domain,getstheitnameasis an extranamethat redirects (301) to thesite'smainname, so one site can collect several domains. No money. Never buy anything withoutone.askingAme.repeatNeverwithbuytheasame domain,email or subscription for me without asking first. When something costs money, givere-checksmewhether thepaymentnamelinkpointsandhere.letDoesmenotpay.charge.
⟨11 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Delete site(needs account token)DeleteDeletes a sitefor,good:including its files andversions are removed and this cannot be undone. Ask the human and pass confirm=true only after they explicitlyversions.saidNotyes.reversible. A site with a domain registered heresettles that first (domain_renewal to stop renewing, ortransfer_domain_out), and itswith emailmust be off. Refused for a suspended site. No money. Never buy anything without asking me. Never buy astilldomainon,email or subscription for meiswithoutrefusedaskinguntilfirst.thoseWhenaresomethingsettled.costsAmoney,suspendedgivesitemeistherefused.paymentconfirm=truelinkappliesandit.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangeddeletingandthisthesite.reply describes what would change.","type":"boolean"},"site":{"description":"The address of the site to delete,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Deploy sitePutUploads site files and returns abuiltlivesiteHTTPSonlinelinkon(name.dropthehassle.app) and afreeclaimlink.linkPass(claim_url).filesWorks without an account. Files are sent inline as{path, content,encoding} whereand encodingis(utf8 orbase64.base64). This server cannot read a folder onyourthemachine.caller's computer. Theserverpublishedchoosesfiles are index.html at the top, or the built folder dist/, build/, out/, _site/, .output/public or docs/.If the files areWithsourceancodeaccount,run the build and call deploy_site againsiteonnames theoutput folder. With a token: passsite(its address, from list_sites)to updatethatandsite.nameOmittingissiteomitted;fillswithout site the oldest reserved address on the account(from Get an AI code) instead of creating a second site. Without a token the site goes live anonymously and you MUST give the human the claim_url. Before you deploy without an account, ask the user which email address to use for the claim link and reminders. Never make up, guess or reuse an address the user didn't give you for this. In that same question, propose one short name from the project (package.json name, folder name or page title), for example "Shall I put it on lisas-bakery.dropthehassle.app?". Pass what they confirm as name. If they have no preference, pass your proposal. If itistaken, the reply lists free names: ask again.filled.DoDoes notpass a name when updating an existing site. Free only; never buysbuy a name.Decoded files stay within the uploadSizecaplimits:100 MB and 5,000 files when signed in,25 MB and 1,000 files before the site isclaimed. Never buy anything without asking me. Never buy a domainclaimed,email or subscription for me without asking first. When100somethingMBcostsandmoney5,give me the payment link000andfilesletwhenmesignedpay.in.
{"properties":{"email":{"description":"Theuser's ownemail address,as they typed itthetoclaimyoulinkinisthissentconversation.to. Usedonlyforthe claimthat link and up to 3 reminders about this site. Required when no accounttokenisset. If you don't have it, ask the user for their email first. Never invent, guess or reuse one.connected.","type":"string"},"files":{ ⟨8 unchanged words⟩ path, content, and encoding utf8 or base64.Leave outnode_modules, .git and hiddenfiles.files are not part of the site. .well-known is allowed.","items":{"properties":
{"destructiveHint":falsetrue,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}
before
—after
Design inspirationWhen the human asks for design inspiration, examples or premiumReturnsdesigns,ashowlinkthemto theDropTheHasslegallery:hand-picked Siteofthe Monthcustomer sitesmadepickedbyascustomers,Sitewithof thegallery link.Month. Works without an account. Read-only.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
before
—after
Domain renewal(needs account token)ShowReturns when each domain of a site renews,at whatthe price, and whether auto-renew is on.To stop a renewal passautorenewautorenew=falsefalseandwith confirm=true,only afterstops thehuman said yes. Turning auto-renewrenewal.onautorenewcommitstrueaischargerefused,so that stays the human's click in the dashboard. Never pays. Never buy anything without asking me.becauseNeveritbuycommits adomain, email or subscription for me without asking first. When something costs money, give me the payment link andcharge.letDoesmenot pay.
{"properties":{"autorenew":{"description":"Optional:false stops the yearly renewal(needswhenconfirm=true).confirmOmitistotrue. true is refused, because it commits a charge. Absent means only read.","type":"boolean"},"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedstoppingand therenewal.reply describes what would change.
before
—after
Email status(needs account token)ShowReturns the email on a site's own domain: ⟨6 unchanged words⟩ monthly price, and the next step. Read-only.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and letDoesmenotpay.charge.
⟨3 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨3 unchanged words⟩
before
—after
Gallery preference(needs account token)WhetherSets whether this account's sites may be considered for Site of the Month.The human is always asked before aA site isfeatured. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money,featuredgiveonlymeafter thepaymentaccountlinkholderandagrees.letDoesmenotpay.charge.
{"properties":{"featured":{"description":"true: sites may be considered. false:never.sites are not considered.","type":"boolean"}},"required": ⟨3 unchanged words⟩
before
—after
Get checkout link(needs account token)GetReturns a payment link for a domain on one ofyourthe account's sites. TheHUMANaccount holder opens and paysit; you neverthecan.link. After payment the domain goes live on that siteautomatically. Only for sites onwiththenouser'sDNSaccount.settings. Foran anonymousa site,give the human the claim link first. Never buy anything withoutthataskingisme.notNeveronbuytheaaccountdomainyet,email or subscription for methewithoutclaimaskinghappens first.When something costs money, give me the payment linkDoesandnotletchargemeapay.card.
⟨30 unchanged words⟩ :"The address of the site the domainshould attachattaches to,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Get email checkout link(needs account token)GetReturns a payment link that turns on email for ⟨15 unchanged words⟩ , including VAT in the EU). TheHUMANaccount holder opens and paysit; you neverthecan.link. After payment the inbox is setupup.automatically.ANeversavedchargescardaissavednotcard.charged. The site needs an active domain first.Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
⟨23 unchanged words⟩ address of the site whose domain gets email,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨3 unchanged words⟩
before
—after
List invoices(needs account token)ListLists the account's invoices with date, amount and a printable link. Read-only.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and letDoesmenotpay.charge.
before
—after
List sites(needs account token)ListLists the account's sites withtheirliveURLlink, status and the domainspointing aton each.Use the site address it returns (e.g. myproject.dropthehassle.app) to deploy to it or point a name at it. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
before
—after
Make primary domain(needs account token)ChooseChooses which of a site's domains is its main ⟨16 unchanged words⟩ site's other domains redirect (301) to it.Ask the human and passconfirm=trueonly after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment linkappliesandit.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedthisandexactthe reply describes what would change.","type":"boolean"},"domain":{"description":"One of thesite'sdomains(seealreadysite_status).on the site.","type":"string"},"site":{"description":"The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.
before
—after
Point domain(needs account token)RearrangesMoves a domain that is already on theaccount. It does not buy a name and it does not edit DNS at someone else's registrar. Moving a domainaccount to anothersiteoftheitsaccountsites, or back onto a site it was splitfrom, is how sites share or swap names. To use a domain the human already owns elsewhere (free, no transfer), connect it instead: with connect_domain, in the dashboard (Point it here), or POST /api/v1/sites/<site_id>/connect with the site token and the JSON field name set to the domain, e.g. example.com; the answer says which A recordfrom.toDoesset.notMovingbuy a namechanges what its visitors see: ask the humanandpass confirm=true only after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me withoutdoesaskingnotfirst.editWhenDNSsomethingatcostsanothermoney,registrar.giveconfirm=truemeapplies thepayment link andmove.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedmovingandthisthedomain.reply describes what would change.","type":"boolean"},"domain":{ ⟨13 unchanged words⟩ of the site to point it at,e.g. myproject.dropthehassle.appfor(fromexamplelist_sites).myproject.dropthehassle.app.","type":"string"}},"required": ⟨5 unchanged words⟩
before
—after
Remove email address(needs account token)RemoveRemoves one email address from a site's domain. Mail to itstops;stops.aA mailbox's stored mail is deleted. The main inboxstays (rename_main_inbox, or turn_off_email). Ask theishumannotandremovedpasshere. confirm=trueonly after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment linkappliesandit.letDoesmenotpay.charge.
⟨11 unchanged words⟩ :"string"},"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedthisandexactthe reply describes what would change.","type":"boolean"},"site":{"description":"The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨5 unchanged words⟩
before
—after
Rename main inbox(needs account token)RenameRenames the main email address of a site's domain,e.g.for example hello@ to info@. Same mailbox, same mail, same price.Ask the human and passconfirm=trueonly after they said yes. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let meappliespay.it.
⟨14 unchanged words⟩ :"string"},"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedthisandexactthe reply describes what would change.","type":"boolean"},"site":{"description":"The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨5 unchanged words⟩
before
—after
Request Google Business(needs account token)AskSends the DropTheHassle team a request to set up a Google Business Profile for asite (the dashboard's request button).site. The team follows up by email.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and letDoesmenotpay.charge.
⟨3 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨3 unchanged words⟩
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":truefalse,"readOnlyHint":false}
before
—after
Resend owner verification(needs account token)SendSends the registry's owner-confirmation email again for a domain registeredhere (the human clicks the link in it; an unconfirmed name can be paused by the registry). No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When somethinghere.costsThemoney,accountgiveholdermeconfirmstheitpaymentfromlinkthatandemail.letDoesmenotpay.charge.
⟨11 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Resend receipt(needs account token)No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and letDoesmenotpay.charge.
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":truefalse,"readOnlyHint":false}
before
—after
Roll back site(needs account token)PutPuts the previous version of a site back online (theoneversion kept by the last deploy).Reversible: rollingDoingbackit again restores thecurrent version. Ask the humanversionfirstthatandwaspassreplaced. confirm=trueonly after they saidappliesyes.it. Refused for a suspended or inactive site.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedrollingandback.the reply describes what would change.","type":"boolean"},"site":{"description":"The address of the site,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Search domainCheck whetherChecksaone domain nameiswithavailablethetodomainregisterregistry andwhat it would cost (EUR). A full name suchreturnsaswhethermyidea.comit isoneavailablelookup,andthewhatsameitresultcosts.asOnethenamewebsitepersearch.call. A namewithwithoutnoan ending, such as mybakery, is checked as .com, .nl and .app,withinavailabilitythatandcall.priceRead-only.forDoeseach.notWorksregister,withreservenooraccount.charge.Read-only:AuseregistereditnametoisproposereturnedaasREALUnavailable,freeorname.asBuyingForissaleabyhumananothersteppartyinwhentheadashboard;marketplacethislistsneverit.spendsAmoney.registryNeverpremiumbuynameanythingiswithoutreturnedaskingasme.premium,Neverseparatebuyfrom adomain, email or subscriptionmarketplaceforlisting.meAwithoutsingle-nameaskingresultfirst.canWhenincludesomethingacoststrademarkmoneynote,givewhichmeisthenotpaymentlegallinkadvice.andWorksletwithoutmeanpay.account.
before
—after
Send feedback(needs account token)SendSends the DropTheHassle team a note about a site: something missing,something that went wrong. Only with the human's words or OK. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give mein thepaymentaccountlinkholder'sandwords.letDoesmenotpay.charge.
⟨13 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":truefalse,"readOnlyHint":false}
before
—after
Set analytics level(needs account token)SwitchSwitches a site's statistics between standard (cookieless, no ⟨14 unchanged words⟩ the click heatmap). Enhanced changes what visitorssee: ask the human and passsee. confirm=trueonly after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment linkappliesandenhanced.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"NeededTrueforapplies enhanced:truestatistics.ONLYFalseafterleaves thehumanlevelexplicitlyunchangedsaidandyes.the reply describes the change.","type":"boolean"},"level":{ ⟨11 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Connect backend(needs account token)LinkLinks an HTTPS backendyou hosthosted on AWS, Google Cloud, DigitalOcean or your own serverbehindto a DropTheHassle name.The URL musturlbeis an HTTPS origin(with no path, port 443, and a hostnamewiththat has an IPv4address);address.pathsPaths pass through unchanged. With uploaded files, only the path rules (default /api/*)reverse-proxygo to the backend and the reststays static; without uploaded files the WHOLE siteisservesserved from thebackend. It needs thefiles.accountWithouttokenuploadedoffiles, thehuman: WITHOUTwhole siteitcomescreatesfromathefreshbackend.FREEWithout sitein that account first,soabackend-only project goes live onnewitssiteownislinkcreated inonethecall;account.withWith site, the sitemust be claimed in that account (a site token or an unclaimed site gets 403 "Claim this site first to connect a backend."). Perfect for a deploy script: callisthisalreadywithon thenew URL after every backendaccount.deploy.AnPassemptyurl=""url(with site)to unlink. Changing an existing site changes what its visitors get: pass confirm=true only afterremoves thehumanlink.saidconfirm=trueyesapplies(adeploy script thechangehumantosetanupexistingcounts).site. A new siteneeds no confirm. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me thedoespaymentnotlinkuseandconfirm.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"NeededTruewithappliessite:atruechangeONLYtoafterantheexistinghumansite.saidFalseyesleavestothatthissite unchanged and the reply describes the change.","type":"boolean"},"paths": ⟨21 unchanged words⟩ "array"},"site":{"description":"Optional:theaddress of an existing site to link
before
—after
Set site image(needs account token)SetSets orremoveremoves a site's browser icon (favicon) oritssharepreviewimageimage.(thePasspicturetheshownimagewhenasacontentlink(base64is shared).or,contentwithis thelocal server, fileimage(aaspathbase64.onclearthistruecomputer).removesclear=truetheremovescurrentit.image.WorksAvailable once the site has its own domain.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and letDoesmenotpay.charge.
⟨68 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false}
before
—after
Site analytics(needs account token)VisitorReturns visitor numbers for a site on this account: visitors, page views, top pages, referrers, countries and devices,withplus a one-sentence summary.The sameSame numbersthe dashboard shows. Read-only. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give meas thepayment link and let medashboard.pay.Read-only.
⟨18 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨3 unchanged words⟩
before
—after
Site of the Month badge(needs account token)GetReturns theoneembed linethat embedsfor a Site of the Monthaward, plus instructions for pasting it.award. The ribbon names the award and the period and links to the verification page.Read-only. No money. Passsiteforselects a site on thisaccount, oraccount. hostforselectsanya confirmed winner.OmitWithbothneither,tothelistreply lists awards this account has earned.Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link andRead-only.letDoesmenotpay.charge.
⟨15 unchanged words⟩ The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"type":"object"}
before
—after
Site status(needs account token)Everything about oneOnesitereadinofoneareadsite: whether it is live, its links,the lastrecent deploys, whether the previous version can be ⟨4 unchanged words⟩ renewal date and auto-renew, and its email. Read-only.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
⟨3 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨3 unchanged words⟩
before
—after
Split domain(needs account token)TakeMoves one domain off a site that has several, ontoits owna new site(a coming-soon page until you deploy to it). point_domain moves it back. Ask the human and pass confirm=true only after they said yes. No money. Never buy anything without asking me. Neverthatbuyshows adomain, email or subscription for me without asking first. When something costs money, give mecoming-soonthepage.paymentconfirm=truelinkappliesandit.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedthisandexactthe reply describes what would change.","type":"boolean"},"domain":{"description":"The domain to splitoffoff.(seeOnesite_status).of the domains already on the site.","type":"string"},"site":{"description":"The address of a site on this account,(from
before
—after
Transfer domain out(needs account token)StartStarts moving a domain registered here to anotherregistrar (no lock-in).registrar. Auto-renew goes offright awayand the transfer code is emailed to the account within aday;day.theThe domain keeps working until it moves.Ask the human and passconfirm=trueonly after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment linkappliesandit.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedtransferringandittheout.reply describes what would change.","type":"boolean"},"domain":{ ⟨16 unchanged words⟩ address of the site the domain belongs to,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Turn off email(needs account token)TurnTurns off email for a site'sdomain:domain.itIt stops renewing and keeps working until the end of the month already paid.Ask the human and pass confirm=true only after they said yes.Turning it back onstays a dashboard step. Saves money, never charges. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money,isgivenotmedonethehere.paymentconfirm=truelinkappliesandit.letDoesmenotpay.charge.
{"properties":{"confirm":{"description":"true ONLYTrueafterapplies thehumanchange.explicitlyFalsesaidleavesyesittounchangedthisandexactthe reply describes what would change.","type":"boolean"},"site":{"description":"The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨4 unchanged words⟩
before
—after
Update site settings(needs account token)SetSets how a site appears in search results and when a link is shared: site name, brand colour, search title and description, share title and description.Site-wideApplies to the whole site, orforto oneofdomainitswhendomainsdomainwithisdomain.set.WorksAvailable once the site has its own domain.No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and letDoesmenotpay.charge.
⟨81 unchanged words⟩ "The address of a site on this account,(fromforlist_sites).example myproject.dropthehassle.app.","type":"string"}},"required": ⟨3 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false}
before
—after
Who am IConfirmReports the DropTheHassle connection.WithWithoutnoantokenaccountthisitlistsreportswhatwhichalreadyactionsworks:aredeploy_siteavailableandwithsearch_domain.no sign-in. Withaantokenaccount it names the account.Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Check trademark — Look up live identical or very similar word marks for a name in the EU and US trademark registers. Read-only. No money. Works with no account. The note is not legal advice.
⟨136 unchanged words⟩ address the user didn't give you for this. In that same question, propose one short name from the project (package.json name, folder name or page title), for example "Shall I put it on lisas-bakery.dropthehassle.app?". Pass what they confirm as name. If they have no preference, pass your proposal. If it is taken, the reply lists free names: ask again. Do not pass a name when updating an existing site. Free only; never buys a name. Decoded files ⟨56 unchanged words⟩
⟨127 unchanged words⟩ :"object"},"type":"array"},"name":{"description":"The free address label, for example \"lisas-bakery\" for lisas-bakery.dropthehassle.app. Pass the name the human confirmed. If they have no preference, pass your proposal. Works with no account token.","type":"string"},"site":{"description":"Optional: the address ⟨23 unchanged words⟩ :"string"},"slug":{"description":"Optional: the address label for a NEW site, e.g. \"myproject\".SameErrorsaswhenname.taken,Oldersoclientsproposesendanother.this.","type":"string"}},"required": ⟨3 unchanged words⟩
{"properties":{"email":{"description":"The user's own email address, as they typed it to you in this conversation. Used only for the claim link and up to 3 reminders about this site. Required when no account token is set. If you don't have it, ask the user for their email first. Never invent, guess or reuse one.","type":"string"},"files":{"description":"Site files sent inline. ⟨121 unchanged words⟩
⟨18 unchanged words⟩ does not edit DNS at someone else's registrar. Moving a domain to another site of the account, or back onto a site it was split from, is how sites share or swap names. To use a domain the human already owns elsewhere (free, no transfer), connect it instead: with connect_domain, in the dashboard (Point it here), or ⟨17 unchanged words⟩ the answer says which A record to set. Moving a name changes what its visitors see: ask the human and pass confirm=true only after they said yes. No money. Never buy anything without asking me. ⟨25 unchanged words⟩
{"properties":{"confirm":{"description":"true ONLY after the human explicitly said yes to moving this domain.","type":"boolean"},"domain":{"description":"A domain already on ⟨21 unchanged words⟩ string"}},"required":["domain","to_site","confirm"],"type":"object"}
{"destructiveHint":falsetrue,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false}
(needs account token) Link an HTTPS backend(Railway,youRenderhost on AWS,FlyGoogle Cloud,anywhere)DigitalOcean or your own server behind a DropTheHassle name. The URL must be an HTTPS origin (no path, port 443, a hostname with an IPv4 address); paths pass through unchanged. With uploaded files the path rules (default /api/* ⟨11 unchanged words⟩ files the WHOLE site serves from the backend. It needs the account token of the human: WITHOUT site it creates a fresh FREE site in that account first:, so a backend-only project goes live on its own link in onecall.call; with site, the site must be claimed in that account (a site token or an unclaimed site gets 403 "Claim this site first to connect a backend."). Perfect for a deploy script: call this with ⟨7 unchanged words⟩ Pass url="" (with site) to unlink. Changing an existing site changes what its visitors get: pass confirm=true only after the human said yes (a deploy script the human set up counts). A new site needs no confirm. No money. Never buy anything without asking me. ⟨25 unchanged words⟩
{"properties":{"confirm":{"description":"Needed with site: true ONLY after the human said yes to this change.","type":"boolean"},"paths":{"description":"Optional path rules for ⟨68 unchanged words⟩ origin of the backend, e.g. \"https://myapp.up.railway.app\//api.example.com\". Empty string (with site) unlinks.", ⟨6 unchanged words⟩
{"destructiveHint":falsetrue,"idempotentHint":true,"openWorldHint":true,"readOnlyHint":false}
(needs account token) Check for real, right now, whether a site's address points here, has a valid certificate and loads. With backend=true it instead sends one request to the site's linked backend and reports whether it answers. Read-only. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Put an anonymous site on this account with the claim link from its deploy (the link that ends with # and a code), so every account tool works for it. Same rules as the claim page: until the site is removed, once, never another account's site. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Use a domain the human already owns at another registrar on a site: free, no transfer, nothing bought. The answer gives the one A record they set at their registrar; the site goes live on the name once it points here (call again to re-check). A site that already has a domain gets it as an extra name that redirects (301) to the site's main name, so one site can collect several domains. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Delete a site for good: its files and versions are removed and this cannot be undone. Ask the human and pass confirm=true only after they explicitly said yes. A site with a domain registered here settles that first (domain_renewal to stop renewing, or transfer_domain_out), and its email must be off. Refused for a suspended site. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
When the human asks for design inspiration, examples or premium designs, show them the DropTheHassle gallery: hand-picked Site of the Month sites made by customers, with the gallery link. Works without an account. Read-only. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Show when each domain of a site renews, at what price, and whether auto-renew is on. To stop a renewal pass autorenew=false and confirm=true, only after the human said yes. Turning auto-renew on commits a charge, so that stays the human's click in the dashboard. Never pays. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Show the email on a site's own domain: addresses, where they forward, status, the monthly price, and the next step. Read-only. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Whether this account's sites may be considered for Site of the Month. The human is always asked before a site is featured. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Get a payment link that turns on email for a site's own domain (a main inbox such as hello@yourdomain.com, EUR 5 a month). The HUMAN opens and pays it; you never can. After payment the inbox is set up automatically. Never charges a saved card. The site needs an active domain first. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) List the account's invoices with date, amount and a printable link. Read-only. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Choose which of a site's domains is its main name: the one that serves the site and that search engines and shared links use. The site's other domains redirect (301) to it. Ask the human and pass confirm=true only after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Remove one email address from a site's domain. Mail to it stops; a mailbox's stored mail is deleted. The main inbox stays (rename_main_inbox, or turn_off_email). Ask the human and pass confirm=true only after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Rename the main email address of a site's domain, e.g. hello@ to info@. Same mailbox, same mail, same price. Ask the human and pass confirm=true only after they said yes. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Ask the DropTheHassle team to set up a Google Business Profile for a site (the dashboard's request button). The team follows up by email. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Send the registry's owner-confirmation email again for a domain registered here (the human clicks the link in it; an unconfirmed name can be paused by the registry). No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Email the most recent receipt again to the account email address. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Put the previous version of a site back online (the one kept by the last deploy). Reversible: rolling back again restores the current version. Ask the human first and pass confirm=true only after they said yes. Refused for a suspended or inactive site. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Send the DropTheHassle team a note about a site: something missing, something that went wrong. Only with the human's words or OK. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Switch a site's statistics between standard (cookieless, no banner, the default) and enhanced (adds a cookie consent banner for every visitor, and the click heatmap). Enhanced changes what visitors see: ask the human and pass confirm=true only after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Set or remove a site's browser icon (favicon) or its share preview image. Pass the image as content (base64) or, with the local server, file (a path on this computer). clear=true removes it. Works once the site has its own domain. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Visitor numbers for a site on this account: visitors, page views, top pages, referrers, countries and devices, with a one-sentence summary. The same numbers the dashboard shows. Read-only. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Everything about one site in one read: whether it is live, its links, the last deploys, whether the previous version can be restored, its domains with renewal date and auto-renew, and its email. Read-only. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Take one domain off a site that has several, onto its own new site (a coming-soon page until you deploy to it). point_domain moves it back. Ask the human and pass confirm=true only after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Start moving a domain registered here to another registrar (no lock-in). Auto-renew goes off right away and the transfer code is emailed to the account within a day; the domain keeps working until it moves. Ask the human and pass confirm=true only after they said yes. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Turn off email for a site's domain: it stops renewing and keeps working until the end of the month already paid. Ask the human and pass confirm=true only after they said yes. Turning it back on stays a dashboard step. Saves money, never charges. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
(needs account token) Set how a site appears in search results and when shared: name, brand colour, search title and description, share title and description. Site-wide, or for one of its domains with domain. Works once the site has its own domain. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
⟨70 unchanged words⟩ :"object"},"type":"array"},"site_idsite":{"description":"Optional: the address of an existing site toupdate.update, e.g. myproject.dropthehassle.app (from list_sites). Omit it to fill the oldest reserved site on this account.","type":"numberstring"},"slug":{"description":"Optional: ⟨23 unchanged words⟩
⟨24 unchanged words⟩ "myidea.com\".","type":"string"},"site_idsite":{"description":"The address of the site the domain should attach to (from list_sites).","type":"numberstring"}},"required":["site_idsite","name"],"type":"object"}
⟨11 unchanged words⟩ status and the domains pointing at each. Usetothefindsiteaaddresssite_idit returns (e.g. myproject.dropthehassle.app) to deploy to it or point a nameat.at it. Never buy anything without asking me. Never buy ⟨23 unchanged words⟩
⟨7 unchanged words⟩ this account.","type":"string"},"to_site_idto_site":{"description":"The address of the site to point it at, e.g. myproject.dropthehassle.app (from list_sites).","type":"numberstring"}},"required":["domain","to_site_idto_site"],"type":"object"}
⟨35 unchanged words⟩ the WHOLE site serves from the backend. WITHOUTsite_idsite it creates a fresh FREE site first: ⟨24 unchanged words⟩ every backend deploy. Pass url="" (withsite_idsite) to unlink. No money. Never buy anything ⟨28 unchanged words⟩
⟨21 unchanged words⟩ :"string"},"type":"array"},"site_idsite":{"description":"Optional: the address of an existing site to link (from list_sites). ⟨7 unchanged words⟩ served fully from the backend.","type":"numberstring"},"slug":{"description":"Optional address ⟨24 unchanged words⟩ \"https://myapp.up.railway.app\". Empty string (withsite_idsite) unlinks.","type":"string"}}," ⟨4 unchanged words⟩
⟨30 unchanged words⟩ to the verification page. Read-only. No money. Passsite_idsite for a site on this account, or ⟨45 unchanged words⟩
⟨8 unchanged words⟩ was featured.","type":"string"},"site_idsite":{"description":"Optional.AThe address of a site on this account (from list_sites).","type":"numberstring"}},"type":"object"}