bonafide-raas-cli
Command-line client for Bonafide RaaS (retrieval-as-a-service). It returns cited answers from the Bonafide catalog, runs the multi-agent answer path, runs named skills, and calls the MCP tools. The CLI is a thin client over the REST API, so it holds no secrets of its own.
Install
pipx install bonafide-raas-cli # or: pip install bonafide-raas-cli
raas --help
Add the AWS extra only if you use RAAS_CREDENTIALS_SECRET:
pipx install "bonafide-raas-cli[aws]"
Configure
Set the API base URL and sign in. Your administrator provides the URL and the credentials. A bearer token is the only credential the API needs.
| Variable | Purpose |
|---|---|
RAAS_URL |
API base URL (required) |
RAAS_TOKEN |
Bearer token, sent as Authorization: Bearer. Set the token only, without the Bearer prefix |
RAAS_API_KEY |
Optional. Not required. The API ignores it if sent |
RAAS_ISSUER, RAAS_CLIENT_ID, RAAS_CLIENT_SECRET |
Client-credentials sign-in for automation |
RAAS_CREDENTIALS_SECRET |
A secret name or ARN holding the client settings (needs the aws extra) |
For a person signing in interactively, use device-code login: raas login. The token is cached locally.
Authentication
The API checks the bearer token at the gateway before any request reaches the service. The token must be a
Keycloak access token issued to a client, and it must carry a client_id claim. A token without that claim
is rejected with 401 Unauthorized.
Troubleshooting
| Symptom | Likely cause |
|---|---|
401 Unauthorized |
Token missing, expired, issued by the wrong Keycloak realm, or without a client_id claim. Sign in again, or ask your administrator to check the client's token settings |
401 after setting RAAS_TOKEN |
The value includes Authorization: or Bearer. Set the bare token |
Exit code 3 |
No credentials set. See the table above |
Use
raas health # no credentials needed
raas retrieve "Which hotels are in New York City?" # cited answer
raas retrieve "..." --mode sources # full source records
raas agent "..." # multi-agent answer; read misalignment_flags
raas skills list
raas skills run facts "..."
raas mcp tools
raas mcp call retrieval_search --args '{"query": "..."}'
raas job <job_id>
Output is JSON on stdout. Exit codes: 0 success, 1 API error (details on stderr), 2 usage error,
3 missing configuration.
Changes
0.1.3 (release pending): The CLI identifies itself to the API with the X-RaaS-Client header, so usage can be reported by channel. No behaviour change for users.
0.1.2: Added raas --version, which prints the installed version.
0.1.1: The API accepts a bearer token alone. RAAS_API_KEY is optional and no longer required, so
existing configurations keep working. Added the Authentication and Troubleshooting sections.
0.1.0: First public release.
Compatibility
The version follows semantic versioning. A breaking change to the API contract is released as a new major version. Before 1.0, minor versions may still include breaking changes; each release notes them.
Support
Report problems with the command, its version (raas --version), and the exit code. Do not send API keys,
tokens or secret names.
License
Apache License 2.0. See LICENSE. This license covers the CLI code only; use of the RaaS service and its data is governed by your service agreement.
Metadata
Release files for bonafide-raas-cli 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| bonafide_raas_cli-0.1.4.tar.gz | 14.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bonafide_raas_cli-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.1 kB
Release files / bonafide_raas_cli-0.1.4.tar.gz
| Download URL | bonafide_raas_cli-0.1.4.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da3db1441a4b14880c53ca7f3fbd304516c27a5410c3772f604fb66ea82ea0a5
|
|
BLAKE2b-256 checksum How to use checksums |
66080a73cbfe169a9ec9e57ad5ba11870f28c7b8f50ab90d69555d868a1a054a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logRelease files / bonafide_raas_cli-0.1.4-py3-none-any.whl
| Download URL | bonafide_raas_cli-0.1.4-py3-none-any.whl |
|---|---|
| Size | 16.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36ebc64a09484b913192271d2c080bc10c293eaefc4f0ecd9f87b2c8e231a305
|
|
BLAKE2b-256 checksum How to use checksums |
754de96a5a76c5ffafb505bf926f2a433019e1d2b6a569518f864c7544668dd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logSecurity for bonafide-raas-cli 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for bonafide_raas_cli-0.1.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.