Everything you need to integrate Vanguard into your game.
Create, manage, and send webhook requests through Vanguard's secure proxy.
/api/v1/serverside/webhook/{serversideId}List all webhooks for a serverside.
/api/v1/serverside/webhook/createCreate a new webhook linked to a Discord webhook URL.
{
"serversideId": "ss_abc123",
"url": "https://discord.com/api/webhooks/123456/abcdef",
"name": "Player Events"
}/api/v1/serverside/webhooks/{webhookId}Update a webhook's URL, name, or settings.
/api/v1/serverside/webhooks/{webhookId}Delete a webhook.
Templates let you pre-configure embed layouts and inject secure variables automatically.
/api/v1/serverside/webhook/templateList all templates for a webhook.
/api/v1/serverside/webhook/template/createCreate a new webhook template with embedded variables.
/api/v1/serverside/webhook/template/deleteDelete a webhook template.
Use these template variables in your webhook body. They are server-signed and cannot be tampered with by clients.
{{vanguard.player_name}}Verified player username{{vanguard.player_id}}Verified player Roblox ID{{vanguard.game_id}}Game universe ID{{vanguard.server_id}}Server job ID{{vanguard.timestamp}}UTC timestamp{{vanguard.request_id}}Unique request identifierlocal HttpService = game:GetService("HttpService")
local PROXY = "https://vapi.exoliner.wtf/v1/webhook/proxy/YOUR_SERVER_ID"
local data = {
content = "",
embeds = {{
title = "Player Joined",
description = "A verified player has joined the game.",
color = 65416,
fields = {
{ name = "Player", value = "{{vanguard.player_name}}", inline = true },
{ name = "Game", value = "{{vanguard.game_id}}", inline = true },
},
timestamp = "{{vanguard.timestamp}}"
}}
}
local success, err = pcall(function()
HttpService:PostAsync(PROXY, HttpService:JSONEncode(data))
end)
if not success then
warn("Webhook failed:", err)
end{
"success": true,
"message": "Webhook delivered successfully"
}{
"success": false,
"error": "Game validation failed",
"message": "Request origin could not be verified"
}