API reference
SyncKart Studio API
Create API keys in your workspace under API keys (Growth plan and above). Authenticate with Authorization: Bearer sk_live_…. All responses are JSON.
Create a catalogue batch
POST /api/v1/batches. Up to 5,000 items per batch. Only title is required; brand is strongly recommended.
{
"name": "October new listings",
"policy": "strict", // strict | balanced | broad
"items": [
{ "id": "SKU-1", "title": "Sample Foods Garam Masala 100 g", "brand": "Sample Foods",
"barcode": "", "category": "Spices", "source_url": "" }
]
}Returns { "id": "bat_…", "status": "running", "total": 1 }.
Get batch results
GET /api/v1/batches/:id
{
"id": "bat_…", "status": "done",
"counts": { "approved": 1, "review": 0, "no_match": 0, "failed": 0 },
"items": [{
"id": "SKU-1", "status": "approved", "confidence": 97,
"image_url": "https://…/SKU-1.jpg",
"evidence": { "brand_seen": "Sample Foods", "size_seen": "100 g", "text_seen": "…" },
"flags": []
}]
}Statuses
- approved: passed every check for the batch policy.
- review: a likely match that needs a human look, with the reason in
reasonandflags. - no_match: no candidate passed. Candidates and rejection reasons are still returned.
- failed: an error after 3 attempts.
Flags
same_image_different_brand,same_image_different_size,same_image_different_variant: one photo was matched to several different products in the batch.escalated: a close call that was re-checked by the stronger model.ai_generated: produce image generated rather than found (always sent to review).note:…: a data warning, such as a brand that does not appear in the title.