1. 📢 Public
TunnelSats Public Wireguard API
  • About our team
  • 📢 Public
    • List available VPN servers
      GET
    • Create a new VPN subscription
      POST
    • Claim a WireGuard configuration after payment
      POST
    • Check subscription status via payment hash
      GET
    • Renew an existing VPN subscription
      POST
    • Get Subscription Status
      POST
  • 🔐 Authenticated
    • Sync Subscription
      POST
    • Create Referral Code
      POST
    • Referral History
      GET
    • List all active/paid subscriptions for the account
      GET
  • 🔧 Tools
    • Lightning Node Network Address Discovery
      POST
    • Universal Connectivity Probe
      POST
  • Announcements
    • 💫 What is TunnelSats?
    • 🚀 Introducing the TunnelSats Public API v1
    • How TunnelSats Leverages Public APIs for Confined VPN Management
  • Cookbook
    • 🛠️ Automation & Code Examples
    • 🐚 Bash One-Liners
    • 🛑 Error Codes & Troubleshooting
    • 🎁 Referral Program: Earn Bonus Months
    • 🚑 Node Health & Upkeep
    • 🛡️ Security & Authentication
  • Schemas
    • Server
    • InvoiceOrder
    • SubscriptionStatus
    • WireGuardConfig
    • ReferralCode
    • ReferralHistory
    • NodeLookup
    • ConnectivityResult
    • RenewalOrder
    • ClaimResult
    • ApiError
    • SubscriptionListItem
  1. 📢 Public

Get Subscription Status

POST
/api/public/v1/subscription/status
Returns subscription status by polling VPN servers. No authentication required.
FieldTypeDescription
wgPublicKeystringWireGuard public key (base64, 44 chars)
expirystringSubscription end date (ISO 8601)
bandwidth_used_gbnumberBandwidth used in GB
statusstring"enabled"
or
"disabled"
server_domainstringVPN server domain
last_synced_atstringnull

Rate Limit#

30 requests per minute per IP

Request

Header Params

Body Params application/json

Examples

Responses

🟢200
application/json
Bodyapplication/json

Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://tunnelsats.com/api/public/v1/subscription/status' \
--header 'Content-Type: application/json' \
--data '{
    "wgPublicKey": "{{wgPublicKey}}"
}'
Response Response Example
{
    "expiry": "2026-08-14T15:47:41.000Z",
    "bandwidth_used_gb": 45.67,
    "status": "enabled",
    "server_domain": "de2.tunnelsats.com",
    "last_synced_at": "2026-01-09T12:00:00.000Z"
}
Modified at 2026-02-10 21:55:30
Previous
Renew an existing VPN subscription
Next
🔐 Authenticated
Built with