Domain Management
Add, view, or remove domains for Railway services.
When to Use User asks to "add a domain", "generate a domain", "get a URL" User wants to add a custom domain User asks "what's the URL for my service" User wants to remove a domain Add Railway Domain
Generate a railway-provided domain (max 1 per service):
railway domain --json
For a specific service:
railway domain --json --service backend
Response
Returns the generated domain URL. Service must have a deployment.
Add Custom Domain railway domain example.com --json
Response
Returns required DNS records:
{ "domain": "example.com", "dnsRecords": [ { "type": "CNAME", "host": "@", "value": "..." } ] }
Tell user to add these records to their DNS provider.
Read Current Domains
Use environment skill to see configured domains, or query directly:
query domains($envId: String!) { environment(id: $envId) { config(decryptVariables: false) } }
Domains are in config.services.
serviceDomains - Railway-provided domains customDomains - User-provided domains Remove Domain
Use environment skill to remove domains:
Remove custom domain
{
"services": {
"
Remove railway domain
{
"services": {
"
Then use environment skill to apply and commit the change.
CLI Options
Flag Description
[DOMAIN] Custom domain to add (omit for railway domain)
-p, --port railway service to select one.
Domain Already Exists Service already has a railway-provided domain. Maximum 1 per service.
No Deployment
Service has no deployment. Deploy first with railway up.
Invalid Domain Invalid domain format. Use a valid domain like "example.com" or "api.example.com".