Overview
Services represent applications or databases exposed by agents. The Services API provides endpoints for registration, health monitoring, diagnostics, and public URL management.Register Service
Register a new service exposed by an agent.UUID of the agent exposing this service
Service name (1-100 characters, alphanumeric, hyphens, underscores)
Target hostname (e.g.,
localhost, 127.0.0.1). Max 253 characters.Target port number (1-65535)
Protocol:
auto, tcp, udp, http, httpsMake publicly accessible via generated URL
Port on the hub where the service is accessible via tunnel
Create External Service
Register an external service target (not exposed by an agent). Useful for monitoring external APIs or databases.Service name
External hostname or IP
External port
Protocol:
auto, tcp, udp, http, httpsAn initial health check runs automatically when creating an external service.
List Services
Retrieve all services in the workspace.Get Service Details
Retrieve details for a specific service.Update Service
Update service properties like name.New service name (1-100 characters, alphanumeric, hyphens, underscores)
Delete Service
Delete a service from the workspace.Diagnostics
Run Service Check
Run a diagnostic check on a service to verify connectivity and health.Diagnostic perspective:
hub (from control plane) or agent (from specific agent)Get Diagnostic History
Retrieve diagnostic history for a service.Limit number of results
Reach Check
Test connectivity to a service from a specific agent (agent perspective diagnostics).UUID of the agent to test connectivity from
Test mode:
tcp, tls, httpTimeout in milliseconds (1000-30000)
Reach checks create diagnostic sessions for tracking agent-to-service connectivity patterns.
Public Access
Set Custom Subdomain
Set a custom vanity subdomain for public access to a service.Custom subdomain (3-32 characters, lowercase alphanumeric and hyphens). Set to
null to clear.Subdomains are automatically prefixed with
pc- to prevent conflicts. The service must have isPublic: true.Check Subdomain Availability
Check if a subdomain is available and valid.Subdomain to check
Protocol Detection
Theprotocol field supports auto-detection:
auto (default)
auto (default)
Automatically detect protocol based on port:
- Port 80, 8080, 3000, 5000 →
http - Port 443, 8443 →
https - Port 5432 → PostgreSQL (tcp)
- Port 3306 → MySQL (tcp)
- Port 27017 → MongoDB (tcp)
- Port 6379 → Redis (tcp)
- All other ports →
tcp
tcp
tcp
Raw TCP connection. Works for databases, custom protocols, and any TCP service.
udp
udp
UDP protocol. For services like DNS, VoIP, game servers.
http
http
HTTP protocol. Enables HTTP-specific diagnostics like status code checking.
https
https
HTTPS protocol with TLS. Validates certificates and enables secure proxying.
Service Status
Services have the following status values:active- Service is running and accessibleinactive- Service is registered but not currently accessibleerror- Service encountered an error during last health checkunknown- Service status has not been checked yet
Best Practices
Health Monitoring
Run periodic diagnostic checks to monitor service health. Set up webhooks to receive alerts when services go down.
Public Services
Only make services public when necessary. Use shares with access control for temporary external access.
Naming Convention
Use descriptive names like
prod-api, staging-db, dev-redis to easily identify services.External Services
Use external services to monitor third-party APIs and databases that aren’t behind agents.