Check Catalog
AlphaDiscover available check types as data. Render what's live, filter by availability, and feed types straight into screening.
Base path: /v1
Purpose
The check catalog is the self-describing list of what Customer Intelligence can tell you. Each entry's `type` is exactly what you pass to `POST /entities/{id}/check`. No hard-coded lists in your client.
Usage
Fetch the catalog at integration time or on a schedule to render available checks in your dashboard. Filter to `availability: live` for production UI. Use `GET /checks/{type}` for detail on a single check including `reason_codes` and required identifiers.
Unlocking This Service
Requires `checks:read` scope. The check catalog endpoint is in alpha. Shape is stable; availability flags update as rollout checks go live.
Common Workflow
- 1`GET /checks`: list the curated catalog with availability and required identifiers.
- 2Filter client-side to `live` checks for your onboarding UI.
- 3Pass any `type` to screening: `{"types": ["velocity", "sanctions"]}`.
- 4`GET /checks/{type}`: detail for one check type.
Integration Notes
- Catalog is a curated subset of the full check registry, led by the Shared Fraud Map (`velocity`).
- `availability` values: `live` · `in_rollout`.
- New checks appear here automatically when enabled. No client update needed to discover them.
API Reference
/v1/checksList Check Types
Browse the catalog of available checks.
Returns a paginated list of check definitions. Each item includes `type`, human-readable name, summary, required identifiers (`needs`), reason codes, and availability.
Examples
{}{
"object": "list",
"data": [
{
"object": "check",
"type": "velocity",
"name": "Shared Fraud Map",
"summary": "How many other accounts across the shared fraud network share this user's device, wallet, or email.",
"needs": [
"device_id",
"wallet_address",
"email"
],
"reason_codes": [
"VELOCITY_DEVICE_REUSE",
"VELOCITY_WALLET_REUSE",
"VELOCITY_EMAIL_REUSE",
"VELOCITY_LINKED_TO_FLAGGED"
],
"availability": "live"
},
{
"object": "check",
"type": "sanctions",
"name": "Sanctions & Watchlist Screening",
"summary": "Is this person on a sanctions or watchlist?",
"needs": [
"display_name"
],
"reason_codes": [
"SANCTIONS_MATCH",
"SANCTIONS_CLEAR"
],
"availability": "live"
},
{
"object": "check",
"type": "phone",
"name": "Phone Intelligence",
"summary": "Validity, region, and line type. Flags VoIP and unreachable numbers.",
"needs": [
"phone"
],
"reason_codes": [
"PHONE_VOIP",
"PHONE_INVALID",
"PHONE_OK"
],
"availability": "live"
},
{
"object": "check",
"type": "device",
"name": "Device Intelligence",
"summary": "Emulator and spoofing detection.",
"needs": [
"device_id"
],
"reason_codes": [
"DEVICE_EMULATOR",
"DEVICE_SPOOFED",
"DEVICE_FIRST_SEEN"
],
"availability": "in_rollout"
}
]
}### List Check Types
Browse the catalog of available checks.
Use `GET /v1/checks` to browse the catalog of available checks.
Returns a paginated list of check definitions. Each item includes `type`, human-readable name, summary, required identifiers (`needs`), reason codes, and availability.
Example request:
```json
{}
```
Example response:
```json
{
"object": "list",
"data": [
{
"object": "check",
"type": "velocity",
"name": "Shared Fraud Map",
"summary": "How many other accounts across the shared fraud network share this user's device, wallet, or email.",
"needs": [
"device_id",
"wallet_address",
"email"
],
"reason_codes": [
"VELOCITY_DEVICE_REUSE",
"VELOCITY_WALLET_REUSE",
"VELOCITY_EMAIL_REUSE",
"VELOCITY_LINKED_TO_FLAGGED"
],
"availability": "live"
},
{
"object": "check",
"type": "sanctions",
"name": "Sanctions & Watchlist Screening",
"summary": "Is this person on a sanctions or watchlist?",
"needs": [
"display_name"
],
"reason_codes": [
"SANCTIONS_MATCH",
"SANCTIONS_CLEAR"
],
"availability": "live"
},
{
"object": "check",
"type": "phone",
"name": "Phone Intelligence",
"summary": "Validity, region, and line type. Flags VoIP and unreachable numbers.",
"needs": [
"phone"
],
"reason_codes": [
"PHONE_VOIP",
"PHONE_INVALID",
"PHONE_OK"
],
"availability": "live"
},
{
"object": "check",
"type": "device",
"name": "Device Intelligence",
"summary": "Emulator and spoofing detection.",
"needs": [
"device_id"
],
"reason_codes": [
"DEVICE_EMULATOR",
"DEVICE_SPOOFED",
"DEVICE_FIRST_SEEN"
],
"availability": "in_rollout"
}
]
}
```/v1/checks/{type}Get Check Type
Fetch a single check type by name.
Returns full detail for one check type, with the same fields as list items. Use the `type` path segment (e.g. `velocity`, `sanctions`).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Required | Check type identifier.e.g. velocity |
Examples
{
"path": {
"type": "velocity"
}
}{
"object": "check",
"type": "velocity",
"name": "Shared Fraud Map",
"summary": "How many other accounts across the shared fraud network share this user's device, wallet, or email. Cross-program reuse no single-user check can see.",
"needs": [
"device_id",
"wallet_address",
"email"
],
"reason_codes": [
"VELOCITY_DEVICE_REUSE",
"VELOCITY_WALLET_REUSE",
"VELOCITY_EMAIL_REUSE",
"VELOCITY_LINKED_TO_FLAGGED"
],
"availability": "live"
}### Get Check Type
Fetch a single check type by name.
Use `GET /v1/checks/{type}` to fetch a single check type by name.
Returns full detail for one check type, with the same fields as list items. Use the `type` path segment (e.g. `velocity`, `sanctions`).
Required parameters:
- `type`: string (example: `"velocity"`). Check type identifier.
Example request:
```json
{
"path": {
"type": "velocity"
}
}
```
Example response:
```json
{
"object": "check",
"type": "velocity",
"name": "Shared Fraud Map",
"summary": "How many other accounts across the shared fraud network share this user's device, wallet, or email. Cross-program reuse no single-user check can see.",
"needs": [
"device_id",
"wallet_address",
"email"
],
"reason_codes": [
"VELOCITY_DEVICE_REUSE",
"VELOCITY_WALLET_REUSE",
"VELOCITY_EMAIL_REUSE",
"VELOCITY_LINKED_TO_FLAGGED"
],
"availability": "live"
}
```