Passer au contenu principal
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.

Configuration de l’application

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 RailScoreClient

client = 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 | regenerate
print(f"Eval mode:   {cfg.policy.eval_mode}")      # basic | deep
print(f"Threshold:   {cfg.policy.overall_threshold}")
print(f"Mode:        {cfg.enforcement.mode}")      # enforce | monitor

if cfg.policy.locked:
    print("Policy is locked by an administrator; per-request overrides are ignored.")

Capacités du plan

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.
caps = client.get_capabilities()

print(f"Plan: {caps.plan}")
print(f"Frameworks: {caps.compliance.get('frameworks')}")
print(f"DPDP evidence available: {caps.dpdp.get('evidence')}")   # Pro+ only
print(f"Requests/day: {caps.limits.get('requests_per_day')}")     # None = unlimited

Métadonnées de dimension

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é.

Async

Le client async expose les mêmes trois méthodes :
import asyncio
from rail_score_sdk import AsyncRAILClient

async def main():
    client = AsyncRAILClient(api_key="YOUR_RAIL_API_KEY")
    caps = await client.get_capabilities()
    print(caps["plan"])  # async client returns raw dicts

asyncio.run(main())

Connexe

API de configuration

Les points de terminaison REST derrière ces méthodes.

Moteur de politiques

Comment l’application, les seuils et le verrouillage fonctionnent.