Collega il tuo agente IA con OAuth. Per l’automazione non presidiata usa un client macchina o account di servizio e conserva la credenziale in variabili d’ambiente protette o in un archivio di segreti.
Argus non genera decisioni di investimento né ordini, ma non limita l’analisi e l’output indipendenti dell’agente client con dati ottenuti legalmente.
REST e API
- Usa il documento OpenAPI autorevole per gli schemi REST correnti.
- Invia un OAuth Bearer token; machine clients e service accounts possono usare X-Argus-API-Key.
- Convalida la risposta HTTP strutturata e il codice di stato in base al contratto OpenAPI.
- 400/422 indicano richiesta, 401 autenticazione, 403 rifiuto e 500/503 servizio.
- Conserva audit_id e ripeti in modo limitato solo gli errori riprovabili.
# First run: argus auth login
import json
from urllib.request import Request, HTTPRedirectHandler, build_opener
from argus.cli.oauth import CliOAuthProfile
profile = CliOAuthProfile()
token = profile.client().access_token()
if token is None:
raise RuntimeError("Run argus auth login first")
class NoRedirect(HTTPRedirectHandler):
def redirect_request(self, *args, **kwargs):
return None
request = Request(
profile.api_base_url + "/v1/entity-resolve",
data=json.dumps(json.loads(r'''{"identifier_type":"lei","identifier_value":"HWUPKR0MPOU8FGXBT394","purpose":"factual_lookup","requires_redistribution":false}''')).encode(),
headers={"Authorization": f"Bearer {token}",
"Content-Type": "application/json", "User-Agent": "Argus REST client"},
method="POST",
)
with build_opener(NoRedirect()).open(request, timeout=30) as response:
envelope = json.load(response)
print(json.dumps(envelope, indent=2))