Skip to main content

Install the SDK

npm install @limits/js

Initialize the Client

import { Limits } from '@limits/js';

const limits = new Limits({
  apiKey: process.env.LIMITS_API_KEY,
});

Check Conditions

Check policies with structured data using check():
const decision = await limits.check('amount-minimum-usd', {
  amount: 500,
  currency: 'USD',
  customerId: 'cus_123',
});

if (decision.isBlocked) {
  console.error('Action blocked:', decision.data.reason);
  return;
}

// Proceed with the action
console.log('Action allowed:', decision.data.reason);

Evaluate Instructions or Guard Text

  • Instructions (prompt + LLM response): use evaluate(policyKeyOrTag, prompt, response).
  • Guardrails (text only, e.g. safety/PII): use guard(policyKeyOrTag, text).
// Guardrails on model output
const decision = await limits.guard('content-guardrail', modelOutput);
if (decision.isBlocked) {
  console.error('Blocked:', decision.data.reason);
}

Complete Example

import { Limits } from '@limits/js';

const limits = new Limits({
  apiKey: process.env.LIMITS_API_KEY,
});

const decision = await limits.check('amount-minimum-usd', {
  amount: 500,
  currency: 'USD',
});

if (decision.isBlocked) {
  console.error('Blocked:', decision.data.reason);
} else if (decision.isEscalated) {
  console.warn('Escalated:', decision.data.reason);
} else {
  console.log('Allowed:', decision.data.reason);
}

if (decision.errors?.length) {
  decision.errors.forEach((error) => console.error('  -', error));
}

Next Steps