{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Status Polling — Pathology — JondaX API Docs","description":"Check the processing status of a JondaX Pathology upload and monitor callback delivery using the status polling endpoint.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"status-polling","__idx":0},"children":["Status Polling"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After uploading a pathology file you receive an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadId"]},". Use the status endpoint to check whether processing has completed and whether your callback was delivered successfully."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can also check the status of your uploads visually on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Records"]}," page in the client portal — no API calls needed."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/portal-record-status.288208b97c53bf4af40364ab144b634232f215861f9c9d68add6a42a9a7e0797.a1161040.png","alt":"Records page showing upload status"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"portal-status--preview-feature","__idx":1},"children":["Portal status & Preview feature"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Records"]}," page in the client portal displays real-time status badges and allows immediate inspection of your transformed files:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Portal Status"},"children":["Portal Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Processing"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Extraction and transformation are currently in progress."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ready (in review)"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Processing and automated QA checks are complete. Preliminary QA-passed results are immediately ready for preview or download while any flagged items undergo human QA review."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Success"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["All processing and verification are 100% complete. Final verified results are available."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Error"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Processing failed. An error callback is dispatched if configured."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"in-portal-preview-button","__idx":2},"children":["In-portal Preview button"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For records with ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ready (in review)"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Success"]}," status, a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preview"]}," button appears next to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Download"]}," on the Records table:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Instant text preview"]},": Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preview"]}," to open a modal rendering your transformed output (JSON, HL7, FHIR JSON, FHIR XML, CSV) directly in your browser without saving a file."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Preliminary data notice"]},": Previewing a record with status ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ready (in review)"]}," displays a preliminary notice confirming that you are viewing QA-passed rows while manual review finalizes remaining rows."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Modal download"]},": You can review biomarker data and trigger the file download directly from within the preview modal or from the main table."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Binary formats"]},": For binary formats like ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Parquet"]},", preview is omitted — click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Download"]}," to save and inspect the file in your preferred data tooling."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"endpoint","__idx":3},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GET https://app.jondax.eu/api/v1/status/:uploadId\nAuthorization: Bearer <JONDAX_API_KEY>\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Authentication uses your API key (the same one used for uploads) — no session JWT is required."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-request","__idx":4},"children":["Example request"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl --location 'https://app.jondax.eu/api/v1/status/:uploadId' \\\n--header 'Authorization: Bearer <JONDAX_API_KEY>'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-http-200","__idx":5},"children":["Response (HTTP 200)"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"status-completed","__idx":6},"children":["Status: completed"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": true,\n  \"data\": {\n    \"uploadId\": \"<uploadId>\",\n    \"customerId\": 1,\n    \"transactionId\": 478,\n    \"fileName\": \"image (3).png\",\n    \"status\": \"completed\",\n    \"createdAt\": \"2026-06-03T07:41:10.633Z\",\n    \"completedAt\": \"2026-06-03T07:58:20.426Z\",\n    \"callbackDelivery\": {\n      \"status\": \"delivered\",\n      \"attempts\": 1,\n      \"lastAttemptAt\": \"2026-07-07T01:58:58.446Z\"\n    },\n    \"expiresAt\": \"2026-07-03T07:41:10.633Z\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"status-processing","__idx":7},"children":["Status: processing"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": true,\n  \"data\": {\n    \"uploadId\": \"<uploadId>\",\n    \"customerId\": 1,\n    \"transactionId\": 478,\n    \"fileName\": \"image (3).png\",\n    \"status\": \"processing\",\n    \"createdAt\": \"2026-05-29T11:36:02.152Z\",\n    \"completedAt\": \"2026-05-29T12:14:50.708Z\",\n    \"callbackDelivery\": {\n      \"status\": \"pending\",\n      \"attempts\": 0,\n      \"lastAttemptAt\": null\n    },\n    \"expiresAt\": \"2026-06-28T11:36:02.152Z\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"status-uploaded","__idx":8},"children":["Status: uploaded"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": true,\n  \"data\": {\n    \"uploadId\": \"<uploadId>\",\n    \"customerId\": 1,\n    \"transactionId\": 478,\n    \"fileName\": \"image (3).png\",\n    \"status\": \"uploaded\",\n    \"createdAt\": \"2026-05-30T05:18:12.185Z\",\n    \"completedAt\": \"2026-05-30T05:24:43.555Z\",\n    \"callbackDelivery\": {\n      \"status\": \"pending\",\n      \"attempts\": 0,\n      \"lastAttemptAt\": null\n    },\n    \"expiresAt\": \"2026-06-29T05:18:12.185Z\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-field-reference","__idx":9},"children":["Response field reference"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.uploadId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["UUID identifying this upload"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.customerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your account identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.transactionId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Internal transaction identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.fileName"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Original uploaded filename"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.status"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Processing status — see values below"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.createdAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 timestamp when the upload was received"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.completedAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string | null"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 timestamp when processing finished. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," if still in progress"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.callbackDelivery.status"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Callback delivery status — see values below"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.callbackDelivery.attempts"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Number of delivery attempts made"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.callbackDelivery.lastAttemptAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string | null"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 timestamp of the last delivery attempt. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["null"]}," if not yet attempted"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.expiresAt"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 timestamp when this record is purged (30 days after upload)"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"datastatus-values","__idx":10},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.status"]}," values"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploaded"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["File received and queued for processing"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["processing"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Extraction, transformation, or manual QA review in progress. In the client portal, records undergoing QA review display as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ready (in review)"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["All processing and verification finished; callback dispatched (delivery may still be in progress). Displayed as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Success"]}," in the portal."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Processing failed; error callback sent or pending"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expired"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Past the 30-day retention window; data has been purged"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"datacallbackdeliverystatus-values","__idx":11},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.callbackDelivery.status"]}," values"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pending"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Callback not yet attempted"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["delivered"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Callback successfully delivered (your endpoint returned 2xx)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["retrying"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One or more delivery attempts failed; retries in progress"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["exhausted"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["All 3 retry attempts failed; result stored, contact support to retrieve"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"polling-strategy","__idx":12},"children":["Polling strategy"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Poll every ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["5–10 seconds"]}," until ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["data.status"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["completed"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["failed"]},". Once the status is terminal, stop polling."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"status = \"uploaded\" or \"processing\"  → wait and poll again (or inspect preliminary results via portal Preview)\nstatus = \"completed\"                  → check callbackDelivery.status; final results ready\nstatus = \"failed\"                     → handle error; check callbackDelivery.status for error callback delivery\nstatus = \"expired\"                    → upload ID is no longer valid\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"data-retention","__idx":13},"children":["Data retention"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Upload records and results are retained for ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["30 days"]}," from the upload date. After that, the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["uploadId"]}," returns a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404"]}," response and the associated data is permanently purged."]}]},"headings":[{"value":"Status Polling","id":"status-polling","depth":1},{"value":"Portal status & Preview feature","id":"portal-status--preview-feature","depth":3},{"value":"In-portal Preview button","id":"in-portal-preview-button","depth":4},{"value":"Endpoint","id":"endpoint","depth":2},{"value":"Example request","id":"example-request","depth":2},{"value":"Response (HTTP 200)","id":"response-http-200","depth":2},{"value":"Status: completed","id":"status-completed","depth":3},{"value":"Status: processing","id":"status-processing","depth":3},{"value":"Status: uploaded","id":"status-uploaded","depth":3},{"value":"Response field reference","id":"response-field-reference","depth":2},{"value":"data.status values","id":"datastatus-values","depth":3},{"value":"data.callbackDelivery.status values","id":"datacallbackdeliverystatus-values","depth":3},{"value":"Polling strategy","id":"polling-strategy","depth":2},{"value":"Data retention","id":"data-retention","depth":2}],"frontmatter":{"seo":{"title":"Status Polling — Pathology — JondaX API Docs","description":"Check the processing status of a JondaX Pathology upload and monitor callback delivery using the status polling endpoint."}},"lastModified":"2026-09-29T04:36:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/pathology/status-polling","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}