Get Embedding Stats
const url = 'https://example.com/admin/embedding-stats/';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/admin/embedding-stats/ \ --header 'Authorization: Bearer <token>'Return embedding coverage and the state of the backfill runs (admin only).
Authorizations
Section titled “ Authorizations ”Responses
Section titled “ Responses ”Successful Response
object
Total number of records in the catalog.
Number of records with an embedding for the ACTIVE embedding model — the only vectors semantic search can use.
Number of records without an active-model embedding (total_records - embedded_records).
Subset of missing_records whose only stored embeddings belong to other models. Regenerating all embeddings clears these; generating missing ones does not.
Embedding coverage as a percentage (0-100).
The embedding backfill run currently holding the single run slot.
object
Identifier of the run in flight.
Job status: ‘pending’ or ‘running’.
Records the run has embedded so far.
The most recent finished backfill runs, newest first.
One finished embedding backfill run.
object
Identifier of the finished run.
How the run ended: ‘complete’, ‘failed’ or ‘cancelled’.
Records the run embedded.
How long each backfill action should take, before starting one.
Both figures come from the throughput of the most recent completed run, so they describe this deployment’s own provider rather than a generic rate.
object
Estimated seconds to embed the records that lack a usable vector.
Estimated seconds to regenerate every record in the catalog.
Example generated
{ "total_records": 1, "embedded_records": 1, "missing_records": 1, "stale_records": 1, "coverage_percent": 1, "current_run": { "job_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "status": "example", "records_processed": 1, "records_total": 1, "started_at": "2026-04-15T12:00:00Z", "heartbeat_at": "2026-04-15T12:00:00Z" }, "recent_runs": [ { "job_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "status": "example", "started_at": "2026-04-15T12:00:00Z", "finished_at": "2026-04-15T12:00:00Z", "records_processed": 1, "records_failed": 1, "error_code": "example" } ], "estimate": { "missing_seconds": 1, "all_seconds": 1 }}Bad request — invalid query parameters or payload
Unauthorized — missing or invalid credentials
Forbidden — caller lacks access to this resource
Not found
Validation error
Too many requests — retry after the advertised interval
Headers
Section titled “ Headers ”Seconds until the request may be retried
Internal server error
Service unavailable — the database could not serve the request