Learn how to validate requests using the Limitly SDK
import { Limitly } from '@limitly/limitly-js'; const limitly = new Limitly({ apiKey: process.env.LIMITLY_API_KEY! }); // Validate a request const result = await limitly.validation.validate( 'user_api_key', '/api/users', 'GET' ); if (result.success) { console.log('Request allowed'); } else { console.log('Request denied:', result.error); }
import express from 'express'; import { Limitly } from '@limitly/limitly-js'; const app = express(); const limitly = new Limitly({ apiKey: process.env.LIMITLY_API_KEY! }); app.use(async (req, res, next) => { const apiKey = req.headers['x-api-key'] as string; if (!apiKey) { return res.status(401).json({ error: 'API Key required' }); } const result = await limitly.validation.validate( apiKey, req.path, req.method ); if (!result.success) { return res.status(429).json({ error: 'Rate limit exceeded', details: result.details }); } next(); }); app.get('/api/users', (req, res) => { res.json({ message: 'Users retrieved successfully' }); });
interface ValidateRequestResponse { success: boolean; error?: string; details?: { current_usage: number; limit: number; plan_name: string; period_start: string; period_end: string; }; }
import { Limitly } from '@limitly/limitly-js'; const limitly = new Limitly({ apiKey: process.env.LIMITLY_API_KEY! }); try { const result = await limitly.validation.validate( 'user_api_key', '/api/users', 'GET' ); if (result.success) { console.log('Request allowed'); console.log('Remaining requests:', result.details?.limit - result.details?.current_usage); } else { console.log('Request denied:', result.error); if (result.details) { console.log('Retry after:', result.details.period_end); } } } catch (error) { console.error('Validation error:', error); }
Was this page helpful?