[{"data":1,"prerenderedAt":605},["ShallowReactive",2],{"navigation_docs":3,"-registrars-integrations":55,"-registrars-integrations-surround":600},[4,20,30,45],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Overview",false,"\u002Fgetting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Adding Documentation","\u002Fgetting-started\u002Fadding-documentation","1.getting-started\u002F3.adding-documentation","i-lucide-file-plus",{"title":21,"icon":22,"path":23,"stem":24,"children":25,"page":6},"Domains","i-lucide-globe","\u002Fdomains","2.domains",[26],{"title":27,"path":28,"stem":29,"icon":22},"Add and manage domains","\u002Fdomains\u002Fmanage-domains","2.domains\u002F1.manage-domains",{"title":31,"icon":32,"path":33,"stem":34,"children":35,"page":6},"Registrars and pricing","i-lucide-building","\u002Fregistrars","3.registrars",[36,40],{"title":37,"path":38,"stem":39,"icon":32},"Registrars and yearly prices","\u002Fregistrars\u002Fregistrars-and-prices","3.registrars\u002F1.registrars-and-prices",{"title":41,"path":42,"stem":43,"icon":44},"Registrar integrations","\u002Fregistrars\u002Fintegrations","3.registrars\u002F2.integrations","i-lucide-plug-zap",{"title":46,"icon":47,"path":48,"stem":49,"children":50,"page":6},"Checks and notifications","i-lucide-bell","\u002Fmonitoring","4.monitoring",[51],{"title":52,"path":53,"stem":54,"icon":47},"Checks and email notifications","\u002Fmonitoring\u002Fchecks-and-notifications","4.monitoring\u002F1.checks-and-notifications",{"id":56,"title":41,"body":57,"description":593,"extension":594,"links":595,"meta":596,"navigation":597,"path":42,"seo":598,"stem":43,"__hash__":599},"docs\u002F3.registrars\u002F2.integrations.md",{"type":58,"value":59,"toc":591},"minimark",[60,69,72,75,170,173,345,357,367,479,489,572,587],[61,62,63,64,68],"p",{},"Registrar integrations can be configured through the web interface: open a system registrar that has a supported driver (currently Namecheap or Porkbun) from the ",[65,66,67],"strong",{},"Registrars"," view, and its connect form shows the required fields automatically. Once connected, you can sync all domains from that registrar's account or disconnect the integration from the same modal.",[61,70,71],{},"Integrations can also be managed directly through the authenticated integration API, which is scoped to the selected team. This is useful for automation or when a dedicated UI screen isn't convenient. Use the integration API only from a trusted client or server. Never put registrar credentials in browser code, public documentation, source control, or a support request.",[61,73,74],{},"The API routes and request example below document the supported create, read, update, and delete workflow.",[76,77,78,94],"table",{},[79,80,81],"thead",{},[82,83,84,88,91],"tr",{},[85,86,87],"th",{},"Method",[85,89,90],{},"Route",[85,92,93],{},"Purpose",[95,96,97,114,128,142,156],"tbody",{},[82,98,99,106,111],{},[100,101,102],"td",{},[103,104,105],"code",{},"GET",[100,107,108],{},[103,109,110],{},"\u002Fapi\u002Fregistrars\u002Fintegrations",[100,112,113],{},"List integrations for the current team. Secrets are omitted from the response.",[82,115,116,121,125],{},[100,117,118],{},[103,119,120],{},"POST",[100,122,123],{},[103,124,110],{},[100,126,127],{},"Create an integration.",[82,129,130,134,139],{},[100,131,132],{},[103,133,105],{},[100,135,136],{},[103,137,138],{},"\u002Fapi\u002Fregistrars\u002Fintegrations\u002F:id",[100,140,141],{},"Read an integration.",[82,143,144,149,153],{},[100,145,146],{},[103,147,148],{},"PATCH",[100,150,151],{},[103,152,138],{},[100,154,155],{},"Update an integration.",[82,157,158,163,167],{},[100,159,160],{},[103,161,162],{},"DELETE",[100,164,165],{},[103,166,138],{},[100,168,169],{},"Delete an integration.",[61,171,172],{},"All routes require an authenticated session. For example, an authorized API client can create an integration with a JSON body shaped like this:",[174,175,180],"pre",{"className":176,"code":177,"language":178,"meta":179,"style":179},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"registrarId\": \"REGISTRAR_ID\",\n  \"type\": \"namecheap\",\n  \"secrets\": {\n    \"apiUser\": \"supplied-securely\",\n    \"apiKey\": \"supplied-securely\",\n    \"clientIp\": \"YOUR_ALLOWED_CLIENT_IP\"\n  },\n  \"settings\": {}\n}\n","json","",[103,181,182,191,219,240,255,278,298,318,324,339],{"__ignoreMap":179},[183,184,187],"span",{"class":185,"line":186},"line",1,[183,188,190],{"class":189},"sMK4o","{\n",[183,192,194,197,201,204,207,210,214,216],{"class":185,"line":193},2,[183,195,196],{"class":189},"  \"",[183,198,200],{"class":199},"spNyl","registrarId",[183,202,203],{"class":189},"\"",[183,205,206],{"class":189},":",[183,208,209],{"class":189}," \"",[183,211,213],{"class":212},"sfazB","REGISTRAR_ID",[183,215,203],{"class":189},[183,217,218],{"class":189},",\n",[183,220,222,224,227,229,231,233,236,238],{"class":185,"line":221},3,[183,223,196],{"class":189},[183,225,226],{"class":199},"type",[183,228,203],{"class":189},[183,230,206],{"class":189},[183,232,209],{"class":189},[183,234,235],{"class":212},"namecheap",[183,237,203],{"class":189},[183,239,218],{"class":189},[183,241,243,245,248,250,252],{"class":185,"line":242},4,[183,244,196],{"class":189},[183,246,247],{"class":199},"secrets",[183,249,203],{"class":189},[183,251,206],{"class":189},[183,253,254],{"class":189}," {\n",[183,256,258,261,265,267,269,271,274,276],{"class":185,"line":257},5,[183,259,260],{"class":189},"    \"",[183,262,264],{"class":263},"sBMFI","apiUser",[183,266,203],{"class":189},[183,268,206],{"class":189},[183,270,209],{"class":189},[183,272,273],{"class":212},"supplied-securely",[183,275,203],{"class":189},[183,277,218],{"class":189},[183,279,281,283,286,288,290,292,294,296],{"class":185,"line":280},6,[183,282,260],{"class":189},[183,284,285],{"class":263},"apiKey",[183,287,203],{"class":189},[183,289,206],{"class":189},[183,291,209],{"class":189},[183,293,273],{"class":212},[183,295,203],{"class":189},[183,297,218],{"class":189},[183,299,301,303,306,308,310,312,315],{"class":185,"line":300},7,[183,302,260],{"class":189},[183,304,305],{"class":263},"clientIp",[183,307,203],{"class":189},[183,309,206],{"class":189},[183,311,209],{"class":189},[183,313,314],{"class":212},"YOUR_ALLOWED_CLIENT_IP",[183,316,317],{"class":189},"\"\n",[183,319,321],{"class":185,"line":320},8,[183,322,323],{"class":189},"  },\n",[183,325,327,329,332,334,336],{"class":185,"line":326},9,[183,328,196],{"class":189},[183,330,331],{"class":199},"settings",[183,333,203],{"class":189},[183,335,206],{"class":189},[183,337,338],{"class":189}," {}\n",[183,340,342],{"class":185,"line":341},10,[183,343,344],{"class":189},"}\n",[61,346,347,348,350,351,353,354,356],{},"The Namecheap driver requires ",[103,349,264],{},", ",[103,352,285],{},", and ",[103,355,305],{},". Supply real values through a secret-safe client; the values above are illustrative, not credentials. Creation and update responses omit secrets, and list responses never return them.",[61,358,359,360,362,363,366],{},"The Porkbun driver requires ",[103,361,285],{}," and ",[103,364,365],{},"secretApiKey"," (an API key and secret key pair generated from Porkbun's account settings):",[174,368,370],{"className":176,"code":369,"language":178,"meta":179,"style":179},"{\n  \"registrarId\": \"REGISTRAR_ID\",\n  \"type\": \"porkbun\",\n  \"secrets\": {\n    \"apiKey\": \"supplied-securely\",\n    \"secretApiKey\": \"supplied-securely\"\n  },\n  \"settings\": {}\n}\n",[103,371,372,376,394,413,425,443,459,463,475],{"__ignoreMap":179},[183,373,374],{"class":185,"line":186},[183,375,190],{"class":189},[183,377,378,380,382,384,386,388,390,392],{"class":185,"line":193},[183,379,196],{"class":189},[183,381,200],{"class":199},[183,383,203],{"class":189},[183,385,206],{"class":189},[183,387,209],{"class":189},[183,389,213],{"class":212},[183,391,203],{"class":189},[183,393,218],{"class":189},[183,395,396,398,400,402,404,406,409,411],{"class":185,"line":221},[183,397,196],{"class":189},[183,399,226],{"class":199},[183,401,203],{"class":189},[183,403,206],{"class":189},[183,405,209],{"class":189},[183,407,408],{"class":212},"porkbun",[183,410,203],{"class":189},[183,412,218],{"class":189},[183,414,415,417,419,421,423],{"class":185,"line":242},[183,416,196],{"class":189},[183,418,247],{"class":199},[183,420,203],{"class":189},[183,422,206],{"class":189},[183,424,254],{"class":189},[183,426,427,429,431,433,435,437,439,441],{"class":185,"line":257},[183,428,260],{"class":189},[183,430,285],{"class":263},[183,432,203],{"class":189},[183,434,206],{"class":189},[183,436,209],{"class":189},[183,438,273],{"class":212},[183,440,203],{"class":189},[183,442,218],{"class":189},[183,444,445,447,449,451,453,455,457],{"class":185,"line":280},[183,446,260],{"class":189},[183,448,365],{"class":263},[183,450,203],{"class":189},[183,452,206],{"class":189},[183,454,209],{"class":189},[183,456,273],{"class":212},[183,458,317],{"class":189},[183,460,461],{"class":185,"line":300},[183,462,323],{"class":189},[183,464,465,467,469,471,473],{"class":185,"line":320},[183,466,196],{"class":189},[183,468,331],{"class":199},[183,470,203],{"class":189},[183,472,206],{"class":189},[183,474,338],{"class":189},[183,476,477],{"class":185,"line":326},[183,478,344],{"class":189},[61,480,481,482,484,485,488],{},"To change credentials, send a ",[103,483,148],{}," to ",[103,486,487],{},"\u002Fapi\u002Fregistrars\u002Fintegrations\u002FINTEGRATION_ID"," with the replacement values:",[174,490,492],{"className":176,"code":491,"language":178,"meta":179,"style":179},"{\n  \"secrets\": {\n    \"apiUser\": \"supplied-securely\",\n    \"apiKey\": \"replacement-securely\",\n    \"clientIp\": \"YOUR_ALLOWED_CLIENT_IP\"\n  }\n}\n",[103,493,494,498,510,528,547,563,568],{"__ignoreMap":179},[183,495,496],{"class":185,"line":186},[183,497,190],{"class":189},[183,499,500,502,504,506,508],{"class":185,"line":193},[183,501,196],{"class":189},[183,503,247],{"class":199},[183,505,203],{"class":189},[183,507,206],{"class":189},[183,509,254],{"class":189},[183,511,512,514,516,518,520,522,524,526],{"class":185,"line":221},[183,513,260],{"class":189},[183,515,264],{"class":263},[183,517,203],{"class":189},[183,519,206],{"class":189},[183,521,209],{"class":189},[183,523,273],{"class":212},[183,525,203],{"class":189},[183,527,218],{"class":189},[183,529,530,532,534,536,538,540,543,545],{"class":185,"line":242},[183,531,260],{"class":189},[183,533,285],{"class":263},[183,535,203],{"class":189},[183,537,206],{"class":189},[183,539,209],{"class":189},[183,541,542],{"class":212},"replacement-securely",[183,544,203],{"class":189},[183,546,218],{"class":189},[183,548,549,551,553,555,557,559,561],{"class":185,"line":257},[183,550,260],{"class":189},[183,552,305],{"class":263},[183,554,203],{"class":189},[183,556,206],{"class":189},[183,558,209],{"class":189},[183,560,314],{"class":212},[183,562,317],{"class":189},[183,564,565],{"class":185,"line":280},[183,566,567],{"class":189},"  }\n",[183,569,570],{"class":185,"line":300},[183,571,344],{"class":189},[61,573,574,575,362,577,579,580,350,582,353,584,586],{},"The single-integration ",[103,576,105],{},[103,578,162],{}," endpoints currently return the stored integration, including its secrets. Call them only from a trusted backend and never log or expose those responses. The collection ",[103,581,105],{},[103,583,120],{},[103,585,148],{}," responses omit secrets. Keep this distinction in mind when building API clients.",[588,589,590],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":179,"searchDepth":193,"depth":193,"links":592},[],"Connect supported registrar accounts from the UI, or manage credentials through the authenticated integration API.","md",null,{},{"icon":44},{"title":41,"description":593},"jr2zjn_KxEQZfjgKkmLnPoRc4wZPpvmb9-PHKxD_3wA",[601,603],{"title":37,"path":38,"stem":39,"description":602,"icon":32,"children":-1},"Add registrars and maintain the prices used in domain cost and savings comparisons.",{"title":52,"path":53,"stem":54,"description":604,"icon":47,"children":-1},"Schedule domain checks and send registration or expiry alerts to email destinations.",1790904852645]