{"record":{"id":"68228c6334959248","repo":"PaddlePaddle/PaddleOCR","slug":"batch-extractresult-items-must-contain-non-empty-s","errorCode":null,"errorMessage":"Batch extractResult items must contain non-empty string 'jobId'.","messagePattern":"Batch extractResult items must contain non-empty string 'jobId'\\.","errorType":"exception","errorClass":"ResponseFormatError","httpStatus":null,"severity":"error","filePath":"paddleocr/_api_client/_core.py","lineNumber":207,"sourceCode":"        raise ResponseFormatError(\n            \"Done job response resultUrl must contain non-empty string 'jsonUrl'.\"\n        )\n    return json_url\n\n\ndef parse_batch_status(batch_id: str, data: dict) -> BatchStatus:\n    result = data.get(\"extractResult\")\n    if not isinstance(result, list):\n        raise ResponseFormatError(\n            \"Batch response data must contain list 'extractResult'.\"\n        )\n    jobs = []\n    for item in result:\n        if not isinstance(item, dict):\n            raise ResponseFormatError(\"Batch extractResult items must be objects.\")\n        job_id = item.get(\"jobId\")\n        if not isinstance(job_id, str) or not job_id:\n            raise ResponseFormatError(\n                \"Batch extractResult items must contain non-empty string 'jobId'.\"\n            )\n        jobs.append(job_status_from_data(job_id, item))\n    return BatchStatus(batch_id=batch_id, jobs=jobs)\n","sourceCodeStart":189,"sourceCodeEnd":212,"githubUrl":"https://github.com/PaddlePaddle/PaddleOCR/blob/2661c7c0ef5c613e8f93c6e93b2e052399f0f854/paddleocr/_api_client/_core.py#L189-L212","documentation":"Error \"Batch extractResult items must contain non-empty string 'jobId'.\" thrown in PaddlePaddle/PaddleOCR.","triggerScenarios":"Raised by parse_batch_status() when a batch extractResult item lacks a non-empty string 'jobId'.","commonSituations":"A batch extractResult item lacked a valid 'jobId' string. Indicates a malformed server payload. Capture the raw response and retry the batch query.","solutions":["Verify each job in the batch was submitted successfully; every extractResult item must carry a non-empty 'jobId' string.","Inspect the raw batch response to find the item missing jobId.","Report a server-side issue if the batch status consistently returns items without jobId."],"exampleFix":"job_id = item.get(\"jobId\")\nif not isinstance(job_id, str) or not job_id:\n    print(item)  # inspect the offending batch item","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2661c7c0ef5c613e8f93c6e93b2e052399f0f854","analyzedAt":"2026-08-14T20:17:30.180Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}