TunnelSats Public Wireguard API
  1. 📢 Public
TunnelSats Public Wireguard API
  • About our team
  • 📢 Public
    • List Servers
      GET
    • Create Subscription
      POST
    • Check Status / Heal
      GET
    • Claim Subscription
      POST
    • Renew Subscription
      POST
    • Get Subscription Status
      POST
  • 🔐 Authenticated
    • List My Subscriptions
      GET
    • Sync Subscription
      POST
    • Create Referral Code
      POST
    • Referral History
      GET
  • Announcements
    • 💫 What is TunnelSats?
    • 🚀 Introducing the TunnelSats Public API v1
  • Cookbook
    • 🛠️ Automation & Code Examples
    • 🐚 Bash One-Liners
    • 🛑 Error Codes & Troubleshooting
    • 🎁 Referral Program: Earn Bonus Months
  • Schemas
    • Server
    • InvoiceOrder
    • SubscriptionStatus
    • WireGuardConfig
    • ReferralCode
    • ReferralHistory
    • NodeLookup
    • ConnectivityResult
  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
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://tunnelsats.com/api/public/v1/subscription/status' \
--header 'Content-Type: application/json' \
--data-raw '{
    "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 Subscription
Next
🔐 Authenticated
Built with