Zum Hauptinhalt springen

Pins-API

GET /v1/pins/:pinCode/results

Mit der Pins-API kannst du die Scan-Ergebnisse deiner eigenen PINs programmatisch abrufen. Nützlich für Discord-Bots, Automatisierungstools und eigene Integrationen. Um den Scan-Fortschritt in Echtzeit zu verfolgen, siehe die Pin-Status-API.

Basis-URL
https://api.anticheat.ac/v1
Authentifizierung
API-Schlüssel erforderlich mit pins:results

PIN-Ergebnisse abrufen

Rufe die Scan-Ergebnisse einer bestimmten PIN ab. Du kannst nur auf Ergebnisse von PINs zugreifen, die dir gehören (mit deinem Konto erstellt). Liefert Erkennungsdaten, darunter Erkennungen, verdächtige Elemente, Warnungen, Integritätsprüfungen und grundlegende Scan-Metadaten.

GET/v1/pins/:pinCode/results

Parameter

NameTypBeschreibung
pinCodestringDer 8-stellige PIN-Code (z. B. A7K3M2P9P9)

Header

x-api-key: your_api_key_here

Antwort (abgeschlossener Scan)

{
  "pin": "A7K3M2P9P9",
  "type": "Java",
  "status": "finished",
  "result": "cheating",
  "pinName": "Tournament Match #42",
  "data": {
    "cheating": "cheating",
    "detections": [
      "Generic Cheat Loader - Detection",
      "Process Injection - javaw.exe"
    ],
    "suspicious": [
      "Modified game files detected"
    ],
    "warnings": [
      "Multiple Minecraft instances detected"
    ],
    "untrusted": [],
    "integrity": [
      "System file tampered: kernel32.dll"
    ],
    "customSuspicious": [],
    "vpn": "No",
    "country": "US",
    "logon": "2h 30m",
    "scantime": "45 seconds",
    "windows": "Windows 11 Pro 23H2",
    "discord": [
      { "id": "123456789012345678", "username": "player123" }
    ]
  },
  "createdAt": "2024-01-15T10:30:00.000Z"
}

Antwort (ausstehend/in Bearbeitung)

{
  "pin": "A7K3M2P9",
  "type": "Java",
  "status": "pending",
  "result": "none",
  "pinName": "Tournament Match #42",
  "message": "Pin is waiting for scan to start"
}

Fehlerantworten

StatusCodeBeschreibung
400Ungültige AnfragePIN-Code ist leer oder ungültig
403VerbotenDie PIN gehört nicht zu deinem Konto
404Nicht gefundenPIN-Code existiert nicht

Datenfelder

FeldTypBeschreibung
cheatingstring | nullGesamturteil zum Cheating
detectionsarrayListe bestätigter Cheat-Erkennungen
suspiciousarrayListe verdächtiger Funde
warningsarrayListe von Warn-Flags
untrustedarrayListe nicht vertrauenswürdiger Elemente
integrityarrayListe der Ergebnisse der Integritätsprüfungen
customSuspiciousarrayBenutzerdefinierte verdächtige Erkennungen aus deinen konfigurierten Schlüsselwörtern
vpnstring | nullVPN-Erkennungsstatus
countrystring | nullLand des gescannten Nutzers
logonstring | nullAnmelde-/Betriebsdauer des Systems
scantimestring | nullWie lange der Scan gedauert hat
windowsstring | nullInformationen zur Windows-Version
discordarrayAuf dem gescannten System erkannte Discord-Konten. Jeder Eintrag hat id (Discord-Nutzer-ID) und username

Eigentümerschaft erforderlich

Du kannst nur Ergebnisse von PINs abrufen, die mit deinem eigenen Konto erstellt wurden. Der Zugriff auf die PIN eines anderen Nutzers liefert einen Fehler 403 Forbidden.

Datenschutz

Sensible Informationen wie HWID, Server-IP, Alt-Konten und interne Kennungen werden über diesen Endpunkt nie offengelegt, um die Privatsphäre der Nutzer zu schützen.

PIN-Status

StatusBeschreibung
pendingPIN erstellt, wartet auf den Start des Scans
scanningScan läuft gerade
finishedScan abgeschlossen, Ergebnisse verfügbar
expiredPIN ist abgelaufen, bevor der Scan abgeschlossen wurde
errorBeim Scannen ist ein Fehler aufgetreten

Anwendungsbeispiel

cURL

curl -X GET "https://api.anticheat.ac/v1/pins/A7K3M2P9/results" \
  -H "x-api-key: your_api_key_here"

JavaScript / Node.js

const response = await fetch('https://api.anticheat.ac/v1/pins/A7K3M2P9/results', {
  headers: { 'x-api-key': 'your_api_key_here' }
});

const data = await response.json();

if (data.status === 'finished') {
  console.log('Result:', data.result);
  console.log('Detections:', data.data.detections);
  console.log('Suspicious:', data.data.suspicious);
} else {
  console.log('Status:', data.status, '-', data.message);
}

Python

import requests

response = requests.get(
    'https://api.anticheat.ac/v1/pins/A7K3M2P9/results',
    headers={'x-api-key': 'your_api_key_here'}
)

data = response.json()

if data['status'] == 'finished':
    print(f"Result: {data['result']}")
    print(f"Detections: {data['data']['detections']}")
else:
    print(f"Status: {data['status']} - {data.get('message', '')}")

Abfragen bis zum Abschluss (JavaScript)

async function waitForResults(pinCode, apiKey) {
  const url = 'https://api.anticheat.ac/v1/pins/' + pinCode + '/results';
  const headers = { 'x-api-key': apiKey };

  while (true) {
    const res = await fetch(url, { headers });
    const data = await res.json();

    if (data.status === 'finished') return data;
    if (data.status === 'expired' || data.status === 'error') {
      throw new Error('Scan ' + data.status + ': ' + (data.message || ''));
    }

    await new Promise(r => setTimeout(r, 5000));
  }
}

const results = await waitForResults('A7K3M2P9', 'your_api_key_here');
console.log(results.data);