Documentation Index
Fetch the complete documentation index at: https://docs.startmyvpn.com/llms.txt
Use this file to discover all available pages before exploring further.
All endpoints require authentication.
GET /v1/tickets
List all support tickets for the authenticated user.
Response (200):
{
"success": true,
"data": [
{
"id": 1,
"subject": "Cannot connect to server",
"status": "open",
"created_at": "2026-01-05T14:00:00Z",
"last_reply_at": "2026-01-05T15:30:00Z"
}
]
}
POST /v1/tickets
Create a new support ticket.
Request:
{
"subject": "Cannot connect to New York server",
"message": "I keep getting a timeout when connecting to NYC-1. I've tried reinstalling the config."
}
Response (201):
{
"success": true,
"data": {
"id": 2,
"subject": "Cannot connect to New York server",
"status": "open",
"created_at": "2026-01-10T09:00:00Z"
}
}
Rate limit: 10 requests / minute
GET /v1/tickets/
Get a ticket and its full reply thread.
Path parameter: ticket — ticket ID
Response (200):
{
"success": true,
"data": {
"id": 2,
"subject": "Cannot connect to New York server",
"status": "open",
"replies": [
{
"id": 1,
"message": "I keep getting a timeout...",
"is_admin": false,
"created_at": "2026-01-10T09:00:00Z"
},
{
"id": 2,
"message": "Hi Jane, please try switching to TCP mode.",
"is_admin": true,
"created_at": "2026-01-10T10:15:00Z"
}
]
}
}
POST /v1/tickets//reply
Add a reply to an existing ticket.
Request:
{
"message": "Switching to TCP mode fixed it, thank you!"
}
Response (201):
{
"success": true,
"data": {
"id": 3,
"message": "Switching to TCP mode fixed it, thank you!",
"is_admin": false,
"created_at": "2026-01-10T11:00:00Z"
}
}
Rate limit: 10 requests / minute
PUT /v1/tickets//close
Close a ticket.
Response (200):
{
"success": true,
"message": "Ticket closed."
}
GET /v1/faq
List all public FAQ entries. No authentication required.
Response (200):
{
"success": true,
"data": [
{
"id": 1,
"question": "How do I connect on iOS?",
"answer": "Download the WireGuard app from the App Store..."
}
]
}