{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/audioscrape-com/json-schema/audioscrape-com-export-job-status-schema.json",
  "title": "ExportJobStatus",
  "description": "Response from `GET /api/workspaces/{workspace}/export/{job_id}`.",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/audioscrape-com-openapi.json#/components/schemas/ExportJobStatus",
  "type": "object",
  "required": [
    "id",
    "status"
  ],
  "properties": {
    "bytes": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64",
      "description": "Total size of the generated archive in bytes. `null` until completion."
    },
    "completed_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "RFC 3339 UTC timestamp the job reached a terminal state. `null` while in flight."
    },
    "created_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "RFC 3339 UTC timestamp the job was created."
    },
    "download_expires_at": {
      "type": [
        "string",
        "null"
      ],
      "description": "RFC 3339 UTC timestamp at which `download_url` stops working."
    },
    "download_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "Signed download URL, valid for 15 minutes from this response. Present\nonly when `status == \"completed\"`; poll the job again for a fresh one.\nA finished export stays downloadable for 7 days, then reads `expired`."
    },
    "error_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "Human-readable failure reason. Set only when `status == \"failed\"`."
    },
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "Numeric job ID."
    },
    "item_count": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32",
      "description": "Number of items packaged in the export. `null` until completion."
    },
    "status": {
      "type": "string",
      "description": "One of `queued`, `running`, `completed`, `failed`, `expired`."
    }
  }
}