Endpoint
catalog:submit scope. A submission carries an optional externalSubmissionId (your
own idempotency/correlation handle) and a list of items.
Submission item fields
string
required
Identity key used to match the proposal back to a product. Must resolve to exactly one product in
your organization, or the item comes back
UNMATCHED.integer
Your certainty, 0–100. Optional but strongly recommended — it drives reviewer triage. Omit it
(or send
null) only when you genuinely have no signal.string
Proposed product name. Enrichable.
string
Proposed URL slug. Enrichable.
string
Proposed long-form description. Enrichable.
array
Proposed structured attributes. Align each to a template option via
option.optionId — see
Attribute templates. Each attribute is
{ "attribute": string, "detail": string, "option": { ... } | null }.array
Proposed document references (array of strings). Enrichable.
Only the enrichable fields above are honored. Include at least one non-empty enrichable field
per item — an item with nothing to propose is rejected as
REJECTED_FIELDS.Confidence: help reviewers triage
Confidence isn’t just a number we store — it’s how the merchant decides what to review first.- 80–100 — high confidence. Strong source signal, schema-aligned values. Reviewers can batch these and accept quickly.
- 50–79 — moderate. Worth a glance; usually a spot-check.
- 0–49 — low. Flag for careful review; you’re proposing despite weak signal.
Response
You get one result per submitted item, in order. Thesku echoes your identity so you can correlate
even when an item is unmatched.
Result status
status
A pending revision was created (
revisionId) on product productId. It’s now in the merchant’s
review queue.status
No product matched the supplied identity — or the match was ambiguous. Nothing was created. Check
the SKU.
status
The item carried no whitelisted, non-empty enrichable fields, so there was nothing to propose.
string[]
Fields you sent that were dropped because they aren’t enrichable or were empty. A useful signal
that your payload includes data the API won’t act on.
Limits & errors
Batch large runs into submissions of up to 1000 items each. Use a distinct
externalSubmissionId
per batch so you can reconcile results against what you sent.