Everything you need to integrate DataScreenIQ into your data pipeline. One endpoint, one POST, instant quality verdicts.
Get screening data in under 60 seconds:
All data-plane endpoints require an API key. Pass it in the X-API-Key header or as a Bearer token:
API keys are scoped: ingest (screen data), read (view reports), admin (manage keys). Your default key has all three scopes.
All API requests go to:
The core endpoint. Send a batch of rows, get a quality verdict back.
| Field | Type | Required | Description |
|---|---|---|---|
| source | string | Yes | Dataset or pipeline name (e.g. "orders_api") |
| rows | object[] | Yes | Array of data objects to screen (max 100,000) |
| batch_id | string | No | Your batch identifier (auto-generated if omitted) |
| options.full_scan | boolean | No | Analyze all rows instead of sampling (default: false) |
| options.thresholds | object | No | Custom thresholds — see below |
| Constraint | Limit |
|---|---|
| Max request body | 5 MB |
| Max rows per request | 100,000 |
| Default sample size | 1,000 rows |
| Status | Meaning | Recommended action |
|---|---|---|
| PASS | Data quality is within acceptable thresholds | Proceed with ingestion |
| WARN | Quality issues detected but not critical | Ingest with monitoring / alert |
| BLOCK | Critical quality issues — data should not be ingested | Quarantine and investigate |
All checks run in real-time at the edge.
Deterministic hash of your schema structure. Compared on every request.
Detects new fields not in the previous schema.
Detects missing fields that were in the previous schema.
Flags fields whose type changed (e.g. number → string).
Percentage of null/undefined values per column.
Detects sudden drops in field completeness vs. historical baseline.
Percentage of "" values — often worse than null (passes type checks).
Detects unusual batch sizes compared to historical average.
Tracks numeric + lexicographic bounds per column.
p25, p50, p75, p95 computed for numeric columns.
Flags values outside expected statistical range.
Fast approximate count of unique values per column.
Detects repeated values that suggest data duplication.
Detects columns with inconsistent value types.
Tracks value set for low-cardinality fields (distinct < 20).
Flags new values that have never appeared before.
Auto-detects timestamp columns, flags stale data (>24h warn, >72h block).
Statistical distribution profile for numeric columns.
Override default thresholds per request via options.thresholds:
| Threshold | Default | Description |
|---|---|---|
| null_rate_warn | 0.3 | Null rate above this → WARN |
| null_rate_block | 0.7 | Null rate above this → BLOCK |
| type_mismatch_warn | 0.05 | Type mismatch rate above this → WARN |
| type_mismatch_block | 0.2 | Type mismatch rate above this → BLOCK |
| health_warn | 0.8 | Health score below this → WARN |
| health_block | 0.5 | Health score below this → BLOCK |
By default, DataScreenIQ samples 1,000 rows from your payload using deterministic hash-based selection. This means the same dataset always produces the same sample. The sample_version and sample_ratio are returned in every response.
To analyze all rows, pass "full_scan": true in the options. For payloads under 1,000 rows, all rows are always analyzed regardless of this flag.
List recent screening jobs. Query params: limit (max 100), offset, source.
Get the full quality report for a specific job.
Aggregate statistics for your account. Query param: days (default 30, max 365).
Create a new API key. Body: {"name": "prod-ingest", "scopes": ["ingest", "read"]}
List all API keys for your account.
Revoke an API key immediately.
Returns current billing period counters: request count, rows processed, period start/end.
Create a new account. Body: {"email": "you@company.com"}. Returns API key (shown once) and emails it as backup.
Send a 6-digit OTP to your email. Body: {"email": "you@company.com"}
Verify OTP and get a session token (7-day expiry). Body: {"email": "...", "code": "123456"}. Use the session token as Bearer token for billing endpoints.
| Endpoint | Limit |
|---|---|
| POST /v1/screen | 100 requests/min per IP |
| POST /v1/auth/signup | 5 per hour per IP |
| POST /v1/auth/login | 10 per 15 min per IP |
| POST /v1/auth/verify | 10 per 15 min per IP |
| All other endpoints | 100 requests/min per IP |
Need higher limits? Growth and Scale plans include priority rate limits. Contact app@datascreeniq.com for enterprise requirements.