Skip to main content

When to use this section

Most teams should use the provider wrappers: Use this section when:
  • you are building your own provider adapter
  • you want to call Averta before and after provider operations manually
  • you need provider-agnostic decision helpers instead of a provider-specific wrapper
  • you use a programming language without an Averta SDK package
This is the advanced path. JavaScript and Python adapters can use core packages. Other runtimes should call the raw decision API.

Raw API vs. Core SDK

PathUse it when
Raw APIYour app is written in another language, or you want to own every HTTP call.
@averta-security/sdk-coreYou are building a JavaScript adapter and want typed checkpoint helpers.
averta-coreYou are building Python custom adapter helpers from the SDK source beta.

The Low-level Client

AvertaDecisionClient calls Averta’s /v1/decide endpoint and exposes methods for the same checkpoint lifecycle used by the wrappers:
  • preflight(...)
  • checkToolCall(...)
  • checkToolResult(...)
  • checkOutput(...)

Reading Path

Raw API

Call Averta directly from any language.

Decision client

Create a low-level Averta client.

Request checkpoint

Evaluate provider input before the upstream call.

Tool exposure

Filter tools after a restrict_tools decision.

Tool-call checkpoint

Check model-requested tool calls before execution.

Tool results

Screen returned tool content before it goes back to the model.

Output checkpoint

Check final output before returning it.