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
Raw API vs. Core SDK
| Path | Use it when |
|---|---|
| Raw API | Your app is written in another language, or you want to own every HTTP call. |
@averta-security/sdk-core | You are building a JavaScript adapter and want typed checkpoint helpers. |
averta-core | You 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.