ExitProbe API Documentation

A complete reference for the ExitProbe REST API: every resource, every field, every VPN protocol's configuration format, server sources, webhooks, integrations, and the official SDKs. If something here is unclear or a field seems missing, that's a documentation bug — everything the API accepts and returns is meant to be covered.

Base URL

Every endpoint in this documentation is relative to:

https://api.exitprobe.com/api/v1

The API is versioned at /v1. Responses are always JSON, requests should send Content-Type: application/json when sending a body.

Response envelope

Every response — success or failure — uses the same shape:

{
  "success": true,
  "message": "optional, human-readable — present on writes and errors",
  "data": { /* present on most successful responses */ }
}

A failed request keeps success: false and usually a message. A validation failure (HTTP 422) additionally includes an errors object, keyed by field name — see Errors & Rate Limits.

Quick start

Get your API token from Settings → API Tokens in your ExitProbe dashboard, send it as a Authorization: Bearer <token> header on every request, and list your monitors:

curl -X GET '/api/v1/monitors?status=up&range=24h' \
  -H "Authorization: Bearer ep_live_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"

What's in these docs

Every endpoint card in these docs shows request examples in cURL, Node.js, Python, PHP, and Dart, plus the exact call using our official Node.js and Laravel SDKs. Pick the tab that matches your stack.