Introspection en lecture seule de la politique de votre application, des capacités de plan et des dimensions avec client.get_config / get_capabilities / get_dimensions. Aucun crédit consommé.
Ajouté dans le SDK 2.6.0. Chaque clé API est liée à une application dont la politique de gouvernance est configurée centralement dans le tableau de bord. Ces trois méthodes permettent à votre code de lire cette configuration à l’exécution — utile pour les vérifications de démarrage, les tableaux de bord et la surveillance. Elles sont en lecture seule et ne consomment pas de crédits.
get_config() retourne l’application à laquelle la clé est liée, sa politique de gouvernance et si l’application façonne activement les réponses ou les observe seulement.
from rail_score_sdk import RailScoreClientclient = RailScoreClient(api_key="YOUR_RAIL_API_KEY")cfg = client.get_config()print(f"Application: {cfg.application.id} ({cfg.application.environment})")print(f"Plan: {cfg.application.plan}")print(f"Enforcement: {cfg.policy.enforcement}") # log_only | block | regenerateprint(f"Eval mode: {cfg.policy.eval_mode}") # basic | deepprint(f"Threshold: {cfg.policy.overall_threshold}")print(f"Mode: {cfg.enforcement.mode}") # enforce | monitorif cfg.policy.locked: print("Policy is locked by an administrator; per-request overrides are ignored.")
get_capabilities() rapporte ce que le plan de la clé peut accéder — modes d’évaluation, cadres de conformité, fonctionnalités d’agent et DPDP et limites de requête. Utilisez-le pour adapter le comportement sans coder en dur les hypothèses de plan.
get_dimensions() retourne les huit dimensions RAIL avec le poids et le seuil configurés pour votre application, plus les bandes de score dans lesquelles un résultat tombe.
dims = client.get_dimensions()for d in dims.dimensions: print(f"{d.get('name'):14} weight={d.get('weight')} threshold={d.get('threshold')}")for band in dims.score_bands: print(band.get("band"), ">=", band.get("min"))
Chaque résultat typé expose également un dictionnaire .raw avec la réponse inmodifiée, donc les nouveaux champs sont toujours accessibles même avant que le SDK n’ajoute un accesseur typé.