Evaluate a decision

Apply a tenant policy and optional private price book, then rank compatible deployments by cost.

Request

POST/v1/decisions/evaluateAuthentication: Required
cURL
curl https://api.use-allm.com/v1/decisions/evaluate \
  -X POST \
  -H "Authorization: Bearer $ALLM_API_KEY" \
  -H "Idempotency-Key: decision-2026-07-22-001" \
  -H "Content-Type: application/json" \
  -d '{"policy":{"regions":["eu"],"capabilities":["tool_calling"]},"usage":{"input_tokens":1000,"output_tokens":250}}'

SDK

TypeScript
const candidates = await allm.decisions.evaluate({
  policy: { regions: ["eu"], capabilities: ["tool_calling"] },
  inputTokens: 1_000,
  outputTokens: 250,
  idempotencyKey: "decision-2026-07-22-001",
});

Behavior

Stored policy_id and price_book_id values are resolved only inside the organization attached to the API key. Versioned private rules may override input, cached-input and output rates, or apply bounded batch, regional and negotiated-uplift multipliers. Candidate deployments that fail a hard requirement or lack a price are omitted.

Response metadata

Every successful response includes x-allm-catalog-release, x-request-id, and an ETag. Store the request ID in logs and the catalog release beside any persisted decision.