Webhooks
Not available yet. SearchJet doesn't send webhooks today. There's no way to register a webhook URL in the dashboard or through the API. Outgoing webhooks are something we plan to add, but no event names, payloads or release date have been set. This page will be updated when they're ready.
Planned idea
The plan is for webhooks to let SearchJet notify your server when something happens on your account, such as indexing work finishing or quota running low, so you won't have to check for it yourself. Until they ship, don't build an integration that depends on them.
What to use instead
Indexing status. Every indexing and delete request returns a task id: taskUid from POST/PATCH /index/bulk and POST /index/delete-batch, and task_uid from DELETE /index/delete. Poll the task until it finishes:
curl "https://app.searchjetengine.com/api/v1/index/tasks/1234" \
-H "Authorization: Bearer $SEARCHJET_PRIVATE_KEY" \
-H "Accept: application/json"
The response's task.status moves from enqueued to a final state such as succeeded or failed, and task.error explains any failure. Poll a few seconds apart. The tasks endpoint allows 60 requests per minute. See the Index Management API.
Search quota. Every search response includes remaining_quota. Check it in your own code and alert your team when it drops below a level you choose:
const res = await fetch('https://app.searchjetengine.com/api/v1/search?q=test', {
headers: { Authorization: 'Bearer YOUR_PUBLIC_KEY', Accept: 'application/json' },
});
const { remaining_quota } = await res.json();
if (remaining_quota !== null && remaining_quota >= 0 && remaining_quota < 1000) {
notifyTeam(`SearchJet quota low: ${remaining_quota} searches left`);
}
For page and reindex usage, call GET /api/v1/client-info from your server with the private key, and read usage_limits. See Rate Limits & Quotas.
Stay updated
Watch this page for availability.