Skip to main content

Changelog

All notable changes to the Patholytix API are documented here. Deprecation notices appear here in advance of any retirement.


Patholytix 6.0

Studies

OperationMethodPath
Create a studyPOST/api/v1/studies
List studiesGET/api/v1/studies
Get a studyGET/api/v1/studies/{studyId}
Update a studyPUT/api/v1/studies/{studyId}
Delete a studyDELETE/api/v1/studies/{studyId}

List studies accepts glpStatus (ACTIVE, LOCKED, ARCHIVED, or NONE) and attributes filters (KEY:VALUE format, up to 5 pairs, case-sensitive, repeated for multiple values).

Subjects

OperationMethodPath
Create a subjectPOST/api/v1/studies/{studyId}/subjects
List subjectsGET/api/v1/studies/{studyId}/subjects
Get a subjectGET/api/v1/studies/{studyId}/subjects/{subjectId}
Update a subjectPUT/api/v1/studies/{studyId}/subjects/{subjectId}
Delete a subjectDELETE/api/v1/studies/{studyId}/subjects/{subjectId}

List subjects accepts attributes filters.

Organs

OperationMethodPath
Create an organPOST/api/v1/studies/{studyId}/organs
List organsGET/api/v1/studies/{studyId}/organs
Get an organGET/api/v1/studies/{studyId}/organs/{organId}
Update an organPUT/api/v1/studies/{studyId}/organs/{organId}
Delete an organDELETE/api/v1/studies/{studyId}/organs/{organId}

List organs accepts attributes filters.

Codes

OperationMethodPath
Create codes dictionaryPOST/api/v1/studies/{studyId}/codes
Get codes dictionaryGET/api/v1/studies/{studyId}/codes
Update codes dictionaryPUT/api/v1/studies/{studyId}/codes

Findings

OperationMethodPath
List findingsGET/api/v1/studies/{studyId}/findings
Get a findingGET/api/v1/studies/{studyId}/findings/{findingId}

Findings are created by pathologists within the Patholytix application and are read-only via the Integration API. List findings accepts subjectId, organId, and attributes filters.

Slides

Slides are created by the Patholytix image ingestion pipeline, so there is no create operation. See Data Model for the NATIVE / CONVERTED distinction, which determines what can be filtered and updated.

OperationMethodPath
List slidesGET/api/v1/studies/{studyId}/slides
Get a slideGET/api/v1/studies/{studyId}/slides/{slideId}
Update a slidePUT/api/v1/studies/{studyId}/slides/{slideId}
Delete a slideDELETE/api/v1/studies/{studyId}/slides/{slideId}
Bulk update slidesPOST/api/v1/studies/{studyId}/slides:bulkUpdate

Key behaviours:

  • PUT /slides/{slideId} supports attribute updates and structural assignment — set the subject and organs fields to assign a slide to a subject and one or more organs.
  • POST /slides:bulkUpdate updates up to 100 slides per request with best-effort semantics — failed entries are returned in failedItems without failing the whole request.
  • Slide.organIds is a string array — multi-organ slides (where a slide spans multiple organ types) will have more than one entry.
  • NATIVE (glass) slides are managed exclusively by the ingestion pipeline — GET returns 404, PUT and DELETE return 422.

List slides accepts filtering by subjectId, organId, originalFileNamePrefix, fileType, status, and attributes, and sorting by fileName, fileSizeInBytes, createdDate, or updatedDate.

See the API Reference for full details.

Export Studies

OperationMethodPath
Start an exportPOST/api/v1/studies/{studyId}/exports
List exportsGET/api/v1/studies/{studyId}/exports
Get an exportGET/api/v1/studies/{studyId}/exports/{exportId}
Cancel or delete an exportDELETE/api/v1/studies/{studyId}/exports/{exportId}
Download an export fileGET/api/v1/studies/{studyId}/exports/{exportId}:download

Exports run asynchronously and produce the full study hierarchy as JSON or Excel. A study retains at most 5 export jobs and may have only one active job at a time. See Exporting a Study for the full workflow.

Cloud Image API

A dedicated API for cloud-to-cloud whole-slide image transfer — images move directly between cloud buckets without passing through a local machine.

Cloud Credentials — store encrypted credentials for AWS S3, Google Cloud Storage, Wasabi, and Azure Blob Storage once and reference them by credentialId on every subsequent job.

OperationMethodPath
Create credentialPOST/api/v1/cloud/credentials
List credentialsGET/api/v1/cloud/credentials
Get credentialGET/api/v1/cloud/credentials/{credentialId}
Update credentialPUT/api/v1/cloud/credentials/{credentialId}
Delete credentialDELETE/api/v1/cloud/credentials/{credentialId}
Validate credentialPOST/api/v1/cloud/credentials/{credentialId}:validate

Image Jobs — start, monitor, retry, and cancel ingest or transfer jobs.

OperationMethodPath
Start ingest jobPOST/api/v1/image/jobs:ingest
Start transfer jobPOST/api/v1/image/jobs:transfer
List jobsGET/api/v1/image/jobs
Get jobGET/api/v1/image/jobs/{jobId}
Retry jobPOST/api/v1/image/jobs/{jobId}:retry
Cancel jobPOST/api/v1/image/jobs/{jobId}:cancel
Stream job progressGET/api/v1/image/jobs/{jobId}:streamProgress
List job filesGET/api/v1/image/jobs/{jobId}:listFiles

See the Cloud Image API Reference for full details.