API Access & Documentation

Getting Started with the API

By the Domain India teamPublished 11 min read
Knowledge base article
Contents (7 sections)

Developers often ask whether Domain India has an API for managing an account in code. There's no general REST API with API keys for your whole account. There are four supported ways to work with your services programmatically, and each one covers a different job. This guide explains which to use and how to make your first call safely.

Key takeaways

Domain India doesn't publish a REST API with API keys for domains, billing or orders, and the client area has no API-key page. For programmatic access, use the route that fits the job: connect an AI assistant (the DOMAIN INDIA plugin in ChatGPT, or https://domainindia.com/mcp in Claude and other MCP clients) with OAuth; deploy App Platform apps from CI with a deploy token; script your cPanel hosting with the cPanel UAPI and your own API token on port 2083. For anything else, ask support.

1. What is and isn't available

You want toRouteAuthentication
Check domains, invoices, renewals, tickets, websites, email and appsAI assistant: DOMAIN INDIA plugin in ChatGPT, or https://domainindia.com/mcp in Claude and other MCP clientsOAuth sign-in with permissions you approve
Change things: DNS records, email addresses and forwarding, your AI-built websites, your App Platform apps, support ticketsThe same connection, with the matching "change" permission tickedOAuth sign-in with permissions you approve
Deploy an App Platform app from GitHub Actions or another CIApp Platform deploy tokenA per-app token from the Deploy Tokens tab
Manage email accounts, files, databases or DNS on cPanel hosting from a scriptcPanel UAPI on port 2083Your own cPanel API token
Register, renew or transfer domains, place orders or pay invoices by APINot availableUse the client area

Older versions of this page described an API address, token menu and endpoints that do not exist. If you have code written against them, it will not work. Use one of the routes above instead.

2. Connect an assistant or MCP client

Domain India runs a Model Context Protocol (MCP) server at https://domainindia.com/mcp. You connect with OAuth: you sign in to your Domain India account and approve permissions on our own page. There is no API key or client ID to copy. More about using AI assistants with your account: Domain India for AI assistants.

  1. Sign in to the client area
    in the browser you will use, so the connection goes straight to the permission screen.
  2. ChatGPT:
    open Plugins in ChatGPT, search for DOMAIN INDIA (or use this link), and click Connect. No address is needed.
  3. Claude:
    in Claude's settings, open Connectors, add a custom connector, and paste https://domainindia.com/mcp (no trailing slash, no www).
  4. Developer tools:
    see the commands below for Claude Code, Cursor and VS Code.
  5. Approve only what you need.
    Each permission says whether it can only see something or can also change it. See the table below.
  6. Ask in plain language.
    For example, "Which of my domains expire in the next 60 days?"

For developers. Claude Code:

bash
claude mcp add --transport http domain-india https://domainindia.com/mcp

Then sign in from /mcp. Cursor (~/.cursor/mcp.json):

json
{"mcpServers": {"domain-india": {"url": "https://domainindia.com/mcp"}}}

VS Code (.vscode/mcp.json):

json
{"servers": {"domain-india": {"type": "http", "url": "https://domainindia.com/mcp"}}}

There is no auth field. The client opens your browser for sign-in the first time it connects.

What each permission allows

PermissionCan seeCan change
AccountYour services, invoices, renewals and support ticketsNothing
Account detailsYour payment history, the emails we sent you, our help articles and announcementsNothing
DomainsYour domains and their DNS settingsNothing
Domain detailsTransfer lock, privacy, contacts and .in verification statusNothing
ServicesYour hosting, email accounts, apps, and the domains they useNothing
Plans and linksThe plans we sell; it can prepare a link for you to order, renew or payNothing. You open the link and pay yourself.
WebsitesYour websites and their previewsNothing
Website visitorsVisitor numbers for your websitesNothing
Website enquiriesMessages visitors send through your websites' contact forms, including their names, emails and phone numbersNothing
App logsYour apps' build and runtime logs (they may contain private data)Nothing
DNS—Add, change and delete your domains' DNS records
Email addresses—Add and rename email addresses, and publish their DNS records
Email routing—Add and remove aliases, and choose where email is forwarded
Edit websites—Create and edit your websites
Publish websites—Publish, unpublish and connect domains to your websites
Run apps—Restart and start your apps
Configure apps—Change your apps' environment variables (the app restarts)
Deploy apps—Deploy code to your apps (replaces what is running)
Support—Open and reply to support tickets for you

Some things are never possible through this connection, whatever you approve: making a payment or placing an order, cancelling a service, changing nameservers or domain contacts, getting a domain's transfer (EPP) code, and seeing a password. Access keys last one hour and renew in the background. A connection unused for 30 days lapses, and you can disconnect any app instantly on the Connected apps page.

Connected ChatGPT before 8 October 2026?

Connections made before 8 October only have the permissions that existed then, so you see fewer tools. To get everything above, disconnect Domain India (on Connected apps, or in ChatGPT) and connect again.

In ChatGPT, publishing a website and getting order or renewal links are not available yet. You can build and edit a site there, then publish it from your client area (or from Claude).

The full walkthrough, with screens for each assistant, is Connecting your Domain India account to an AI assistant.

3. Deploy App Platform apps from CI

For the App Platform, the programmatic route is a deploy token. In your app's Deploy Tokens tab, click Create Token. The token is shown once, together with a ready-to-run command that already contains your token and your app's deploy address. Package your project with tar, then run that command from your terminal or CI job. A connected assistant with the Deploy apps permission can also create a deploy token for you.

  • Each token works for one app only, and you can hold up to 5 per app.
  • Uploads can be up to 512 MB.
  • There is no automatic deploy on push. Your CI job runs the command.
  • Copy the command from the tab. Don't type the deploy address from memory.

