> ## Documentation Index
> Fetch the complete documentation index at: https://docksystems.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Lookups

> Use v2 lookup endpoints for Discord to Roblox, Roblox to Discord, verification status, and Premium alt detection.

Lookup endpoints are read-only and require API-key authentication.

```http theme={null}
Authorization: Bearer YOUR_API_KEY
```

## Endpoints

| Endpoint | Use |
| - | - |
| `GET /v2/discord` | Find the linked Roblox account for a Discord user. |
| `GET /v2/roblox` | Find linked Discord accounts for a Roblox user. |
| `GET /v2/alts` | Premium alt detection by Discord ID, Roblox ID, or IP. |
| `GET /v2/verifications/discord` | Read verification status for a Discord user, or redirect public users into verification. |

> [!WARNING]
>
> Scoped keys require `guildId` so Dock can confirm the bot is in the server and scope results to that guild. Global keys may omit `guildId`.

## Discord to Roblox

```http theme={null}
GET /v2/discord?discordId=123456789012345678&guildId=987654321098765432
```

**discordId** `string` *required*

Discord user ID to look up.

**guildId** `string`

Required for guild-scoped keys. Used to verify guild membership and scope the lookup.

**resolved** `boolean`

Defaults to `false`. When `true`, returns expanded Roblox profile data and requires Premium.

```json 200 OK theme={null}
{
  "status": 200,
  "data": {
    "discordId": "123456789012345678",
    "robloxId": "156319135",
    "resolved": {
      "roblox": null,
      "discord": null
    }
  },
  "meta": {
    "requestId": "req_abc123",
    "version": "2.0.0",
    "tier": "free"
  },
  "timestamp": "2026-05-07T00:00:00.000Z"
}
```

## Roblox to Discord

```http theme={null}
GET /v2/roblox?robloxId=156319135&guildId=987654321098765432
```

**robloxId** `string` *required*

Roblox user ID to look up.

**guildId** `string`

Required for guild-scoped keys. Dock filters linked Discord accounts to members of that guild.

**resolved** `boolean`

Defaults to `false`. When `true`, returns expanded Discord user or guild-member data and requires Premium.

```json 200 OK theme={null}
{
  "status": 200,
  "data": {
    "robloxId": "156319135",
    "discordIds": ["123456789012345678"],
    "count": 1,
    "resolved": {
      "roblox": null,
      "discord": null
    }
  },
  "meta": {
    "requestId": "req_abc123",
    "version": "2.0.0",
    "tier": "free"
  },
  "timestamp": "2026-05-07T00:00:00.000Z"
}
```

## Resolved data

Use `resolved=true` only when you need display-ready profiles.

**Roblox profile**

`GET /v2/discord?resolved=true` can return Roblox username, display name, description, creation date, ban state, verified badge state, avatar URLs, badges, and groups.

**Discord profile**

`GET /v2/roblox?resolved=true` can return Discord username, display name, avatar, banner, account creation date, guild nickname, join date, and guild roles.

> [!NOTE]
>
> Resolved data is slower than raw mapping data because Dock must hydrate external profile details. Cache responses where appropriate and avoid requesting `resolved=true` by default.

## Alt detection

```http theme={null}
GET /v2/alts?discordId=123456789012345678&guildId=987654321098765432
```

**discordId** `string`

Discord user ID seed. At least one of `discordId`, `robloxId`, or `ip` is required.

**robloxId** `string`

Roblox user ID seed. At least one of `discordId`, `robloxId`, or `ip` is required.

**ip** `string`

Optional IP seed for authorized detection workflows. Raw IP addresses are not disclosed in customer responses.

**guildId** `string`

Required for scoped keys. Results are filtered to members of that guild.

**resolved** `boolean`

Defaults to `false`. Adds expanded profile objects to matches when available.

```json 200 OK theme={null}
{
  "status": 200,
  "data": {
    "target": {
      "discordId": "123456789012345678",
      "robloxId": null,
      "guildId": "987654321098765432"
    },
    "matches": [
      {
        "discordId": "222222222222222222",
        "robloxId": "4567890123"
      }
    ],
    "risk": {
      "score": 72,
      "severity": "MEDIUM"
    },
    "summary": {
      "matchCount": 1
    },
    "resolved": false
  },
  "meta": {
    "requestId": "req_abc123",
    "version": "2.0.0",
    "tier": "premium"
  },
  "timestamp": "2026-05-07T00:00:00.000Z"
}
```

> [!WARNING]
>
> Detection outputs are probabilistic and are not definitive proof of identity or wrongdoing. Review context before taking moderation action.

## Verification status

With API-key auth and a `discordId`, this endpoint returns JSON status.

```http theme={null}
GET /v2/verifications/discord?discordId=123456789012345678&guildId=987654321098765432
```

Without API-key auth, the same route redirects the user into the public verification flow and preserves query parameters such as `pid`, `sid`, and `redirect`.

```json Linked response theme={null}
{
  "status": 200,
  "data": {
    "linked": true,
    "discordId": "123456789012345678",
    "robloxId": "156319135",
    "linkVersion": 2,
    "linkHash": "sha256-link-marker",
    "lastVerifiedAt": "2026-05-07T00:00:00.000Z",
    "resolved": {
      "roblox": null,
      "discord": null
    }
  },
  "meta": {
    "requestId": "req_abc123",
    "version": "2.0.0"
  },
  "timestamp": "2026-05-07T00:00:00.000Z"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.