Öffentliches Schnittstellendossier
Belegte Finanzfakten, strukturiert für AI-Agenten.
CLI + Skill und MCP sind die primären Agent-Schnittstellen; REST bietet HTTPS und Batch-Übertragung. Jede Antwort enthält Status- und Governance-Metadaten; zurückgegebene Fakten sind mit Quellennachweisen und Zeitsemantik verknüpft.
Die passende Schnittstelle für Ihren AI agent wählen
Alle drei Zugriffspfade führen in dieselbe CoreServiceBoundary. Regeln für Tenant, Berechtigungen, Lizenzen, Nachweise, Herkunft und Audits ändern sich nicht mit dem Client.
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
# Einmalig installieren: 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"Das Werkzeug ist im aktuellen Werkzeugregister nicht verfügbar: {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"Argus-Anfrage fehlgeschlagen (audit_id={audit_id}): {error}")
print(json.dumps(payload, indent=2, ensure_ascii=False))
asyncio.run(main())Ein geregelter Pfad von Anfang bis Ende
Entdeckung kommt vor Ausführung. Erfolgreiche wie abgelehnte Aufrufe bleiben strukturiert, begrenzt und auditierbar.
- 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
Wiederverwendbare Referenzaufrufe
Melde dich mit OAuth an, bevor du ein Tool aufrufst. Diese Anfragen verwenden eine echte GLEIF-Rechtseinheit. Prüfe die zurückgegebene Abdeckung und die Nachweise, bevor du das Ergebnis verwendest. Bewahre Zugangsdaten für unbeaufsichtigte Maschinen in deiner Geheimnisumgebung auf.
- Verbinden Sie einen AI agent per interaktivem OAuth; für unbeaufsichtigte Automatisierung nutzen Sie machine client oder service account.
- Lesen Sie zuerst das Werkzeugregister und wählen Sie ein Werkzeug, dessen Scopes und Zweck zur Identität passen.
- Verwenden Sie CLI + Skill oder MCP als primäre Agent-Schnittstellen und REST für HTTPS- und Batch-Übertragung.
- Rufen Sie das Werkzeug mit einem expliziten as_of-Zeitpunkt auf.
- Prüfen Sie Nachweise, Qualität, Lizenz, Einschränkungen und audit_id vor der Nutzung.
Das Paket prüfen, nicht nur den Statuscode
Transporterfolg beweist nicht, dass ein Fakt nutzbar ist. Vor Automatisierung sind die geregelte Hülle und das enthaltene DataPackage zu prüfen.
Hier wird nur die Anfrage-Syntax gezeigt. Verwende echte Kennungen, Nachweise aus vorherigen Aufrufen und einen Zeitraum mit bestätigter Abdeckung. Dieses Beispiel zeigt kein abgeschlossenes Geschäftsergebnis aus dem Produktivbetrieb.
{
"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]"
}
}Werkzeuge
Das öffentliche Werkzeugregister definiert derzeit 53 geregelte Werkzeuge. Diese Einträge werden aus denselben Autoritätsdaten wie das Werkzeugverzeichnis erzeugt.
- 01
company_fact_snapshotUnternehmens-Fact-Snapshot
Gibt offengelegte Unternehmensfakten als strukturiertes DataPackage zurück.
- REST
/v1/company-fact-snapshot- MCP
company_fact_snapshot- Rückgabevertrag
- CliToolEnvelope JSON with nested DataPackage result
- 02
- REST
/v1/point-in-time-snapshot- MCP
point_in_time_snapshot- Rückgabevertrag
- CliToolEnvelope JSON with nested DataPackage result
- 03
evidence_gap_reportEvidenz-Lücken-Report
Gibt Klassifizierungen für belegt, fehlend, niedrige Qualität, im Konflikt und Lizenz-blockiert zurück.
- REST
/v1/evidence-gap-report- MCP
evidence_gap_report- Rückgabevertrag
- CliToolEnvelope JSON with nested DataPackage result
- 04
agent_data_preflightAgent-Daten-Preflight
Gibt Preflight-Metadaten zu Berechtigung, Lizenz, Feldern, Zeitbereich und Zielwerkzeug zurück.
- REST
/v1/agent-data-preflight- MCP
agent_data_preflight- Rückgabevertrag
- CliToolEnvelope JSON with nested agent_data_preflight_result DataPackage
Vertrauen
Argus ist Fakteninfrastruktur mit sichtbaren Grenzen. Ablehnung, Einschränkung, Aktualität, Lizenzstatus und Prüfpflicht bleiben im Ergebnis erhalten.
[POLICY]Argus selbst erzeugt keine Anlageentscheidungen oder Aufträge, beschränkt Client-Agenten aber nicht bei unabhängiger Analyse und Ausgabe rechtmäßig bezogener Daten.
Mit einem autoritativen Leitfaden fortfahren
Beginnen Sie mit dem Leitfaden zur ersten Anfrage, prüfen Sie alle Tools oder öffnen Sie die Schnittstellendokumentation Ihres AI agent.