changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": true,
+ "properties": {
+ "batches": {
+ "description": "Jobs, newest first (empty when there are none).",
+ "items": {
+ "additionalProperties": true,
+ "properties": {
+ "cancel_requested_at": {
+ "description": "ISO-8601 time a cancel was accepted.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "concurrency": {
+ "description": "Effective per-job concurrency after the server's clamping.",
+ "type": "number"
+ },
+ "error_code": {
+ "description": "Machine code of a job-level failure.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "error_message": {
+ "description": "Human-readable job-level failure reason.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "estimated_credits": {
+ "description": "Credits reserved at submission (a hold, not a charge; compare with progress.credits_charged).",
+ "type": "number"
+ },
+ "estimated_credits_micro": {
+ "description": "Same as estimated_credits in micro-credits.",
+ "type": "number"
+ },
+ "failure_threshold": {
+ "description": "Failed-item count that aborts the job, when set.",
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "finished_at": {
+ "description": "ISO-8601 time the job reached a terminal status.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "id": {
+ "description": "Job id. Pass it as `job_id` to the other spicrawl_batch_* tools.",
+ "type": "string"
+ },
+ "max_attempts": {
+ "description": "Effective attempts per item.",
+ "type": "number"
+ },
+ "name": {
+ "description": "The label given at submission, if any.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "open": {
+ "description": "True while the job accepts appended items (it will not complete until closed).",
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "params": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "The job-level scrape settings as stored."
+ },
+ "priority": {
+ "description": "Effective scheduling priority.",
+ "type": "number"
+ },
+ "progress": {
+ "additionalProperties": true,
+ "description": "Live item counters and the credits charged so far.",
+ "properties": {
+ "bytes": {
+ "description": "Total response bytes of finished items.",
+ "type": "number"
+ },
+ "cancelled": {
+ "description": "Items not run because the job was cancelled.",
+ "type": "number"
+ },
+ "completed": {
+ "description": "Items in any terminal status (succeeded + failed + cancelled + skipped).",
+ "type": "number"
+ },
+ "credits_charged": {
+ "description": "Credits actually charged so far (whole credits, rounded down).",
+ "type": "number"
+ },
+ "credits_charged_micro": {
+ "description": "Same as credits_charged in micro-credits (1 credit = 1,000,000).",
+ "type": "number"
+ },
+ "failed": {
+ "description": "Items that failed after all attempts; re-run them with spicrawl_batch_retry.",
+ "type": "number"
+ },
+ "percent_complete": {
+ "description": "completed / total x 100.",
+ "type": "number"
+ },
+ "remaining": {
+ "description": "Items not yet finished (total - completed).",
+ "type": "number"
+ },
+ "skipped": {
+ "description": "Items skipped (for example after failure_threshold or credit_budget stopped the run).",
+ "type": "number"
+ },
+ "succeeded": {
+ "description": "Items that succeeded. Only these are charged.",
+ "type": "number"
+ },
+ "total": {
+ "description": "Items in the job (grows when items are appended to an open job).",
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "project_id": {
+ "description": "Project the API key belongs to.",
+ "type": "string"
+ },
+ "results_expire_at": {
+ "description": "ISO-8601 deadline after which results answer 410 Gone.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "results_url": {
+ "description": "API path of the job's results: /v1/batch/{id}/results.",
+ "type": "string"
+ },
+ "started_at": {
+ "description": "ISO-8601 time the first item started.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "description": "Lifecycle: queued, running, paused, cancelling, completed, failed or cancelled. Keep polling while queued/running/paused/cancelling; stop at completed, failed or cancelled.",
+ "type": "string"
+ },
+ "status_url": {
+ "description": "API path to poll for this job: /v1/batch/{id}.",
+ "type": "string"
+ },
+ "submitted_at": {
+ "description": "ISO-8601 time the job was accepted.",
+ "type": "string"
+ },
+ "total_items": {
+ "description": "Number of items in the job.",
+ "type": "number"
+ },
+ "warnings": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Decisions made on the caller's behalf at submission (a clamped concurrency, items not yet queued)."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "next_cursor": {
+ "description": "Pass back as `cursor` for the next page; absent on the last page.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "batches"
+ ],
+ "type": "object"
+}