Misar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisar PlatformMisar IdentityMisar Posts API
Indexing

SDK (@misar/indexing)

TypeScript SDK for the Misar Search Indexing service — a thin, fetch-based wrapper around api.misar.io/io/indexing/*.

@misar/indexing is a thin, fetch-based TypeScript wrapper around the Search Indexing REST API. It lives in the misar-io monorepo (packages/indexing).

import { createIndexingClient } from "@misar/indexing";

const ix = createIndexingClient({
  baseUrl: "https://api.misar.io/io/indexing",
  serviceKey: process.env.INDEXING_SERVICE_KEY!,
});

Methods

MethodEndpoint
submit(input)POST /submit
reindex(input)POST /reindex
remove(input)POST /remove
sitemap(input)POST /sitemap
onboard(input)POST /onboard
quota(domain?, engines?)GET /quota
status()GET /status
registry()GET /registry

Examples

// Sync only what changed across every site, to the default engines.
await ix.reindex({ domain: "all", source: "changed" });

// Submit a single page to specific engines.
await ix.submit({
  domain: "misar.blog",
  urls: ["https://misar.blog/posts/launch"],
  engines: ["indexnow", "google", "bing"],
});

// Plan a full submission without contacting engines.
const plan = await ix.submit({ domain: "reach", dryRun: true });

// Check what's configured + verified.
const { credentials, domains } = await ix.status();

// Remaining quotas.
const q = await ix.quota("misar.blog", ["bing", "yandex"]);

Errors

Network / non-2xx responses throw IndexingError (with .status). Per-engine failures do not throw — they appear as ok: false entries in results[].engines. See Errors.