---
title: "Alt Detection Lookup"
method: GET
path: "/api/v1/public/detections/alt"
---

# Alt Detection Lookup

`GET /api/v1/public/detections/alt`

Scans known login metadata to identify alternate Discord accounts usage for submitted Discord IDs, Roblox IDs, or IP addresses.

## Query parameters

- `discordId` string
- `guildId` string

## Response `200`

Successful response with alt matches, risk, and warning metadata.

- AltVpnDetectionResponse
  - `status` 200 — The HTTP status code of the response.
  - `data` object
    - `target` object, required — Echoes the identifiers that seeded the detection run.
      - `discordIds` string[] — Discord IDs that were inspected, including linked records pulled from the user model.
      - `robloxIds` string[] — Roblox IDs connected during the lookup.
      - `guildId` string, nullable — Guild scope applied to the lookup. Null when using a global key.
    - `alts` object[], required — Condensed list of alternate accounts that share hashed IPs or Roblox links.
      - `discordId` string — Associated Discord ID.
      - `robloxId` string, nullable — Linked Roblox ID when present.
    - `risk` object, required
      - `score` integer — Overall risk score (0-100).
      - `label` string — Risk label derived from score thresholds (e.g., low, medium, high).
      - `breakdown` object
        - `overall` integer — Composite risk score.
        - `alt` integer — Risk contribution from alternate accounts.
        - `vpn` integer — Risk contribution from VPN/proxy prevalence.
    - `summary` object, required
      - `totalAlts` integer — Number of distinct alternate Discord IDs returned.
      - `robloxAltIds` string[] — Roblox IDs tied to the alternate accounts.
    - `warnings` string[] — Operator warnings with literal IPs replaced by [REDACTED_IP].
  - `timestamp` string, date-time — The timestamp of the response in ISO 8601 format.
  - `version` string — The API version.
  - `requestsRemaining` integer, nullable — Number of standard requests remaining in the daily quota.
  - `ipRequestsRemaining` integer, nullable — Remaining IP-linked quota shared across API keys detected on the same IP.

## Other responses

- `400` — Missing required parameters or invalid combination.
- `401` — Unauthorized: Missing or invalid Bearer token or API key.
- `403` — Premium subscription required or bot missing from guild scope.
- `429` — Too Many Requests: Rate limit exceeded for general or IP intelligence quotas.
- `500` — Internal server error or upstream enrichment failure.

---

[API](https://skmtc.dev/docksys/apis/dock-api.md) · [All operations](https://skmtc.dev/docksys/apis/dock-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/docksys/dock-api/revisions/e6943210dda3/schema)
