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

  1. Usa il documento OpenAPI autorevole per gli schemi REST correnti.
  2. Invia un OAuth Bearer token; machine clients e service accounts possono usare X-Argus-API-Key.
  3. Convalida la risposta HTTP strutturata e il codice di stato in base al contratto OpenAPI.
  4. 400/422 indicano richiesta, 401 autenticazione, 403 rifiuto e 500/503 servizio.
  5. 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))

Leggi l’inventario REST e il contratto degli errori.