Expediente público de interfaces
Hechos financieros citados, estructurados para agentes de IA.
CLI + Skill y MCP son las interfaces principales para agentes; REST proporciona transporte HTTPS y por lotes. Cada respuesta incluye metadatos de estado y gobernanza; los hechos devueltos están vinculados a evidencia de origen y semántica temporal.
Elija la interfaz adecuada para su AI agent
Las tres rutas de acceso entran en la misma CoreServiceBoundary. Las reglas de Tenant, permisos, licencias, evidencias, procedencia y auditoría no cambian según el cliente.
01CLI
argus auth login
argus --base-url https://api.argusfa.com entity-resolve \
--identifier-type lei \
--identifier-value HWUPKR0MPOU8FGXBT39402REST
# 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))03MCP
# Instalar una sola vez: use the official Argus installer.
# argus auth login --interface mcp
import asyncio
import json
from datetime import timedelta
from argus.cli.oauth import CliOAuthProfile
from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
from mcp.shared._httpx_utils import create_mcp_http_client
def decode_tool_result(response):
if response.isError:
raise RuntimeError(response.content)
if response.structuredContent is not None:
return response.structuredContent
text = next(block.text for block in response.content if block.type == "text")
return json.loads(text)
async def main() -> None:
tool_name = "entity_resolve"
arguments = json.loads(r'''{"identifier_type":"lei","identifier_value":"HWUPKR0MPOU8FGXBT394","purpose":"factual_lookup","requires_redistribution":false}''')
profile = CliOAuthProfile.from_environment().for_interface("mcp")
token = profile.client().access_token()
if token is None:
raise RuntimeError("Run argus auth login --interface mcp first")
async with (
create_mcp_http_client(headers={"Authorization": f"Bearer {token}"}) as http,
streamable_http_client(profile.audience, http_client=http) as (read, write, _),
):
async with ClientSession(
read,
write,
read_timeout_seconds=timedelta(seconds=30),
) as session:
await session.initialize()
listed_tools = {tool.name for tool in (await session.list_tools()).tools}
registry = decode_tool_result(
await session.call_tool("agent_tool_registry")
)
registry_tools = {tool["tool_name"] for tool in registry["tools"]}
if tool_name not in listed_tools or tool_name not in registry_tools:
raise RuntimeError(f"La herramienta no está disponible en el registro actual: {tool_name}")
response = await session.call_tool(
tool_name,
arguments=arguments,
)
payload = decode_tool_result(response)
if payload.get("success") is not True:
error = payload.get("error")
audit_id = payload.get("audit_id")
if audit_id is None and isinstance(error, dict):
audit_id = error.get("audit_id")
raise RuntimeError(f"La solicitud de Argus falló (audit_id={audit_id}): {error}")
print(json.dumps(payload, indent=2, ensure_ascii=False))
asyncio.run(main())Una ruta gobernada de principio a fin
La detección precede a la ejecución. Toda llamada, aceptada o rechazada, sigue siendo estructurada, limitada y auditable.
- 01
identityOAuth subject · scopes · purpose · as_of - 02
registryagent_tool_registry · scopes · allowed_purposes - 03
boundarytenant · permission · license · provenance · audit - 04
DataPackagefacts · source_evidence · known_time · quality · audit_id
Solicitudes de referencia reutilizables
Inicia sesión con OAuth antes de llamar a una herramienta. Estas solicitudes utilizan una entidad jurídica real de GLEIF; comprueba la cobertura y las pruebas devueltas antes de usar el resultado. Guarda las credenciales de las máquinas desatendidas en tu entorno de secretos.
- Conecte un AI agent con OAuth interactivo; para automatización desatendida use un machine client o service account.
- Lea primero el registro y elija una herramienta cuyos ámbitos y finalidad coincidan con la identidad.
- Use CLI + Skill o MCP como interfaces principales para agentes; use REST para transporte HTTPS y por lotes.
- Llame a la herramienta con una hora as_of explícita.
- Valide evidencia, calidad, licencia, restricciones y audit_id antes de usar los hechos.
Valide el paquete, no solo el código de estado
Un transporte correcto no prueba que un hecho sea utilizable. Revise la envoltura gobernada y el DataPackage antes de automatizar.
Aquí solo se muestra la sintaxis de la solicitud. Usa identificadores reales, pruebas devueltas por llamadas anteriores y un intervalo de tiempo cuya cobertura esté confirmada. Este ejemplo no demuestra un resultado empresarial de producción completado.
{
"success": true,
"tool_name": "company_fact_snapshot",
"output_format": "json",
"audit_id": "audit_01JYEXAMPLE0000000000000000",
"data_package_version": "company-fact-snapshot-cli-v1",
"source_evidence": [
{
"evidence_id": "evidence:filing:1",
"source_type": "regulatory_filing",
"source_file_id": "filing:example-inc:2025-10k",
"document_url": "https://regulator.example.test/filings/example-inc-2025-10k",
"fragment_position": "char:1024-1080",
"page_number": 42,
"paragraph_position": null,
"field_path": "filing.financials.revenue",
"filing_time": "2026-06-15T09:00:00Z",
"retrieved_at": "2026-06-16T09:30:00Z",
"parser_version": "filing-parser-v1",
"evidence_confidence": 0.99,
"credibility_level": "regulatory_original",
"pointer_type": "source_fragment",
"content_trust": "untrusted_source_text",
"mime_type": "text/plain",
"source_object_sha256": null,
"excerpt_boundary": "external_source_data",
"is_conflicting": false,
"conflict_group_id": null
}
],
"permission_result": {
"allowed": true,
"checked_at": "2026-06-16T10:00:00Z",
"missing_permissions": [],
"reason": "permission_allowed",
"safe_alternative_tools": [
"company_fact_snapshot",
"filing_search",
"source_evidence_lookup"
]
},
"license_status": "authorized",
"output_restrictions": [
"machine_readable_json",
"cite_source_evidence"
],
"result": {
"package_type": "company_fact_snapshot",
"package_version": "company-fact-snapshot-cli-v1",
"generated_at": "2026-06-16T10:00:00Z",
"request_subject": "company:example-inc",
"caller_id": "service:customer-agent",
"institution_id": "institution:customer",
"request_purpose": "factual_lookup",
"facts": [
{
"fact_id": "fact:revenue",
"fact_type": "financial_metric",
"field_name": "revenue",
"value": 125000000,
"evidence_ids": [
"evidence:filing:1"
],
"credibility_level": "regulatory_original",
"extraction_method": "structured_source",
"confidence": 0.99,
"review_status": null
}
],
"sections": [],
"source_evidence": [
{
"evidence_id": "evidence:filing:1",
"source_type": "regulatory_filing",
"source_file_id": "filing:example-inc:2025-10k",
"document_url": "https://regulator.example.test/filings/example-inc-2025-10k",
"fragment_position": "char:1024-1080",
"page_number": 42,
"paragraph_position": null,
"field_path": "filing.financials.revenue",
"filing_time": "2026-06-15T09:00:00Z",
"retrieved_at": "2026-06-16T09:30:00Z",
"parser_version": "filing-parser-v1",
"evidence_confidence": 0.99,
"credibility_level": "regulatory_original",
"pointer_type": "source_fragment",
"content_trust": "untrusted_source_text",
"mime_type": "text/plain",
"source_object_sha256": null,
"excerpt_boundary": "external_source_data",
"is_conflicting": false,
"conflict_group_id": null
}
],
"data_period": {
"start": "2025-01-01T00:00:00Z",
"end": "2025-12-31T23:59:59Z"
},
"filing_time": "2026-06-15T09:00:00Z",
"known_time": "2026-06-16T09:30:00Z",
"revision_time": null,
"invocation_time": "2026-06-16T10:00:00Z",
"data_quality": {
"quality_level": "high",
"issues": [],
"requires_human_review": false
},
"credibility_level": "regulatory_original",
"data_license": {
"license_id": "public-disclosure-v1",
"source": "regulatory_filing",
"status": "authorized",
"allowed_uses": [
"factual_lookup",
"audit_reproduction"
],
"prohibited_uses": [
"restricted_redistribution"
],
"redistribution": "restricted",
"authorized_institutions": [
"institution:customer"
],
"restricted_fields": []
},
"allowed_uses": [
"factual_lookup",
"audit_reproduction"
],
"prohibited_uses": [
"restricted_redistribution"
],
"output_restrictions": [
"machine_readable_json",
"cite_source_evidence"
],
"structured_output_flags": {},
"audit_id": "audit_01JYEXAMPLE0000000000000000",
"output_policy_version": "[email protected]"
}
}Herramientas
El registro público de herramientas define actualmente 53 herramientas gobernadas. Estos registros se generan con los mismos datos autoritativos del directorio de herramientas.
- 01
company_fact_snapshotSnapshot de Hechos de Empresa
Devuelve hechos de empresa divulgados como un DataPackage estructurado.
- REST
/v1/company-fact-snapshot- MCP
company_fact_snapshot- Contrato de retorno
- CliToolEnvelope JSON with nested DataPackage result
- 02
- REST
/v1/point-in-time-snapshot- MCP
point_in_time_snapshot- Contrato de retorno
- CliToolEnvelope JSON with nested DataPackage result
- 03
evidence_gap_reportReporte de Brechas de Evidencia
Devuelve clasificaciones de evidenciado, faltante, baja calidad, en conflicto y bloqueado por licencia.
- REST
/v1/evidence-gap-report- MCP
evidence_gap_report- Contrato de retorno
- CliToolEnvelope JSON with nested DataPackage result
- 04
agent_data_preflightPreflight de Datos de Agente
Devuelve metadatos de preflight de permiso, licencia, campos, rango de tiempo y herramienta objetivo.
- REST
/v1/agent-data-preflight- MCP
agent_data_preflight- Contrato de retorno
- CliToolEnvelope JSON with nested agent_data_preflight_result DataPackage
Confianza
Argus ofrece infraestructura factual con límites visibles. Rechazos, restricciones, actualidad, licencia y revisión humana permanecen en el resultado.
[POLICY]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.
Continúe con una guía autoritativa
Empiece por la guía de primera solicitud, consulte todas las herramientas o abra la documentación de la interfaz de su AI agent.