REST API for automation and integration
All API endpoints accept both form-encoded data (application/x-www-form-urlencoded) and JSON (application/json).
Responses are always JSON.
Base URL:
/api/ping
ICMP ping test (4 packets)
host | string | Hostname or IP address |
curl -X POST constellation/api/ping \
-H "Content-Type: application/json" \
-d '{"host": "google.com"}'
/api/dns
DNS record lookup
host | string | Domain name |
type | string | Record type: A, AAAA, MX, TXT, NS, CNAME, PTR |
curl -X POST constellation/api/dns \
-H "Content-Type: application/json" \
-d '{"host": "github.com", "type": "A"}'
/api/portscan
TCP port scanner with banner grabbing
host | string | Hostname or IP address |
ports | string | Optional. Ports to scan (e.g., "22,80,443" or "8000-8100") |
curl -X POST constellation/api/portscan \
-H "Content-Type: application/json" \
-d '{"host": "scanme.nmap.org", "ports": "22,80,443"}'
/api/whois
WHOIS domain/IP registration lookup
host | string | Domain name or IP address |
curl -X POST constellation/api/whois \
-H "Content-Type: application/json" \
-d '{"host": "example.com"}'
/api/ssl-check
SSL/TLS certificate information and expiration
host | string | Hostname (optionally with port, e.g., "example.com:8443") |
curl -X POST constellation/api/ssl-check \
-H "Content-Type: application/json" \
-d '{"host": "github.com"}'
/api/traceroute
Network path tracing (max 20 hops)
host | string | Hostname or IP address |
curl -X POST constellation/api/traceroute \
-H "Content-Type: application/json" \
-d '{"host": "google.com"}'
/api/mac-lookup
MAC address vendor lookup
mac | string | MAC address (any format: XX:XX:XX:XX:XX:XX) |
curl -X POST constellation/api/mac-lookup \
-H "Content-Type: application/json" \
-d '{"mac": "00:1A:2B:3C:4D:5E"}'
/api/http-headers
Fetch HTTP response headers for a URL
url | string | URL to fetch (https:// prefix added if missing) |
curl -X POST constellation/api/http-headers \
-H "Content-Type: application/json" \
-d '{"url": "https://github.com"}'
/api/tcp-test
Test TCP connection to host:port
host | string | Hostname or IP |
port | string | Port number |
curl -X POST constellation/api/tcp-test \
-H "Content-Type: application/json" \
-d '{"host": "google.com", "port": "443"}'
/api/reverse-dns
Reverse DNS lookup (PTR record)
ip | string | IP address |
curl -X POST constellation/api/reverse-dns \
-H "Content-Type: application/json" \
-d '{"ip": "8.8.8.8"}'
/api/public-ip
Get the server's public IP address
curl constellation/api/public-ip
/api/password
Generate a random password
length | int | Password length (8-64, default: 16) |
uppercase | bool | Include uppercase letters |
lowercase | bool | Include lowercase letters |
numbers | bool | Include numbers |
symbols | bool | Include symbols |
curl -X POST constellation/api/password \
-H "Content-Type: application/json" \
-d '{"length": 20, "uppercase": true, "lowercase": true, "numbers": true, "symbols": true}'
/api/hash
Calculate hash of text
text | string | Text to hash |
algorithm | string | md5, sha1, sha256, sha512 |
curl -X POST constellation/api/hash \
-H "Content-Type: application/json" \
-d '{"text": "hello world", "algorithm": "sha256"}'
/api/base64
Base64 encode/decode
text | string | Text to encode/decode |
action | string | "encode" or "decode" |
curl -X POST constellation/api/base64 \
-H "Content-Type: application/json" \
-d '{"text": "hello world", "action": "encode"}'
/api/speedtest/ping
Latency test endpoint (returns server timestamp)
curl constellation/api/speedtest/ping
/api/speedtest/download
Download test data (for bandwidth measurement)
size | int | Size in MB (1-100, default: 10) |
curl -o /dev/null constellation/api/speedtest/download?size=5
/api/speedtest/upload
Upload test (measures upload speed)
dd if=/dev/zero bs=1M count=5 | curl -X POST constellation/api/speedtest/upload --data-binary @-