Docs
CLI and library
The tester is the rtblint Rust core compiled to WebAssembly. The same core runs as a command-line tool and as a Rust library, so a check you see in the browser is the check you can gate a build on.
CLI
Validate a bid request from a file or from stdin:
# validate a file rtblint validate request.json # validate from stdin cat request.json | rtblint validate --stdin # pin a specific tracked version rtblint validate request.json --version 2.6-202505 # machine-readable output for CI rtblint validate request.json --format json
The JSON output carries the same shape as the tester: a valid flag and an issues array, each issue with an id, severity, message, and path. Match on the id to fail a pipeline on errors while letting warnings through.
Rust library
Use rtblint-core to validate in-process, with no subprocess:
use rtblint_core::validate;
let result = validate(&bid_request_json);
if !result.valid {
for issue in &result.issues {
eprintln!("{} [{}] {}", issue.severity, issue.id, issue.message);
}
}validate targets the latest tracked 2.6 snapshot; validate_bid_request_for_version pins a specific one.
Packages
rtblint-core: the Rust validation library (crates.io)rtblint: the Rust CLI (crates.io)rtblint-mcp: the MCP server crate
The npm, Python, and Go packages are reserved and currently stub releases; the working surfaces today are the Rust core, the CLI, and this WebAssembly-backed tester. Track progress on GitHub.
Start from the bid request tester to see the output, then wire the same checks into your pipeline.