package main
import(
"context"
"os"
openrouter "github.com/OpenRouterTeam/go-sdk"
"github.com/OpenRouterTeam/go-sdk/optionalnullable"
"github.com/OpenRouterTeam/go-sdk/models/components"
"log"
)
func main() {
ctx := context.Background()
s := openrouter.New(
openrouter.WithSecurity(os.Getenv("OPENROUTER_API_KEY")),
)
res, err := s.Guardrails.Create(ctx, components.CreateGuardrailRequest{
AllowedModels: optionalnullable.From[[]string](nil),
AllowedProviders: optionalnullable.From(openrouter.Pointer([]string{
"openai",
"anthropic",
"deepseek",
})),
Description: optionalnullable.From(openrouter.Pointer("A guardrail for limiting API usage")),
EnforceZdrAnthropic: optionalnullable.From(openrouter.Pointer(true)),
EnforceZdrGoogle: optionalnullable.From(openrouter.Pointer(false)),
EnforceZdrOpenai: optionalnullable.From(openrouter.Pointer(true)),
EnforceZdrOther: optionalnullable.From(openrouter.Pointer(false)),
EnforceZdrXai: optionalnullable.From(openrouter.Pointer(false)),
IgnoredModels: optionalnullable.From[[]string](nil),
IgnoredProviders: optionalnullable.From[[]string](nil),
LimitUsd: optionalnullable.From(openrouter.Pointer[float64](50.0)),
Name: "My New Guardrail",
ResetInterval: optionalnullable.From(openrouter.Pointer(components.GuardrailIntervalMonthly)),
})
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}