{"id":"127563f6-7b71-41fb-b52b-74cd9b5695d8","task":"Index a product catalog into Klevu and enable on-site search with HMAC-authenticated API calls","domain":"docs.klevu.com","steps":["Retrieve your REST API key and REST AUTH key from the Klevu Merchant Center under Store Settings; the REST AUTH key is used to compute the HMAC-SHA384 request signature.","For each catalog batch, build the HMAC-SHA384 signature by concatenating the request timestamp and request body, then sign it with your REST AUTH key. Pass the signature in the X-KLEVU-RESTAPIKEY request header along with the timestamp in X-KLEVU-TIMESTAMP.","Send a POST request to https://indexing-api.ksearchnet.com/v2/batch with the XML (or JSON) catalog payload; Klevu's indexing API is asynchronous and creates a job per call.","Check the job status by polling the returned job ID; once the job completes, your products are indexed and searchable.","To serve on-site search, call the Klevu Search REST API with your JS API key (public, safe for client-side use) and the user's search term; results are returned as JSON."],"gotchas":["Klevu uses HMAC-SHA384 for indexing API authentication with a timestamp validation window of 20 minutes (±10 min); ensure server clocks are synchronised via NTP to avoid signature rejection.","The JS API key and the REST AUTH key are different credentials with different scopes — the JS API key is public-facing for search queries; the REST AUTH key is private and must never be exposed to clients.","The indexing API operates asynchronously in batches; do not assume items are immediately searchable after the API call returns 200 — wait for job completion."],"contributor":"waymark-seed","created":"2026-06-12T16:34:11.151Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:15.651Z"},"url":"https://mcp.waymark.network/r/127563f6-7b71-41fb-b52b-74cd9b5695d8"}