PHP
composer require vettiguard/vettiguard-php:^1.0$client = \VettiGuardSdk\VettiGuardVerifier::production($secret);
$decision = $client->checkRateLimit([
'action' => 'payment.create',
'method' => 'POST',
'cost' => 1,
]);
Use an official server SDK for verification, Rate Limiting, Concurrency Control, Dependency Resilience, Trust Orchestration, and signed webhook handling. Keep private credentials on your trusted backend.
These quickstarts demonstrate atomic Rate Limiting check-and-consume. The same clients expose the other supported server-side trust and traffic-control operations.
composer require vettiguard/vettiguard-php:^1.0$client = \VettiGuardSdk\VettiGuardVerifier::production($secret);
$decision = $client->checkRateLimit([
'action' => 'payment.create',
'method' => 'POST',
'cost' => 1,
]);
npm install @vettiguard/nodeconst { checkRateLimit } = require('@vettiguard/node');
const decision = await checkRateLimit({
secret, action: 'payment.create', method: 'POST', cost: 1
});
pip install vettiguardfrom vettiguard import VettiGuardClient
client = VettiGuardClient(secret=secret)
decision = client.rate_limit(
action="payment.create", method="POST", cost=1
)
go get github.com/vettiguard/vettiguard-go@v1.0.0client, err := vettiguard.New(secret)
if err != nil { return err }
decision, err := client.RateLimit(ctx, map[string]any{
"action": "payment.create", "method": "POST", "cost": 1,
})
Never embed a VettiGuard server secret, SCIM token, webhook secret, or private API credential in browser or mobile application code.
Rate Limiting checks and token consumption happen in one operation. Concurrency and dependency services use signed, expiring admission credentials for their lifecycle operations.
New production integrations should establish real traffic baselines before moving protection policies into Throttle, Wait, Challenge, or Enforce modes.
This action may affect your integration.