Conecte su agente de IA con OAuth. Para automatización desatendida, use un cliente de máquina o cuenta de servicio y mantenga su credencial en variables de entorno protegidas o almacén de secretos.

Argus no genera decisiones de inversión ni órdenes, pero no limita el análisis y la salida independientes del agente cliente con datos obtenidos legalmente.

REST y API

  1. Use el documento OpenAPI autoritativo para los esquemas REST actuales.
  2. Envíe un OAuth Bearer token; machine clients y service accounts pueden usar X-Argus-API-Key.
  3. Valide la respuesta HTTP estructurada y el código de estado según el contrato OpenAPI.
  4. 400/422 indican solicitud, 401 autenticación, 403 denegación y 500/503 fallo del servicio.
  5. Conserve audit_id y reintente de forma limitada solo fallos reintentables.
# 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))

Leer el inventario REST y el contrato de errores.