Admin API
Backfill
Create and monitor historical backfill jobs. See the Backfill guide for background.
const TOKEN = "hv_..."; // your API key
const headers = { Authorization: `Bearer ${TOKEN}` };Create a backfill job
POST /admin/backfillinterface BackfillJob {
id: string;
status: string;
}
const response = await fetch("http://127.0.0.1:3000/admin/backfill", {
method: "POST",
headers: {
...headers,
"Content-Type": "application/json",
},
body: JSON.stringify({
collection: "xyz.statusphere.status",
}),
});
const data: BackfillJob = await response.json();| Field | Type | Required | Description |
|---|---|---|---|
collection | string | no | Limit to a single collection (backfills all if omitted) |
did | string | no | Limit to a single DID (discovers all via relay if omitted) |
Response: 201 Created
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending"
}List backfill jobs
GET /admin/backfill/statusinterface BackfillJob {
id: string;
collection: string | null;
did: string | null;
status: string;
total_repos: number;
processed_repos: number;
total_records: number;
error: string | null;
started_at: string | null;
completed_at: string | null;
created_at: string;
}
const response = await fetch("http://127.0.0.1:3000/admin/backfill/status", {
headers,
});
const data: BackfillJob[] = await response.json();Response: 200 OK
[
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"collection": "xyz.statusphere.status",
"did": null,
"status": "completed",
"total_repos": 42,
"processed_repos": 42,
"total_records": 1000,
"error": null,
"started_at": "2025-01-01T00:01:00Z",
"completed_at": "2025-01-01T00:05:00Z",
"created_at": "2025-01-01T00:00:00Z"
}
]