The full guide is Deploying with a deploy token.

4. Script your cPanel hosting with UAPI

On cPanel hosting, you can call your own account's cPanel API (UAPI) over HTTPS on port 2083. This is cPanel's own API, separate from the assistant connection.

  1. Create a token.
    In cPanel, open Security › Manage API Tokens, create a token with a descriptive name, and copy it. cPanel shows it only once.
  2. Find your panel address.
    Use the panel address shown on your hosting service's Access tab in the client area.
  3. Make a test call.
    List your email accounts with the request below.
  4. Store the token safely.
    Put it in an environment variable or a secrets store, never in code you commit.
cPanel Manage API Tokens page with the Create API Token form: token name, expiry choice, a danger warning and the Create button
Create the token in cPanel under Manage API Tokens.
bash
curl -s -H "Authorization: cpanel yourusername:YOUR_API_TOKEN" \
  "https://your-panel-host:2083/execute/Email/list_pops"

A working call returns JSON with "status": 1 and a data array. A status of 0 comes with an errors array that explains what failed. Other modules follow the same pattern: /execute/Module/function.

Keep these limits in mind:

  • WHM's API (port 2087) is not available to shared hosting accounts. UAPI covers your own account only.
  • Scripts that run on the hosting itself have some PHP functions disabled on shared hosting, including proc_open and stream_socket_client. See PHP disabled functions on shared hosting.
  • DirectAdmin hosting does not offer customer API login keys. Webuzo and Windows (Plesk) hosting have no API route documented here, so ask support if you need one.

To try calls interactively, see API testing with Postman.

5. Keep tokens and connections safe

Treat every token like a password

A cPanel API token has the same power as your cPanel login, and a deploy token can replace your running app. Never put either in browser code, a public repository, a screenshot or a ticket. If one leaks, delete it straight away and create a new one.

  • One token per purpose. Name each token after the script or pipeline that uses it, so you can revoke one without breaking the others.
  • Least privilege. On the permission screen, tick only what the assistant needs. Leave the "change" permissions (DNS, email, websites, apps, support) off unless you want it to act on them.
  • Check the return address, not the name. On the permission screen, an app's name is only a claim. If you did not just start a connection yourself, deny the request.
  • Review regularly. Check Connected apps, and your cPanel token list, every few months and remove anything unused.

6. What to do when you need more

If your project needs something these routes don't cover, such as registering domains in bulk from your own software, open a ticket and describe the use case. Support will tell you what is possible. Until then, orders, payments, renewals and transfers are done in the client area.

If you are choosing where to build: the App Platform runs Node.js apps automatically and anything else with a Dockerfile, with deploy tokens for CI. cPanel hosting suits PHP sites that you script through UAPI. A VPS gives you full control of your own server.

Does Domain India have a REST API with API keys?

No. There is no general REST API with API keys for domains, billing or orders, and the client area has no API-key page. For programmatic access, use the assistant connection (the DOMAIN INDIA plugin in ChatGPT, or domainindia.com/mcp), App Platform deploy tokens, or the cPanel UAPI on your own hosting account.

How do I connect my Domain India account to ChatGPT or Claude?

In ChatGPT, open Plugins, search for DOMAIN INDIA (or use https://chatgpt.com/plugins/plugin_asdk_app_6aaa62b9e16081919cbed2e487018663) and connect. In Claude, add https://domainindia.com/mcp as a custom connector. Then sign in to your Domain India account and approve the permissions you want. Some permissions only let the assistant see things; others let it change DNS records, email, websites, apps or tickets. Tick only what you need.

Can an AI assistant pay invoices or transfer my domain?

No. There is no permission for payments, orders, cancelling a service, transfer codes, nameserver or contact changes, or passwords, so no connected app can do these things. It can prepare an order or renewal link that you open and pay yourself.

I connected ChatGPT a while ago and only see a few tools. Why?

Connections made before 8 October 2026 keep the permissions that existed then. Disconnect Domain India on Connected apps (or in ChatGPT) and connect again to get the full set.

Can I use the cPanel API on Domain India shared hosting?

Yes, for your own account. Create a token in cPanel under Security, Manage API Tokens, and call UAPI on port 2083 with the header Authorization: cpanel yourusername:TOKEN. WHM's API is not available to shared hosting accounts.

Can I use the DirectAdmin API with login keys?

No. Login keys are not available to customers on Domain India DirectAdmin hosting. Ask support if you need to automate something on a DirectAdmin account.

How do I deploy to the App Platform from GitHub Actions?

Create a deploy token in your app's Deploy Tokens tab. It comes with a ready-to-run upload command. Store the token as a CI secret and have your pipeline package the project with tar and run that command.

Can I register domains through an API as a reseller?

There is no public domain registration API. Open a support ticket and describe your use case, and support will tell you what is possible.

Ready to automate? Connect an assistant from Connected apps, read Deploying with a deploy token for CI, or open a ticket if your use case isn't covered. Support is on 24/7 live chat, and tickets get a first response within 15 minutes.

Not sure which route fits?

Tell us what you want to automate and which services you use, and we will point you to the right tool.

Ask support

Was this article helpful?

Your answer helps us decide what to improve next.

Still need help? Open a support ticket and our team will reply.

Prefer an app? Add this site to your home screen.Get the app