Bloom accepts Atlas-approved material only after Atlas records an ACCEPTED intake outcome and materializes one or more test fulfillment items.
Minimum request context:
atlas_context.atlas_trf_euidatlas_context.atlas_patient_euidatlas_context.fulfillment_items[].atlas_test_euidatlas_context.fulfillment_items[].atlas_test_fulfillment_item_euid- patient context
- shipment or test kit context
- queue intent
- idempotency key
Bloom persists Atlas linkage through graph-linked reference objects and returns EUID-only identifiers for created material plus fulfillment_item_euids[].
For accepted-material ingress, queue transitions are expected on container_euid (container-first lab movement).
Implemented endpoint:
POST /api/v1/external/atlas/beta/materials
Canonical beta queues:
extraction_prodextraction_rndpost_extract_qcilmn_lib_prepont_lib_prepilmn_seq_poolont_seq_poolilmn_start_seq_runont_start_seq_run
Input:
run_euidflowcell_idlanelibrary_barcode
Output:
sequenced_library_assignment_euidatlas_tenant_idatlas_trf_euidatlas_test_euidatlas_test_fulfillment_item_euid
Rules:
- response is deterministic and replay-safe
- response contains no private UUIDs
- resolver traverses Bloom lineage and graph-linked reference objects
- one full resolver key maps to exactly one sequenced library assignment
Implemented endpoint:
GET /api/v1/external/atlas/beta/runs/{run_euid}/resolve?flowcell_id=...&lane=...&library_barcode=...
Other queue-driven beta endpoints:
POST /api/v1/external/atlas/beta/queues/{queue_name}/items/{material_euid}POST /api/v1/external/atlas/beta/extractionsPOST /api/v1/external/atlas/beta/post-extract-qcPOST /api/v1/external/atlas/beta/library-prepPOST /api/v1/external/atlas/beta/poolsPOST /api/v1/external/atlas/beta/runsPOST /api/v1/external/atlas/tests/{test_euid}/status-events
- Bloom-to-Atlas status publishing remains replay-safe
- direct beta calls remain deterministic and idempotent
- repeated accepted-material requests with the same idempotency key must not create duplicate material records