Skip to main content
POST
/
content
/
api
/
v1
/
learn
/
readiness-check
Check product data readiness
curl --request POST \
  --url https://www.closient.com/content/api/v1/learn/readiness-check \
  --header 'Content-Type: application/json' \
  --data '
{
  "gtin": "<string>",
  "email": ""
}
'
{
  "valid": true,
  "error": "",
  "gtin14": "",
  "status": "ready",
  "score": 0,
  "brand_name": "",
  "product_name": "",
  "internal_found": false,
  "data_fields": [
    {
      "key": "<string>",
      "label": "<string>",
      "weight": 1,
      "populated": true
    }
  ],
  "recommendations": [
    "<string>"
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.closient.com/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json

Request body for the readiness check.

gtin
string
required

GTIN to evaluate. Accepts GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13), or GTIN-14 — digits only, no separators. The service normalizes to GTIN-14 before lookup. Returns valid: false with an error string if the value fails GS1 check-digit validation.

Required string length: 8 - 14
Pattern: ^\d{8,14}$
Example:

"00614141107346"

email
string
default:""

Optional contact email for lead capture. When supplied alongside a valid GTIN, a ReadinessCheckLead row is recorded for follow-up. Leave blank for an anonymous, no-trace check. Format is a standard local@domain.tld address; max 254 chars per RFC 5321.

Maximum string length: 254
Example:

"alice@example.com"

Response

200 - application/json

OK

Response body for the readiness check.

Always returns HTTP 200 with valid indicating whether the request was acceptable. Validation failures (e.g. malformed GTIN) are reported via valid: false plus error; other fields are empty/zero in that case. Rate-limit and unexpected-server failures are reported via standard RFC 9457 error envelopes (HTTP 429 / 500), not via this body.

valid
boolean
required

True when the request was accepted and a readiness evaluation was produced. False when the GTIN failed format or check-digit validation; in that case only error is meaningful.

error
string
default:""

Human-readable validation error. Populated only when valid is false (e.g. "GTIN check digit is invalid"); empty otherwise.

gtin14
string
default:""

Input GTIN normalized to a 14-digit string (zero-padded GTIN-8/12/13 included). Populated when valid is true; empty otherwise.

Pattern: ^\d{14}$|^$
status
enum<string> | null

Outcome bucket for the readiness check. ready when score ≥ 70 and the GTIN is in the repository; partial when the GTIN is in the repository but score < 70; not_found when the GTIN is not in the Closient product repository. null when valid is false.

Available options:
ready,
partial,
not_found
score
integer
default:0

Weighted completeness percentage (0–100). Sum of weight for populated fields divided by sum of weight over all scored fields. Zero when valid is false or when the GTIN is not in the repository.

Required range: 0 <= x <= 100
brand_name
string
default:""

Brand display name from the Closient product repository. Populated when internal_found is true and the product has a brand assigned; empty otherwise.

product_name
string
default:""

Product display name from the Closient product repository. Populated when internal_found is true and the product has a name; empty otherwise.

internal_found
boolean
default:false

True when the GTIN exists in the Closient product repository, false when it does not. Equivalent to status != 'not_found' for valid responses.

data_fields
DataFieldSchema · object[]

Per-field completeness breakdown for every attribute the scorer inspects. Always present for valid responses (entries report populated: false for products not in the repository); empty when valid is false.

recommendations
string[]

Ordered, human-readable suggestions for improving the score. When internal_found is false, contains a single message asking the brand to add the GTIN; otherwise contains one message per missing field.