Guides
Running an audit
Audits score every SKU against 12 weighted agent-readiness rules and produce a prioritized fix list.
Trigger an audit
Audits run automatically after every sync, but you can trigger one on demand from the dashboard or the API. The API call is synchronous and returns the score directly.
curl -X POST https://useshelfready.com/api/v1/audit/runs \
-H "Authorization: Bearer $SHELFREADY_API_KEY"The 12 rules
Each rule checks one field on every catalog entry. The weight is the score deduction a failing SKU takes (on a 0–100 scale).
| Rule | Severity | Weight | Meaning |
|---|---|---|---|
| gtin_missing | warning | 18 | No GTIN — the #1 discoverability signal for AI shopping surfaces |
| gtin_invalid | error | 22 | GTIN fails length or GS1-checksum validation |
| title_missing | error | 15 | Title is required on every surface |
| title_overlong | error | 8 | Title exceeds the 150-character ACP cap |
| description_missing | error | 12 | Description is required for feed eligibility |
| description_thin | info | 6 | Description under 80 characters — agents rank rich descriptions higher |
| brand_missing | warning | 10 | Brand is required by ACP and GMC |
| url_missing | error | 15 | Product URL is required — agents send buyers to it |
| url_not_https | error | 8 | Product URL must be HTTPS |
| image_missing | error | 12 | Image URL is required on every surface |
| price_missing | error | 15 | Price is required on every surface |
| availability_unknown | warning | 10 | Availability unknown — agents skip items they can't promise |
One catalog-level rule, seller_settings_missing, checks that seller name, seller URL, and store country are set (in Dashboard → Settings) — every feed item needs them, so while it fails the catalog score is capped at 40.
Scoring & grades
Each SKU starts at 100 and loses the weight of every rule it fails (floored at 0). The catalog score is the average across SKUs, graded A (90–100), B (75–89), C (60–74), D (40–59), or F (below 40). Severity tells you what a finding means: error findings are spec violations that make an item ineligible on the target surface, warning findings hurt discoverability, and info findings are quality improvements.
Reading results
GET /api/v1/audit returns the latest run plus the current findings snapshot. Each finding points at a product (and variant, when applicable), the field, and the rule code:
{
"product_id": "0f1e2d3c-4b5a-6978-8796-a5b4c3d2e1f0",
"variant_id": null,
"code": "gtin_missing",
"severity": "warning",
"field": "gtin",
"message": "No GTIN — the #1 discoverability signal for AI shopping surfaces"
}A practical fixing order:
- Resolve error findings so items become spec-compliant on every surface.
- Tackle the heavy warning rules —
gtin_missingalone costs 18 points per SKU. - Batch content gaps (
description_thin,brand_missing) through AI enrichment.
Continuous audits
Because audits re-run on every sync, your score tracks reality. Subscribe to the audit.completed webhook and wire it to your alerting so score regressions surface immediately.