network.bsky.jetstream.getImportStatus
Report the status of a timestamp-import job: lifecycle state, current phase, per-phase progress, and (on completion) the parse/mutation totals. With no job parameter, reports the current or most recent job. Bearer-token gated: without a configured token the endpoint always returns 401.
Details · query
| Kind | query |
|---|---|
| Authority | jetstream.bsky.network |
| Indexed |
Checks
Validunlimited-stringdefs.main.parameters.properties.jobNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.errorNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.jobNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.phaseNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.stateNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Report the status of a timestamp-import job: lifecycle state, current phase, per-phase progress, and (on completion) the parse/mutation totals. With no job parameter, reports the current or most recent job. Bearer-token gated: without a configured token the endpoint always returns 401.",
"errors": [
{
"description": "No import job matches the supplied id, or no job has ever run when the id is omitted.",
"name": "JobNotFound"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"bucketed": {
"description": "Whether Phase A+B completed (the offset files are durable).",
"type": "boolean"
},
"error": {
"description": "Failure detail; present only when state is failed.",
"type": "string"
},
"finishedAt": {
"description": "Present only for a terminal job.",
"format": "datetime",
"type": "string"
},
"job": {
"description": "Job id.",
"type": "string"
},
"phase": {
"description": "Current phase: parse_bucket (Phase A+B) or apply (Phase C).",
"knownValues": [
"parse_bucket",
"apply"
],
"type": "string"
},
"rowsCorruptOffset": {
"minimum": 0,
"type": "integer"
},
"rowsMatchedAllVersions": {
"minimum": 0,
"type": "integer"
},
"rowsMatchedSpecific": {
"minimum": 0,
"type": "integer"
},
"rowsMutated": {
"minimum": 0,
"type": "integer"
},
"rowsRejected": {
"minimum": 0,
"type": "integer"
},
"rowsTotal": {
"minimum": 0,
"type": "integer"
},
"rowsValid": {
"minimum": 0,
"type": "integer"
},
"segmentsApplied": {
"description": "Segments processed so far in Phase C.",
"minimum": 0,
"type": "integer"
},
"segmentsExamined": {
"minimum": 0,
"type": "integer"
},
"segmentsPatched": {
"minimum": 0,
"type": "integer"
},
"segmentsToApply": {
"description": "Segments Phase C will process (after resume-skips).",
"minimum": 0,
"type": "integer"
},
"specificCidsUnmatched": {
"minimum": 0,
"type": "integer"
},
"state": {
"description": "Lifecycle state.",
"knownValues": [
"running",
"complete",
"failed"
],
"type": "string"
},
"submittedAt": {
"format": "datetime",
"type": "string"
}
},
"required": [
"job",
"state"
],
"type": "object"
}
},
"parameters": {
"properties": {
"job": {
"description": "Job id returned by importTimestamps. When omitted, the current or most recent job is reported.",
"type": "string"
}
},
"type": "params"
},
"type": "query"
}
},
"id": "network.bsky.jetstream.getImportStatus",
"lexicon": 1
}