diff --git a/docs/api/smartem/swagger.json b/docs/api/smartem/swagger.json index 4281245..28266c1 100644 --- a/docs/api/smartem/swagger.json +++ b/docs/api/smartem/swagger.json @@ -1,1775 +1,2757 @@ { - "openapi": "3.1.0", - "info": { - "title": "SmartEM Decisions Backend API", - "description": "API for accessing and managing electron microscopy data", - "version": "0.1.dev276+g1b7ed28d6.d20250818" - }, - "paths": { - "/status": { - "get": { - "summary": "Get Status", - "description": "Get API status and configuration information", - "operationId": "get_status_status_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} + "components": { + "schemas": { + "AcquisitionCreateRequest": { + "properties": { + "atlas_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/health": { - "get": { - "summary": "Get Health", - "description": "Health check endpoint with actual connectivity checks", - "operationId": "get_health_health_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": {} + ], + "title": "Atlas Path" + }, + "clustering_mode": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/acquisitions": { - "get": { - "summary": "Get Acquisitions", - "description": "Get all acquisitions", - "operationId": "get_acquisitions_acquisitions_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/AcquisitionResponse" - }, - "type": "array", - "title": "Response Get Acquisitions Acquisitions Get" - } + ], + "title": "Clustering Mode" + }, + "clustering_radius": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "post": { - "summary": "Create Acquisition", - "description": "Create a new acquisition", - "operationId": "create_acquisition_acquisitions_post", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcquisitionCreateRequest" + ], + "title": "Clustering Radius" + }, + "computer_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Computer Name" }, - "required": true - }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcquisitionResponse" - } + "end_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "End Time" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "instrument_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/acquisitions/{acquisition_uuid}": { - "get": { - "summary": "Get Acquisition", - "description": "Get a single acquisition by ID", - "operationId": "get_acquisition_acquisitions__acquisition_uuid__get", - "parameters": [ - { - "name": "acquisition_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Acquisition Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcquisitionResponse" - } + ], + "title": "Instrument Id" + }, + "instrument_model": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Instrument Model" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "put": { - "summary": "Update Acquisition", - "description": "Update an acquisition", - "operationId": "update_acquisition_acquisitions__acquisition_uuid__put", - "parameters": [ - { - "name": "acquisition_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Acquisition Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcquisitionUpdateRequest" + ], + "title": "Name" + }, + "paused_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AcquisitionResponse" - } + ], + "title": "Paused Time" + }, + "start_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Start Time" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/AcquisitionStatus" + }, + { + "type": "null" } - } - } - } - }, - "delete": { - "summary": "Delete Acquisition", - "description": "Delete an acquisition", - "operationId": "delete_acquisition_acquisitions__acquisition_uuid__delete", - "parameters": [ - { - "name": "acquisition_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Acquisition Uuid" - } - } - ], - "responses": { - "204": { - "description": "Successful Response" + ] }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/grids": { - "get": { - "summary": "Get Grids", - "description": "Get all grids", - "operationId": "get_grids_grids_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/GridResponse" - }, - "type": "array", - "title": "Response Get Grids Grids Get" - } + "storage_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/grids/{grid_uuid}": { - "get": { - "summary": "Get Grid", - "description": "Get a single grid by ID", - "operationId": "get_grid_grids__grid_uuid__get", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } + ], + "title": "Storage Path" + }, + "uuid": { + "title": "Uuid", + "type": "string" } + }, + "required": [ + "uuid" ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridResponse" - } + "title": "AcquisitionCreateRequest", + "type": "object" + }, + "AcquisitionResponse": { + "properties": { + "atlas_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Atlas Path" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "clustering_mode": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "put": { - "summary": "Update Grid", - "description": "Update a grid", - "operationId": "update_grid_grids__grid_uuid__put", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridUpdateRequest" + ], + "title": "Clustering Mode" + }, + "clustering_radius": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridResponse" - } + ], + "title": "Clustering Radius" + }, + "computer_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Computer Name" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "end_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "delete": { - "summary": "Delete Grid", - "description": "Delete a grid by publishing to RabbitMQ", - "operationId": "delete_grid_grids__grid_uuid__delete", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } - } - ], - "responses": { - "204": { - "description": "Successful Response" + ], + "title": "End Time" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "instrument_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/acquisitions/{acquisition_uuid}/grids": { - "get": { - "summary": "Get Acquisition Grids", - "description": "Get all grids for a specific acquisition", - "operationId": "get_acquisition_grids_acquisitions__acquisition_uuid__grids_get", - "parameters": [ - { - "name": "acquisition_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Acquisition Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GridResponse" - }, - "title": "Response Get Acquisition Grids Acquisitions Acquisition Uuid Grids Get" - } + ], + "title": "Instrument Id" + }, + "instrument_model": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Instrument Model" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "name": { + "title": "Name", + "type": "string" + }, + "paused_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "post": { - "summary": "Create Acquisition Grid", - "description": "Create a new grid for a specific acquisition", - "operationId": "create_acquisition_grid_acquisitions__acquisition_uuid__grids_post", - "parameters": [ - { - "name": "acquisition_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Acquisition Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridCreateRequest" + ], + "title": "Paused Time" + }, + "start_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } - } - }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridResponse" - } + ], + "title": "Start Time" + }, + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/AcquisitionStatus" + }, + { + "type": "null" } - } + ] }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "storage_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/grids/{grid_uuid}/registered": { - "post": { - "summary": "Grid Registered", - "description": "All squares on a grid have been registered at low mag", - "operationId": "grid_registered_grids__grid_uuid__registered_post", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } + ], + "title": "Storage Path" + }, + "uuid": { + "title": "Uuid", + "type": "string" } + }, + "required": [ + "uuid", + "name", + "status", + "start_time", + "end_time", + "paused_time", + "storage_path", + "atlas_path", + "clustering_mode", + "clustering_radius", + "instrument_model", + "instrument_id", + "computer_name" ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "boolean", - "title": "Response Grid Registered Grids Grid Uuid Registered Post" - } + "title": "AcquisitionResponse", + "type": "object" + }, + "AcquisitionStatus": { + "enum": [ + "planned", + "started", + "completed", + "paused", + "abandoned" + ], + "title": "AcquisitionStatus", + "type": "string" + }, + "AcquisitionUpdateRequest": { + "properties": { + "atlas_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Atlas Path" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/atlases": { - "get": { - "summary": "Get Atlases", - "description": "Get all atlases", - "operationId": "get_atlases_atlases_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/AtlasResponse" - }, - "type": "array", - "title": "Response Get Atlases Atlases Get" - } + "clustering_mode": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/atlases/{atlas_uuid}": { - "get": { - "summary": "Get Atlas", - "description": "Get a single atlas by ID", - "operationId": "get_atlas_atlases__atlas_uuid__get", - "parameters": [ - { - "name": "atlas_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Atlas Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasResponse" - } + ], + "title": "Clustering Mode" + }, + "clustering_radius": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Clustering Radius" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "computer_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "put": { - "summary": "Update Atlas", - "description": "Update an atlas", - "operationId": "update_atlas_atlases__atlas_uuid__put", - "parameters": [ - { - "name": "atlas_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Atlas Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasUpdateRequest" + ], + "title": "Computer Name" + }, + "end_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasResponse" - } + ], + "title": "End Time" + }, + "instrument_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Instrument Id" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "instrument_model": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "delete": { - "summary": "Delete Atlas", - "description": "Delete an atlas by publishing to RabbitMQ", - "operationId": "delete_atlas_atlases__atlas_uuid__delete", - "parameters": [ - { - "name": "atlas_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Atlas Uuid" - } - } - ], - "responses": { - "204": { - "description": "Successful Response" + ], + "title": "Instrument Model" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/grids/{grid_uuid}/atlas": { - "get": { - "summary": "Get Grid Atlas", - "description": "Get the atlas for a specific grid", - "operationId": "get_grid_atlas_grids__grid_uuid__atlas_get", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasResponse" - } + ], + "title": "Name" + }, + "paused_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Paused Time" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "start_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "post": { - "summary": "Create Grid Atlas", - "description": "Create a new atlas for a grid", - "operationId": "create_grid_atlas_grids__grid_uuid__atlas_post", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasCreateRequest" + ], + "title": "Start Time" + }, + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/AcquisitionStatus" + }, + { + "type": "null" } - } - } - }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasResponse" - } + ] + }, + "storage_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Storage Path" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Uuid" } - } - } - }, - "/atlas-tiles": { - "get": { - "summary": "Get Atlas Tiles", - "description": "Get all atlas tiles", - "operationId": "get_atlas_tiles_atlas_tiles_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/AtlasTileResponse" - }, - "type": "array", - "title": "Response Get Atlas Tiles Atlas Tiles Get" - } + }, + "title": "AcquisitionUpdateRequest", + "type": "object" + }, + "AgentInstructionAcknowledgement": { + "additionalProperties": false, + "description": "Request model for instruction acknowledgements from agents", + "properties": { + "error_message": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/atlas-tiles/{tile_uuid}": { - "get": { - "summary": "Get Atlas Tile", - "description": "Get a single atlas tile by ID", - "operationId": "get_atlas_tile_atlas_tiles__tile_uuid__get", - "parameters": [ - { - "name": "tile_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Tile Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasTileResponse" - } + ], + "title": "Error Message" + }, + "processed_at": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Processed At" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "processing_time_ms": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Processing Time Ms" + }, + "result": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Result" + }, + "status": { + "enum": [ + "received", + "processed", + "failed", + "declined" + ], + "title": "Status", + "type": "string" } - } + }, + "required": [ + "status" + ], + "title": "AgentInstructionAcknowledgement", + "type": "object" }, - "put": { - "summary": "Update Atlas Tile", - "description": "Update an atlas tile", - "operationId": "update_atlas_tile_atlas_tiles__tile_uuid__put", - "parameters": [ - { - "name": "tile_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Tile Uuid" - } + "AgentInstructionAcknowledgementResponse": { + "description": "Response model for instruction acknowledgement confirmations", + "properties": { + "acknowledged_at": { + "title": "Acknowledged At", + "type": "string" + }, + "agent_id": { + "title": "Agent Id", + "type": "string" + }, + "instruction_id": { + "title": "Instruction Id", + "type": "string" + }, + "session_id": { + "title": "Session Id", + "type": "string" + }, + "status": { + "title": "Status", + "type": "string" } + }, + "required": [ + "status", + "instruction_id", + "acknowledged_at", + "agent_id", + "session_id" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasTileUpdateRequest" + "title": "AgentInstructionAcknowledgementResponse", + "type": "object" + }, + "AtlasCreateRequest": { + "properties": { + "acquisition_date": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasTileResponse" - } + ], + "title": "Acquisition Date" + }, + "atlas_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Atlas Id" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "delete": { - "summary": "Delete Atlas Tile", - "description": "Delete an atlas tile by publishing to RabbitMQ", - "operationId": "delete_atlas_tile_atlas_tiles__tile_uuid__delete", - "parameters": [ - { - "name": "tile_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Tile Uuid" - } - } - ], - "responses": { - "204": { - "description": "Successful Response" + ], + "title": "Description" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "grid_uuid": { + "title": "Grid Uuid", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "storage_folder": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/atlases/{atlas_uuid}/tiles": { - "get": { - "summary": "Get Atlas Tiles By Atlas", - "description": "Get all tiles for a specific atlas", - "operationId": "get_atlas_tiles_by_atlas_atlases__atlas_uuid__tiles_get", - "parameters": [ - { - "name": "atlas_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Atlas Uuid" - } + ], + "title": "Storage Folder" + }, + "tiles": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/AtlasTileCreateRequest" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "title": "Tiles" + }, + "uuid": { + "title": "Uuid", + "type": "string" } + }, + "required": [ + "uuid", + "grid_uuid", + "name" ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AtlasTileResponse" - }, - "title": "Response Get Atlas Tiles By Atlas Atlases Atlas Uuid Tiles Get" - } + "title": "AtlasCreateRequest", + "type": "object" + }, + "AtlasResponse": { + "properties": { + "acquisition_date": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Acquisition Date" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "atlas_id": { + "title": "Atlas Id", + "type": "string" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - }, - "post": { - "summary": "Create Atlas Tile For Atlas", - "description": "Create a new tile for a specific atlas", - "operationId": "create_atlas_tile_for_atlas_atlases__atlas_uuid__tiles_post", - "parameters": [ - { - "name": "atlas_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Atlas Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasTileCreateRequest" + ], + "title": "Description" + }, + "grid_uuid": { + "title": "Grid Uuid", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + }, + "storage_folder": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { + ], + "title": "Storage Folder" + }, + "tiles": { + "anyOf": [ + { + "items": { "$ref": "#/components/schemas/AtlasTileResponse" - } + }, + "type": "array" + }, + { + "type": "null" } - } + ], + "default": [], + "title": "Tiles" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/atlas-tiles/{tile_uuid}/gridsquares/{gridsquare_uuid}": { - "post": { - "summary": "Link Atlas Tile To Gridsquare", - "description": "Connect a grid square to a tile with its position information", - "operationId": "link_atlas_tile_to_gridsquare_atlas_tiles__tile_uuid__gridsquares__gridsquare_uuid__post", - "parameters": [ - { - "name": "tile_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Tile Uuid" - } - }, - { - "name": "gridsquare_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Gridsquare Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridSquarePositionRequest" - } - } + "uuid": { + "title": "Uuid", + "type": "string" } }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AtlasTileGridSquarePositionResponse" - } - } - } + "required": [ + "uuid", + "grid_uuid", + "atlas_id", + "acquisition_date", + "storage_folder", + "description", + "name" + ], + "title": "AtlasResponse", + "type": "object" + }, + "AtlasTileCreateRequest": { + "properties": { + "atlas_uuid": { + "title": "Atlas Uuid", + "type": "string" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "base_filename": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/gridsquares": { - "get": { - "summary": "Get Gridsquares", - "description": "Get all grid squares", - "operationId": "get_gridsquares_gridsquares_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/GridSquareResponse" - }, - "type": "array", - "title": "Response Get Gridsquares Gridsquares Get" - } + ], + "title": "Base Filename" + }, + "file_format": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/gridsquares/{gridsquare_uuid}": { - "get": { - "summary": "Get Gridsquare", - "description": "Get a single grid square by ID", - "operationId": "get_gridsquare_gridsquares__gridsquare_uuid__get", - "parameters": [ - { - "name": "gridsquare_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Gridsquare Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridSquareResponse" - } + ], + "title": "File Format" + }, + "position_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Position X" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "position_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } - } - } - }, - "put": { - "summary": "Update Gridsquare", - "description": "Update a grid square", - "operationId": "update_gridsquare_gridsquares__gridsquare_uuid__put", - "parameters": [ - { - "name": "gridsquare_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Gridsquare Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridSquareUpdateRequest" + ], + "title": "Position Y" + }, + "size_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridSquareResponse" - } + ], + "title": "Size X" + }, + "size_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Size Y" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "tile_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Tile Id" + }, + "uuid": { + "title": "Uuid", + "type": "string" } - } + }, + "required": [ + "uuid", + "atlas_uuid" + ], + "title": "AtlasTileCreateRequest", + "type": "object" }, - "delete": { - "summary": "Delete Gridsquare", - "description": "Delete a grid square by publishing to RabbitMQ", - "operationId": "delete_gridsquare_gridsquares__gridsquare_uuid__delete", - "parameters": [ - { - "name": "gridsquare_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Gridsquare Uuid" - } + "AtlasTileGridSquarePositionResponse": { + "properties": { + "atlastile_uuid": { + "title": "Atlastile Uuid", + "type": "string" + }, + "center_x": { + "title": "Center X", + "type": "integer" + }, + "center_y": { + "title": "Center Y", + "type": "integer" + }, + "gridsquare_uuid": { + "title": "Gridsquare Uuid", + "type": "string" + }, + "size_height": { + "title": "Size Height", + "type": "integer" + }, + "size_width": { + "title": "Size Width", + "type": "integer" } + }, + "required": [ + "atlastile_uuid", + "gridsquare_uuid", + "center_x", + "center_y", + "size_width", + "size_height" ], - "responses": { - "204": { - "description": "Successful Response" + "title": "AtlasTileGridSquarePositionResponse", + "type": "object" + }, + "AtlasTileResponse": { + "properties": { + "atlas_uuid": { + "title": "Atlas Uuid", + "type": "string" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "base_filename": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/grids/{grid_uuid}/gridsquares": { - "get": { - "summary": "Get Grid Gridsquares", - "description": "Get all grid squares for a specific grid", - "operationId": "get_grid_gridsquares_grids__grid_uuid__gridsquares_get", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GridSquareResponse" - }, - "title": "Response Get Grid Gridsquares Grids Grid Uuid Gridsquares Get" - } + ], + "title": "Base Filename" + }, + "file_format": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "File Format" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "position_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } - } - } - }, - "post": { - "summary": "Create Grid Gridsquare", - "description": "Create a new grid square for a specific grid", - "operationId": "create_grid_gridsquare_grids__grid_uuid__gridsquares_post", - "parameters": [ - { - "name": "grid_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Grid Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridSquareCreateRequest" + ], + "title": "Position X" + }, + "position_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } - } - }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GridSquareResponse" - } + ], + "title": "Position Y" + }, + "size_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Size X" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "size_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } - } - } - } - }, - "/gridsquares/{gridsquare_uuid}/registered": { - "post": { - "summary": "Gridsquare Registered", - "description": "All holes on a grid square have been registered at square mag", - "operationId": "gridsquare_registered_gridsquares__gridsquare_uuid__registered_post", - "parameters": [ - { - "name": "gridsquare_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Gridsquare Uuid" - } + ], + "title": "Size Y" + }, + "tile_id": { + "title": "Tile Id", + "type": "string" + }, + "uuid": { + "title": "Uuid", + "type": "string" } + }, + "required": [ + "uuid", + "atlas_uuid", + "tile_id", + "position_x", + "position_y", + "size_x", + "size_y", + "file_format", + "base_filename" ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "boolean", - "title": "Response Gridsquare Registered Gridsquares Gridsquare Uuid Registered Post" - } + "title": "AtlasTileResponse", + "type": "object" + }, + "AtlasTileUpdateRequest": { + "properties": { + "atlas_uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Atlas Uuid" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - } - }, - "/foilholes": { - "get": { - "summary": "Get Foilholes", - "description": "Get all foil holes", - "operationId": "get_foilholes_foilholes_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/FoilHoleResponse" - }, - "type": "array", - "title": "Response Get Foilholes Foilholes Get" - } + "base_filename": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/foilholes/{foilhole_uuid}": { - "get": { - "summary": "Get Foilhole", - "description": "Get a single foil hole by ID", - "operationId": "get_foilhole_foilholes__foilhole_uuid__get", - "parameters": [ - { - "name": "foilhole_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Foilhole Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FoilHoleResponse" - } + ], + "title": "Base Filename" + }, + "file_format": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "File Format" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "position_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } - } - } - }, - "put": { - "summary": "Update Foilhole", - "description": "Update a foil hole", - "operationId": "update_foilhole_foilholes__foilhole_uuid__put", - "parameters": [ - { - "name": "foilhole_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Foilhole Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FoilHoleUpdateRequest" + ], + "title": "Position X" + }, + "position_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FoilHoleResponse" - } + ], + "title": "Position Y" + }, + "size_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Size X" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "size_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Size Y" + }, + "tile_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Tile Id" + }, + "uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uuid" } - } + }, + "title": "AtlasTileUpdateRequest", + "type": "object" }, - "delete": { - "summary": "Delete Foilhole", - "description": "Delete a foil hole by publishing to RabbitMQ", - "operationId": "delete_foilhole_foilholes__foilhole_uuid__delete", - "parameters": [ - { - "name": "foilhole_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Foilhole Uuid" - } - } - ], - "responses": { - "204": { - "description": "Successful Response" + "AtlasUpdateRequest": { + "properties": { + "acquisition_date": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Acquisition Date" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "atlas_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } - } - } - } - }, - "/gridsquares/{gridsquare_uuid}/foilholes": { - "get": { - "summary": "Get Gridsquare Foilholes", - "description": "Get all foil holes for a specific grid square", - "operationId": "get_gridsquare_foilholes_gridsquares__gridsquare_uuid__foilholes_get", - "parameters": [ - { - "name": "gridsquare_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Gridsquare Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FoilHoleResponse" - }, - "title": "Response Get Gridsquare Foilholes Gridsquares Gridsquare Uuid Foilholes Get" - } + ], + "title": "Atlas Id" + }, + "description": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Description" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "grid_uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Grid Uuid" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Name" + }, + "storage_folder": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Storage Folder" + }, + "uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uuid" } - } + }, + "title": "AtlasUpdateRequest", + "type": "object" }, - "post": { - "summary": "Create Gridsquare Foilhole", - "description": "Create a new foil hole for a specific grid square", - "operationId": "create_gridsquare_foilhole_gridsquares__gridsquare_uuid__foilholes_post", - "parameters": [ - { - "name": "gridsquare_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Gridsquare Uuid" - } + "CtfEstimationCompletedRequest": { + "properties": { + "ctf_max_res": { + "title": "Ctf Max Res", + "type": "number" } + }, + "required": [ + "ctf_max_res" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FoilHoleCreateRequest" + "title": "CtfEstimationCompletedRequest", + "type": "object" + }, + "CtfEstimationRegisteredRequest": { + "properties": { + "metric_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" } - } + ], + "title": "Metric Name" + }, + "quality": { + "title": "Quality", + "type": "boolean" } }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FoilHoleResponse" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "required": [ + "quality" + ], + "title": "CtfEstimationRegisteredRequest", + "type": "object" + }, + "FoilHoleCreateRequest": { + "properties": { + "center_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } - } - } - } - }, - "/micrographs": { - "get": { - "summary": "Get Micrographs", - "description": "Get all micrographs", - "operationId": "get_micrographs_micrographs_get", - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/MicrographResponse" - }, - "type": "array", - "title": "Response Get Micrographs Micrographs Get" - } + ], + "title": "Center X" + }, + "center_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } - } - } - } - }, - "/micrographs/{micrograph_uuid}": { - "get": { - "summary": "Get Micrograph", - "description": "Get a single micrograph by ID", - "operationId": "get_micrograph_micrographs__micrograph_uuid__get", - "parameters": [ - { - "name": "micrograph_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Micrograph Uuid" - } - } - ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MicrographResponse" - } + ], + "title": "Center Y" + }, + "diameter": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Diameter" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "foilhole_id": { + "title": "Foilhole Id", + "type": "string" + }, + "gridsquare_id": { + "title": "Gridsquare Id", + "type": "string" + }, + "gridsquare_uuid": { + "title": "Gridsquare Uuid", + "type": "string" + }, + "is_near_grid_bar": { + "default": false, + "title": "Is Near Grid Bar", + "type": "boolean" + }, + "quality": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } - } - } - }, - "put": { - "summary": "Update Micrograph", - "description": "Update a micrograph", - "operationId": "update_micrograph_micrographs__micrograph_uuid__put", - "parameters": [ - { - "name": "micrograph_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Micrograph Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MicrographUpdateRequest" + ], + "title": "Quality" + }, + "rotation": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } - } - }, - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MicrographResponse" - } + ], + "title": "Rotation" + }, + "size_height": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } + ], + "title": "Size Height" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "size_width": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } - } - } - }, - "delete": { - "summary": "Delete Micrograph", - "description": "Delete a micrograph by publishing to RabbitMQ", - "operationId": "delete_micrograph_micrographs__micrograph_uuid__delete", - "parameters": [ - { - "name": "micrograph_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Micrograph Uuid" - } - } - ], - "responses": { - "204": { - "description": "Successful Response" + ], + "title": "Size Width" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/FoilHoleStatus" + }, + { + "type": "null" } - } + ] + }, + "uuid": { + "title": "Uuid", + "type": "string" + }, + "x_location": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "X Location" + }, + "x_stage_position": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "X Stage Position" + }, + "y_location": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Y Location" + }, + "y_stage_position": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Y Stage Position" } - } - } - }, - "/foilholes/{foilhole_uuid}/micrographs": { - "get": { - "summary": "Get Foilhole Micrographs", - "description": "Get all micrographs for a specific foil hole", - "operationId": "get_foilhole_micrographs_foilholes__foilhole_uuid__micrographs_get", - "parameters": [ - { - "name": "foilhole_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Foilhole Uuid" - } + }, + "required": [ + "uuid", + "foilhole_id", + "gridsquare_id", + "gridsquare_uuid" + ], + "title": "FoilHoleCreateRequest", + "type": "object" + }, + "FoilHoleResponse": { + "properties": { + "center_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Center X" + }, + "center_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Center Y" + }, + "diameter": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Diameter" + }, + "foilhole_id": { + "title": "Foilhole Id", + "type": "string" + }, + "gridsquare_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Gridsquare Id" + }, + "is_near_grid_bar": { + "title": "Is Near Grid Bar", + "type": "boolean" + }, + "quality": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Quality" + }, + "rotation": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Rotation" + }, + "size_height": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Size Height" + }, + "size_width": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Size Width" + }, + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/FoilHoleStatus" + }, + { + "type": "null" + } + ] + }, + "uuid": { + "title": "Uuid", + "type": "string" + }, + "x_location": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "X Location" + }, + "x_stage_position": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "X Stage Position" + }, + "y_location": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Y Location" + }, + "y_stage_position": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Y Stage Position" + } + }, + "required": [ + "uuid", + "gridsquare_id", + "foilhole_id", + "status", + "center_x", + "center_y", + "quality", + "rotation", + "size_width", + "size_height", + "x_location", + "y_location", + "x_stage_position", + "y_stage_position", + "diameter", + "is_near_grid_bar" + ], + "title": "FoilHoleResponse", + "type": "object" + }, + "FoilHoleStatus": { + "enum": [ + "none", + "micrographs detected" + ], + "title": "FoilHoleStatus", + "type": "string" + }, + "FoilHoleUpdateRequest": { + "properties": { + "center_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Center X" + }, + "center_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Center Y" + }, + "diameter": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Diameter" + }, + "foilhole_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Foilhole Id" + }, + "gridsquare_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Gridsquare Id" + }, + "gridsquare_uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Gridsquare Uuid" + }, + "is_near_grid_bar": { + "default": false, + "title": "Is Near Grid Bar", + "type": "boolean" + }, + "quality": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Quality" + }, + "rotation": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Rotation" + }, + "size_height": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Size Height" + }, + "size_width": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Size Width" + }, + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/FoilHoleStatus" + }, + { + "type": "null" + } + ] + }, + "uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Uuid" + }, + "x_location": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "X Location" + }, + "x_stage_position": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "X Stage Position" + }, + "y_location": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Y Location" + }, + "y_stage_position": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Y Stage Position" + } + }, + "title": "FoilHoleUpdateRequest", + "type": "object" + }, + "GridCreateRequest": { + "properties": { + "acquisition_uuid": { + "title": "Acquisition Uuid", + "type": "string" + }, + "atlas_dir": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Atlas Dir" + }, + "data_dir": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Data Dir" + }, + "name": { + "title": "Name", + "type": "string" + }, + "scan_end_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scan End Time" + }, + "scan_start_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scan Start Time" + }, + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/GridStatus" + }, + { + "type": "null" + } + ] + }, + "uuid": { + "title": "Uuid", + "type": "string" + } + }, + "required": [ + "uuid", + "name", + "acquisition_uuid" + ], + "title": "GridCreateRequest", + "type": "object" + }, + "GridResponse": { + "properties": { + "acquisition_uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Acquisition Uuid" + }, + "atlas_dir": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Atlas Dir" + }, + "data_dir": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Data Dir" + }, + "name": { + "title": "Name", + "type": "string" + }, + "scan_end_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scan End Time" + }, + "scan_start_time": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Scan Start Time" + }, + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/GridStatus" + }, + { + "type": "null" + } + ] + }, + "uuid": { + "title": "Uuid", + "type": "string" + } + }, + "required": [ + "uuid", + "acquisition_uuid", + "status", + "name", + "data_dir", + "atlas_dir", + "scan_start_time", + "scan_end_time" + ], + "title": "GridResponse", + "type": "object" + }, + "GridSquare": { + "properties": { + "acquisition_datetime": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Acquisition Datetime" + }, + "applied_defocus": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Applied Defocus" + }, + "atlas_node_id": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Atlas Node Id" + }, + "center_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Center X" + }, + "center_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Center Y" + }, + "data_dir": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Data Dir" + }, + "defocus": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Defocus" + }, + "detector_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Detector Name" + }, + "grid_uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Grid Uuid" + }, + "gridsquare_id": { + "default": "", + "title": "Gridsquare Id", + "type": "string" + }, + "image_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Image Path" + }, + "magnification": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Magnification" + }, + "physical_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Physical X" + }, + "physical_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Physical Y" + }, + "pixel_size": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Pixel Size" + }, + "rotation": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Rotation" + }, + "selected": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Selected" + }, + "size_height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Size Height" + }, + "size_width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Size Width" + }, + "stage_position_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Stage Position X" + }, + "stage_position_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Stage Position Y" + }, + "stage_position_z": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Stage Position Z" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "State" + }, + "status": { + "$ref": "#/components/schemas/GridSquareStatus", + "default": "none" + }, + "unusable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Unusable" + }, + "uuid": { + "title": "Uuid", + "type": "string" + } + }, + "required": [ + "uuid" + ], + "title": "GridSquare", + "type": "object" + }, + "GridSquareBatchCreateRequest": { + "properties": { + "gridsquares": { + "items": { + "$ref": "#/components/schemas/GridSquareCreateRequest" + }, + "title": "Gridsquares", + "type": "array" + } + }, + "required": [ + "gridsquares" + ], + "title": "GridSquareBatchCreateRequest", + "type": "object" + }, + "GridSquareBatchCreateResponse": { + "description": "Response for bulk grid-square creation.", + "properties": { + "gridsquares": { + "items": { + "$ref": "#/components/schemas/GridSquareResponse" + }, + "title": "Gridsquares", + "type": "array" + } + }, + "required": [ + "gridsquares" + ], + "title": "GridSquareBatchCreateResponse", + "type": "object" + }, + "GridSquareCreateRequest": { + "properties": { + "acquisition_datetime": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Acquisition Datetime" + }, + "applied_defocus": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Applied Defocus" + }, + "atlas_node_id": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Atlas Node Id" + }, + "center_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Center X" + }, + "center_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Center Y" + }, + "data_dir": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Data Dir" + }, + "defocus": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Defocus" + }, + "detector_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Detector Name" + }, + "grid_uuid": { + "title": "Grid Uuid", + "type": "string" + }, + "gridsquare_id": { + "title": "Gridsquare Id", + "type": "string" + }, + "image_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Image Path" + }, + "lowmag": { + "default": false, + "title": "Lowmag", + "type": "boolean" + }, + "magnification": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Magnification" + }, + "physical_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Physical X" + }, + "physical_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Physical Y" + }, + "pixel_size": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Pixel Size" + }, + "rotation": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Rotation" + }, + "selected": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Selected" + }, + "size_height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Size Height" + }, + "size_width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Size Width" + }, + "stage_position_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Stage Position X" + }, + "stage_position_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Stage Position Y" + }, + "stage_position_z": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Stage Position Z" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "State" + }, + "status": { + "anyOf": [ + { + "$ref": "#/components/schemas/GridSquareStatus" + }, + { + "type": "null" + } + ] + }, + "unusable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Unusable" + }, + "uuid": { + "title": "Uuid", + "type": "string" } + }, + "required": [ + "uuid", + "gridsquare_id", + "grid_uuid" ], - "responses": { - "200": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MicrographResponse" - }, - "title": "Response Get Foilhole Micrographs Foilholes Foilhole Uuid Micrographs Get" - } + "title": "GridSquareCreateRequest", + "type": "object" + }, + "GridSquarePositionRequest": { + "properties": { + "center_x": { + "title": "Center X", + "type": "integer" + }, + "center_y": { + "title": "Center Y", + "type": "integer" + }, + "gridsquare_uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Gridsquare Uuid" + }, + "size_height": { + "title": "Size Height", + "type": "integer" + }, + "size_width": { + "title": "Size Width", + "type": "integer" + } + }, + "required": [ + "center_x", + "center_y", + "size_width", + "size_height" + ], + "title": "GridSquarePositionRequest", + "type": "object" + }, + "GridSquareResponse": { + "properties": { + "acquisition_datetime": { + "anyOf": [ + { + "format": "date-time", + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Acquisition Datetime" + }, + "applied_defocus": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Applied Defocus" + }, + "atlas_node_id": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Atlas Node Id" + }, + "center_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Center X" + }, + "center_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Center Y" + }, + "data_dir": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Data Dir" + }, + "defocus": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Defocus" + }, + "detector_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Detector Name" + }, + "grid_uuid": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Grid Uuid" + }, + "gridsquare_id": { + "title": "Gridsquare Id", + "type": "string" + }, + "image_path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Image Path" + }, + "magnification": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Magnification" + }, + "physical_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Physical X" + }, + "physical_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Physical Y" + }, + "pixel_size": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Pixel Size" + }, + "rotation": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Rotation" + }, + "selected": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Selected" + }, + "size_height": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Size Height" + }, + "size_width": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" } - } + ], + "title": "Size Width" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - } - } - } - }, - "post": { - "summary": "Create Foilhole Micrograph", - "description": "Create a new micrograph for a specific foil hole", - "operationId": "create_foilhole_micrograph_foilholes__foilhole_uuid__micrographs_post", - "parameters": [ - { - "name": "foilhole_uuid", - "in": "path", - "required": true, - "schema": { - "type": "string", - "title": "Foilhole Uuid" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MicrographCreateRequest" + "stage_position_x": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } - } - }, - "responses": { - "201": { - "description": "Successful Response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MicrographResponse" - } + ], + "title": "Stage Position X" + }, + "stage_position_y": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } + ], + "title": "Stage Position Y" }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } + "stage_position_z": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" } - } - } - } - } - } - }, - "components": { - "schemas": { - "AcquisitionCreateRequest": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" + ], + "title": "Stage Position Z" }, - "name": { + "state": { "anyOf": [ { "type": "string" @@ -1778,88 +2760,134 @@ "type": "null" } ], - "title": "Name" + "title": "State" }, "status": { "anyOf": [ { - "$ref": "#/components/schemas/AcquisitionStatus" + "$ref": "#/components/schemas/GridSquareStatus" }, { "type": "null" } ] }, - "start_time": { + "unusable": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "boolean" }, { "type": "null" } ], - "title": "Start Time" + "title": "Unusable" }, - "end_time": { + "uuid": { + "title": "Uuid", + "type": "string" + } + }, + "required": [ + "uuid", + "gridsquare_id", + "grid_uuid", + "status", + "data_dir", + "atlas_node_id", + "state", + "rotation", + "image_path", + "selected", + "unusable", + "stage_position_x", + "stage_position_y", + "stage_position_z", + "center_x", + "center_y", + "physical_x", + "physical_y", + "size_width", + "size_height", + "acquisition_datetime", + "defocus", + "magnification", + "pixel_size", + "detector_name", + "applied_defocus" + ], + "title": "GridSquareResponse", + "type": "object" + }, + "GridSquareStatus": { + "enum": [ + "none", + "all foil holes registered", + "foil holes decision started", + "foil holes decision completed" + ], + "title": "GridSquareStatus", + "type": "string" + }, + "GridSquareUpdateRequest": { + "properties": { + "acquisition_datetime": { "anyOf": [ { - "type": "string", - "format": "date-time" + "format": "date-time", + "type": "string" }, { "type": "null" } ], - "title": "End Time" + "title": "Acquisition Datetime" }, - "paused_time": { + "applied_defocus": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "number" }, { "type": "null" } ], - "title": "Paused Time" + "title": "Applied Defocus" }, - "storage_path": { + "atlas_node_id": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Storage Path" + "title": "Atlas Node Id" }, - "atlas_path": { + "center_x": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Atlas Path" + "title": "Center X" }, - "clustering_mode": { + "center_y": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Clustering Mode" + "title": "Center Y" }, - "clustering_radius": { + "data_dir": { "anyOf": [ { "type": "string" @@ -1868,20 +2896,20 @@ "type": "null" } ], - "title": "Clustering Radius" + "title": "Data Dir" }, - "instrument_model": { + "defocus": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Instrument Model" + "title": "Defocus" }, - "instrument_id": { + "detector_name": { "anyOf": [ { "type": "string" @@ -1890,9 +2918,9 @@ "type": "null" } ], - "title": "Instrument Id" + "title": "Detector Name" }, - "computer_name": { + "grid_uuid": { "anyOf": [ { "type": "string" @@ -1901,192 +2929,157 @@ "type": "null" } ], - "title": "Computer Name" - } - }, - "type": "object", - "required": [ - "uuid" - ], - "title": "AcquisitionCreateRequest" - }, - "AcquisitionResponse": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" + "title": "Grid Uuid" }, - "name": { - "type": "string", - "title": "Name" + "gridsquare_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Gridsquare Id" }, - "status": { + "image_path": { "anyOf": [ { - "$ref": "#/components/schemas/AcquisitionStatus" + "type": "string" }, { "type": "null" } - ] + ], + "title": "Image Path" }, - "start_time": { + "lowmag": { + "default": false, + "title": "Lowmag", + "type": "boolean" + }, + "magnification": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "number" }, { "type": "null" } ], - "title": "Start Time" + "title": "Magnification" }, - "end_time": { + "physical_x": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "number" }, { "type": "null" } ], - "title": "End Time" + "title": "Physical X" }, - "paused_time": { + "physical_y": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "number" }, { "type": "null" } ], - "title": "Paused Time" + "title": "Physical Y" }, - "storage_path": { + "pixel_size": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Storage Path" + "title": "Pixel Size" }, - "atlas_path": { + "rotation": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Atlas Path" + "title": "Rotation" }, - "clustering_mode": { + "selected": { "anyOf": [ { - "type": "string" + "type": "boolean" }, { "type": "null" } ], - "title": "Clustering Mode" + "title": "Selected" }, - "clustering_radius": { + "size_height": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Clustering Radius" + "title": "Size Height" }, - "instrument_model": { + "size_width": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Instrument Model" + "title": "Size Width" }, - "instrument_id": { + "stage_position_x": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Instrument Id" + "title": "Stage Position X" }, - "computer_name": { + "stage_position_y": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Computer Name" - } - }, - "type": "object", - "required": [ - "uuid", - "name", - "status", - "start_time", - "end_time", - "paused_time", - "storage_path", - "atlas_path", - "clustering_mode", - "clustering_radius", - "instrument_model", - "instrument_id", - "computer_name" - ], - "title": "AcquisitionResponse" - }, - "AcquisitionStatus": { - "type": "string", - "enum": [ - "planned", - "started", - "completed", - "paused", - "abandoned" - ], - "title": "AcquisitionStatus" - }, - "AcquisitionUpdateRequest": { - "properties": { - "uuid": { + "title": "Stage Position Y" + }, + "stage_position_z": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Uuid" + "title": "Stage Position Z" }, - "name": { + "state": { "anyOf": [ { "type": "string" @@ -2095,55 +3088,69 @@ "type": "null" } ], - "title": "Name" + "title": "State" }, "status": { "anyOf": [ { - "$ref": "#/components/schemas/AcquisitionStatus" + "$ref": "#/components/schemas/GridSquareStatus" }, { "type": "null" } ] }, - "start_time": { + "unusable": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "boolean" }, { "type": "null" } ], - "title": "Start Time" + "title": "Unusable" }, - "end_time": { + "uuid": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "End Time" - }, - "paused_time": { + "title": "Uuid" + } + }, + "title": "GridSquareUpdateRequest", + "type": "object" + }, + "GridStatus": { + "enum": [ + "none", + "scan started", + "scan completed", + "grid squares decision started", + "grid squares decision completed" + ], + "title": "GridStatus", + "type": "string" + }, + "GridUpdateRequest": { + "properties": { + "acquisition_uuid": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "Paused Time" + "title": "Acquisition Uuid" }, - "storage_path": { + "atlas_dir": { "anyOf": [ { "type": "string" @@ -2152,9 +3159,9 @@ "type": "null" } ], - "title": "Storage Path" + "title": "Atlas Dir" }, - "atlas_path": { + "data_dir": { "anyOf": [ { "type": "string" @@ -2163,9 +3170,9 @@ "type": "null" } ], - "title": "Atlas Path" + "title": "Data Dir" }, - "clustering_mode": { + "name": { "anyOf": [ { "type": "string" @@ -2174,42 +3181,43 @@ "type": "null" } ], - "title": "Clustering Mode" + "title": "Name" }, - "clustering_radius": { + "scan_end_time": { "anyOf": [ { + "format": "date-time", "type": "string" }, { "type": "null" } ], - "title": "Clustering Radius" + "title": "Scan End Time" }, - "instrument_model": { + "scan_start_time": { "anyOf": [ { + "format": "date-time", "type": "string" }, { "type": "null" } ], - "title": "Instrument Model" + "title": "Scan Start Time" }, - "instrument_id": { + "status": { "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/GridStatus" }, { "type": "null" } - ], - "title": "Instrument Id" + ] }, - "computer_name": { + "uuid": { "anyOf": [ { "type": "string" @@ -2218,132 +3226,149 @@ "type": "null" } ], - "title": "Computer Name" + "title": "Uuid" } }, - "type": "object", - "title": "AcquisitionUpdateRequest" + "title": "GridUpdateRequest", + "type": "object" }, - "AtlasCreateRequest": { + "HTTPValidationError": { "properties": { - "uuid": { - "type": "string", - "title": "Uuid" + "detail": { + "items": { + "$ref": "#/components/schemas/ValidationError" + }, + "title": "Detail", + "type": "array" + } + }, + "title": "HTTPValidationError", + "type": "object" + }, + "LatentRepresentationResponse": { + "properties": { + "foilhole_uuid": { + "default": "", + "title": "Foilhole Uuid", + "type": "string" }, - "atlas_id": { + "gridsquare_uuid": { + "default": "", + "title": "Gridsquare Uuid", + "type": "string" + }, + "index": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Atlas Id" + "title": "Index" }, - "grid_uuid": { - "type": "string", - "title": "Grid Uuid" - }, - "acquisition_date": { + "x": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "number" }, { "type": "null" } ], - "title": "Acquisition Date" + "title": "X" }, - "storage_folder": { + "y": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Storage Folder" - }, - "description": { + "title": "Y" + } + }, + "required": [ + "x", + "y", + "index" + ], + "title": "LatentRepresentationResponse", + "type": "object" + }, + "MicrographCreateRequest": { + "properties": { + "acquisition_datetime": { "anyOf": [ { + "format": "date-time", "type": "string" }, { "type": "null" } ], - "title": "Description" - }, - "name": { - "type": "string", - "title": "Name" + "title": "Acquisition Datetime" }, - "tiles": { + "average_motion": { "anyOf": [ { - "items": { - "$ref": "#/components/schemas/AtlasTileCreateRequest" - }, - "type": "array" + "type": "number" }, { "type": "null" } ], - "title": "Tiles" - } - }, - "type": "object", - "required": [ - "uuid", - "grid_uuid", - "name" - ], - "title": "AtlasCreateRequest" - }, - "AtlasResponse": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" + "title": "Average Motion" }, - "grid_uuid": { - "type": "string", - "title": "Grid Uuid" + "binning_x": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Binning X" }, - "atlas_id": { - "type": "string", - "title": "Atlas Id" + "binning_y": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Binning Y" }, - "acquisition_date": { + "ctf_max_resolution_estimate": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "number" }, { "type": "null" } ], - "title": "Acquisition Date" + "title": "Ctf Max Resolution Estimate" }, - "storage_folder": { + "defocus": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Storage Folder" + "title": "Defocus" }, - "description": { + "detector_name": { "anyOf": [ { "type": "string" @@ -2352,47 +3377,24 @@ "type": "null" } ], - "title": "Description" - }, - "name": { - "type": "string", - "title": "Name" + "title": "Detector Name" }, - "tiles": { + "energy_filter": { "anyOf": [ { - "items": { - "$ref": "#/components/schemas/AtlasTileResponse" - }, - "type": "array" + "type": "boolean" }, { "type": "null" } ], - "title": "Tiles", - "default": [] - } - }, - "type": "object", - "required": [ - "uuid", - "grid_uuid", - "atlas_id", - "acquisition_date", - "storage_folder", - "description", - "name" - ], - "title": "AtlasResponse" - }, - "AtlasTileCreateRequest": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" + "title": "Energy Filter" }, - "tile_id": { + "foilhole_id": { + "title": "Foilhole Id", + "type": "string" + }, + "foilhole_uuid": { "anyOf": [ { "type": "string" @@ -2401,20 +3403,20 @@ "type": "null" } ], - "title": "Tile Id" + "title": "Foilhole Uuid" }, - "position_x": { + "high_res_path": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Position X" + "title": "High Res Path" }, - "position_y": { + "image_size_x": { "anyOf": [ { "type": "integer" @@ -2423,9 +3425,9 @@ "type": "null" } ], - "title": "Position Y" + "title": "Image Size X" }, - "size_x": { + "image_size_y": { "anyOf": [ { "type": "integer" @@ -2434,20 +3436,20 @@ "type": "null" } ], - "title": "Size X" + "title": "Image Size Y" }, - "size_y": { + "location_id": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Size Y" + "title": "Location Id" }, - "file_format": { + "manifest_file": { "anyOf": [ { "type": "string" @@ -2456,84 +3458,20 @@ "type": "null" } ], - "title": "File Format" + "title": "Manifest File" }, - "base_filename": { + "number_of_particles_picked": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Base Filename" - }, - "atlas_uuid": { - "type": "string", - "title": "Atlas Uuid" - } - }, - "type": "object", - "required": [ - "uuid", - "atlas_uuid" - ], - "title": "AtlasTileCreateRequest" - }, - "AtlasTileGridSquarePositionResponse": { - "properties": { - "atlastile_uuid": { - "type": "string", - "title": "Atlastile Uuid" - }, - "gridsquare_uuid": { - "type": "string", - "title": "Gridsquare Uuid" - }, - "center_x": { - "type": "integer", - "title": "Center X" - }, - "center_y": { - "type": "integer", - "title": "Center Y" - }, - "size_width": { - "type": "integer", - "title": "Size Width" - }, - "size_height": { - "type": "integer", - "title": "Size Height" - } - }, - "type": "object", - "required": [ - "atlastile_uuid", - "gridsquare_uuid", - "center_x", - "center_y", - "size_width", - "size_height" - ], - "title": "AtlasTileGridSquarePositionResponse" - }, - "AtlasTileResponse": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" - }, - "atlas_uuid": { - "type": "string", - "title": "Atlas Uuid" - }, - "tile_id": { - "type": "string", - "title": "Tile Id" + "title": "Number Of Particles Picked" }, - "position_x": { + "number_of_particles_rejected": { "anyOf": [ { "type": "integer" @@ -2542,9 +3480,9 @@ "type": "null" } ], - "title": "Position X" + "title": "Number Of Particles Rejected" }, - "position_y": { + "number_of_particles_selected": { "anyOf": [ { "type": "integer" @@ -2553,31 +3491,31 @@ "type": "null" } ], - "title": "Position Y" + "title": "Number Of Particles Selected" }, - "size_x": { + "phase_plate": { "anyOf": [ { - "type": "integer" + "type": "boolean" }, { "type": "null" } ], - "title": "Size X" + "title": "Phase Plate" }, - "size_y": { + "pick_distribution": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Size Y" + "title": "Pick Distribution" }, - "file_format": { + "selection_distribution": { "anyOf": [ { "type": "string" @@ -2586,59 +3524,61 @@ "type": "null" } ], - "title": "File Format" + "title": "Selection Distribution" }, - "base_filename": { + "status": { + "$ref": "#/components/schemas/MicrographStatus", + "default": "none" + }, + "total_motion": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Base Filename" + "title": "Total Motion" + }, + "uuid": { + "title": "Uuid", + "type": "string" } }, - "type": "object", "required": [ "uuid", - "atlas_uuid", - "tile_id", - "position_x", - "position_y", - "size_x", - "size_y", - "file_format", - "base_filename" + "foilhole_id" ], - "title": "AtlasTileResponse" + "title": "MicrographCreateRequest", + "type": "object" }, - "AtlasTileUpdateRequest": { + "MicrographResponse": { "properties": { - "uuid": { + "acquisition_datetime": { "anyOf": [ { + "format": "date-time", "type": "string" }, { "type": "null" } ], - "title": "Uuid" + "title": "Acquisition Datetime" }, - "tile_id": { + "average_motion": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Tile Id" + "title": "Average Motion" }, - "position_x": { + "binning_x": { "anyOf": [ { "type": "integer" @@ -2647,9 +3587,9 @@ "type": "null" } ], - "title": "Position X" + "title": "Binning X" }, - "position_y": { + "binning_y": { "anyOf": [ { "type": "integer" @@ -2658,31 +3598,31 @@ "type": "null" } ], - "title": "Position Y" + "title": "Binning Y" }, - "size_x": { + "ctf_max_resolution_estimate": { "anyOf": [ { - "type": "integer" + "type": "number" }, { "type": "null" } ], - "title": "Size X" + "title": "Ctf Max Resolution Estimate" }, - "size_y": { + "defocus": { "anyOf": [ { - "type": "integer" + "type": "number" }, { "type": "null" } ], - "title": "Size Y" + "title": "Defocus" }, - "file_format": { + "detector_name": { "anyOf": [ { "type": "string" @@ -2691,20 +3631,20 @@ "type": "null" } ], - "title": "File Format" + "title": "Detector Name" }, - "base_filename": { + "energy_filter": { "anyOf": [ { - "type": "string" + "type": "boolean" }, { "type": "null" } ], - "title": "Base Filename" + "title": "Energy Filter" }, - "atlas_uuid": { + "foilhole_id": { "anyOf": [ { "type": "string" @@ -2713,15 +3653,13 @@ "type": "null" } ], - "title": "Atlas Uuid" - } - }, - "type": "object", - "title": "AtlasTileUpdateRequest" - }, - "AtlasUpdateRequest": { - "properties": { - "uuid": { + "title": "Foilhole Id" + }, + "foilhole_uuid": { + "title": "Foilhole Uuid", + "type": "string" + }, + "high_res_path": { "anyOf": [ { "type": "string" @@ -2730,43 +3668,42 @@ "type": "null" } ], - "title": "Uuid" + "title": "High Res Path" }, - "atlas_id": { + "image_size_x": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Atlas Id" + "title": "Image Size X" }, - "grid_uuid": { + "image_size_y": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Grid Uuid" + "title": "Image Size Y" }, - "acquisition_date": { + "location_id": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "Acquisition Date" + "title": "Location Id" }, - "storage_folder": { + "manifest_file": { "anyOf": [ { "type": "string" @@ -2775,9 +3712,9 @@ "type": "null" } ], - "title": "Storage Folder" + "title": "Manifest File" }, - "description": { + "micrograph_id": { "anyOf": [ { "type": "string" @@ -2786,75 +3723,78 @@ "type": "null" } ], - "title": "Description" + "title": "Micrograph Id" }, - "name": { + "number_of_particles_picked": { "anyOf": [ { - "type": "string" + "type": "integer" }, { "type": "null" } ], - "title": "Name" - } - }, - "type": "object", - "title": "AtlasUpdateRequest" - }, - "FoilHoleCreateRequest": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" - }, - "foilhole_id": { - "type": "string", - "title": "Foilhole Id" + "title": "Number Of Particles Picked" }, - "gridsquare_id": { - "type": "string", - "title": "Gridsquare Id" + "number_of_particles_rejected": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Number Of Particles Rejected" }, - "gridsquare_uuid": { - "type": "string", - "title": "Gridsquare Uuid" + "number_of_particles_selected": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Number Of Particles Selected" }, - "center_x": { + "phase_plate": { "anyOf": [ { - "type": "number" + "type": "boolean" }, { "type": "null" } ], - "title": "Center X" + "title": "Phase Plate" }, - "center_y": { + "pick_distribution": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Center Y" + "title": "Pick Distribution" }, - "quality": { + "selection_distribution": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Quality" + "title": "Selection Distribution" }, - "rotation": { + "status": { + "$ref": "#/components/schemas/MicrographStatus" + }, + "total_motion": { "anyOf": [ { "type": "number" @@ -2863,20 +3803,51 @@ "type": "null" } ], - "title": "Rotation" + "title": "Total Motion" }, - "size_width": { + "uuid": { + "title": "Uuid", + "type": "string" + } + }, + "required": [ + "uuid", + "foilhole_uuid", + "status" + ], + "title": "MicrographResponse", + "type": "object" + }, + "MicrographStatus": { + "enum": [ + "none", + "motion correction started", + "motion correction completed", + "ctf started", + "ctf completed", + "particle picking started", + "particle picking completed", + "particle selection started", + "particle selection completed" + ], + "title": "MicrographStatus", + "type": "string" + }, + "MicrographUpdateRequest": { + "properties": { + "acquisition_datetime": { "anyOf": [ { - "type": "number" + "format": "date-time", + "type": "string" }, { "type": "null" } ], - "title": "Size Width" + "title": "Acquisition Datetime" }, - "size_height": { + "average_motion": { "anyOf": [ { "type": "number" @@ -2885,9 +3856,9 @@ "type": "null" } ], - "title": "Size Height" + "title": "Average Motion" }, - "x_location": { + "binning_x": { "anyOf": [ { "type": "integer" @@ -2896,9 +3867,9 @@ "type": "null" } ], - "title": "X Location" + "title": "Binning X" }, - "y_location": { + "binning_y": { "anyOf": [ { "type": "integer" @@ -2907,9 +3878,9 @@ "type": "null" } ], - "title": "Y Location" + "title": "Binning Y" }, - "x_stage_position": { + "ctf_max_resolution_estimate": { "anyOf": [ { "type": "number" @@ -2918,9 +3889,9 @@ "type": "null" } ], - "title": "X Stage Position" + "title": "Ctf Max Resolution Estimate" }, - "y_stage_position": { + "defocus": { "anyOf": [ { "type": "number" @@ -2929,51 +3900,31 @@ "type": "null" } ], - "title": "Y Stage Position" + "title": "Defocus" }, - "diameter": { + "detector_name": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Diameter" - }, - "is_near_grid_bar": { - "type": "boolean", - "title": "Is Near Grid Bar", - "default": false + "title": "Detector Name" }, - "status": { + "energy_filter": { "anyOf": [ { - "$ref": "#/components/schemas/FoilHoleStatus" + "type": "boolean" }, { "type": "null" } - ] - } - }, - "type": "object", - "required": [ - "uuid", - "foilhole_id", - "gridsquare_id", - "gridsquare_uuid" - ], - "title": "FoilHoleCreateRequest" - }, - "FoilHoleResponse": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" + ], + "title": "Energy Filter" }, - "gridsquare_id": { + "foilhole_id": { "anyOf": [ { "type": "string" @@ -2982,82 +3933,75 @@ "type": "null" } ], - "title": "Gridsquare Id" - }, - "foilhole_id": { - "type": "string", "title": "Foilhole Id" }, - "status": { - "$ref": "#/components/schemas/FoilHoleStatus" - }, - "center_x": { + "foilhole_uuid": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Center X" + "title": "Foilhole Uuid" }, - "center_y": { + "high_res_path": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Center Y" + "title": "High Res Path" }, - "quality": { + "image_size_x": { "anyOf": [ { - "type": "number" + "type": "integer" }, { "type": "null" } ], - "title": "Quality" + "title": "Image Size X" }, - "rotation": { + "image_size_y": { "anyOf": [ { - "type": "number" + "type": "integer" }, { "type": "null" } ], - "title": "Rotation" + "title": "Image Size Y" }, - "size_width": { + "location_id": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Size Width" + "title": "Location Id" }, - "size_height": { + "manifest_file": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Size Height" + "title": "Manifest File" }, - "x_location": { + "number_of_particles_picked": { "anyOf": [ { "type": "integer" @@ -3066,9 +4010,9 @@ "type": "null" } ], - "title": "X Location" + "title": "Number Of Particles Picked" }, - "y_location": { + "number_of_particles_rejected": { "anyOf": [ { "type": "integer" @@ -3077,78 +4021,42 @@ "type": "null" } ], - "title": "Y Location" + "title": "Number Of Particles Rejected" }, - "x_stage_position": { + "number_of_particles_selected": { "anyOf": [ { - "type": "number" + "type": "integer" }, { "type": "null" } ], - "title": "X Stage Position" + "title": "Number Of Particles Selected" }, - "y_stage_position": { + "phase_plate": { "anyOf": [ { - "type": "number" + "type": "boolean" }, { "type": "null" } ], - "title": "Y Stage Position" + "title": "Phase Plate" }, - "diameter": { + "pick_distribution": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Diameter" + "title": "Pick Distribution" }, - "is_near_grid_bar": { - "type": "boolean", - "title": "Is Near Grid Bar" - } - }, - "type": "object", - "required": [ - "uuid", - "gridsquare_id", - "foilhole_id", - "status", - "center_x", - "center_y", - "quality", - "rotation", - "size_width", - "size_height", - "x_location", - "y_location", - "x_stage_position", - "y_stage_position", - "diameter", - "is_near_grid_bar" - ], - "title": "FoilHoleResponse" - }, - "FoilHoleStatus": { - "type": "string", - "enum": [ - "none", - "micrographs detected" - ], - "title": "FoilHoleStatus" - }, - "FoilHoleUpdateRequest": { - "properties": { - "uuid": { + "selection_distribution": { "anyOf": [ { "type": "string" @@ -3157,20 +4065,24 @@ "type": "null" } ], - "title": "Uuid" + "title": "Selection Distribution" }, - "foilhole_id": { + "status": { + "$ref": "#/components/schemas/MicrographStatus", + "default": "none" + }, + "total_motion": { "anyOf": [ { - "type": "string" + "type": "number" }, { "type": "null" } ], - "title": "Foilhole Id" + "title": "Total Motion" }, - "gridsquare_id": { + "uuid": { "anyOf": [ { "type": "string" @@ -3179,9 +4091,33 @@ "type": "null" } ], - "title": "Gridsquare Id" + "title": "Uuid" + } + }, + "title": "MicrographUpdateRequest", + "type": "object" + }, + "MotionCorrectionCompletedRequest": { + "properties": { + "average_motion": { + "title": "Average Motion", + "type": "number" }, - "gridsquare_uuid": { + "total_motion": { + "title": "Total Motion", + "type": "number" + } + }, + "required": [ + "total_motion", + "average_motion" + ], + "title": "MotionCorrectionCompletedRequest", + "type": "object" + }, + "MotionCorrectionRegisteredRequest": { + "properties": { + "metric_name": { "anyOf": [ { "type": "string" @@ -3190,31 +4126,80 @@ "type": "null" } ], - "title": "Gridsquare Uuid" + "title": "Metric Name" }, - "center_x": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "title": "Center X" + "quality": { + "title": "Quality", + "type": "boolean" + } + }, + "required": [ + "quality" + ], + "title": "MotionCorrectionRegisteredRequest", + "type": "object" + }, + "OverallQualityPrediction": { + "properties": { + "foilhole_uuid": { + "title": "Foilhole Uuid", + "type": "string" }, - "center_y": { + "grid_uuid": { + "title": "Grid Uuid", + "type": "string" + }, + "gridsquare_uuid": { + "title": "Gridsquare Uuid", + "type": "string" + }, + "id": { "anyOf": [ { - "type": "number" + "type": "integer" }, { "type": "null" } ], - "title": "Center Y" + "title": "Id" }, - "quality": { + "suggested_acquisition_index": { + "title": "Suggested Acquisition Index", + "type": "integer" + }, + "value": { + "title": "Value", + "type": "number" + } + }, + "required": [ + "value", + "suggested_acquisition_index", + "foilhole_uuid", + "grid_uuid", + "gridsquare_uuid" + ], + "title": "OverallQualityPrediction", + "type": "object" + }, + "ProcessingFeedbackPublishResponse": { + "description": "Confirmation that a processing-feedback event was published to RabbitMQ.", + "properties": { + "published": { + "title": "Published", + "type": "boolean" + } + }, + "required": [ + "published" + ], + "title": "ProcessingFeedbackPublishResponse", + "type": "object" + }, + "QualityMetricsResponse": { + "properties": { + "average_quality": { "anyOf": [ { "type": "number" @@ -3223,9 +4208,9 @@ "type": "null" } ], - "title": "Quality" + "title": "Average Quality" }, - "rotation": { + "max_quality": { "anyOf": [ { "type": "number" @@ -3234,9 +4219,9 @@ "type": "null" } ], - "title": "Rotation" + "title": "Max Quality" }, - "size_width": { + "min_quality": { "anyOf": [ { "type": "number" @@ -3245,31 +4230,52 @@ "type": "null" } ], - "title": "Size Width" + "title": "Min Quality" }, - "size_height": { + "models_count": { + "title": "Models Count", + "type": "integer" + }, + "total_predictions": { + "title": "Total Predictions", + "type": "integer" + } + }, + "required": [ + "total_predictions", + "average_quality", + "min_quality", + "max_quality", + "models_count" + ], + "title": "QualityMetricsResponse", + "type": "object" + }, + "QualityPrediction": { + "properties": { + "foilhole_uuid": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Size Height" + "title": "Foilhole Uuid" }, - "x_location": { + "gridsquare_uuid": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "X Location" + "title": "Gridsquare Uuid" }, - "y_location": { + "id": { "anyOf": [ { "type": "integer" @@ -3278,85 +4284,195 @@ "type": "null" } ], - "title": "Y Location" + "title": "Id" }, - "x_stage_position": { + "metric_name": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "X Stage Position" + "title": "Metric Name" }, - "y_stage_position": { + "prediction_model_name": { + "title": "Prediction Model Name", + "type": "string" + }, + "timestamp": { + "format": "date-time", + "title": "Timestamp", + "type": "string" + }, + "value": { + "title": "Value", + "type": "number" + } + }, + "required": [ + "value", + "prediction_model_name" + ], + "title": "QualityPrediction", + "type": "object" + }, + "QualityPredictionCreateRequest": { + "properties": { + "foilhole_uuid": { "anyOf": [ { - "type": "number" + "type": "string" }, { "type": "null" } ], - "title": "Y Stage Position" + "title": "Foilhole Uuid" }, - "diameter": { + "gridsquare_uuid": { "anyOf": [ { - "type": "integer" + "type": "string" }, { "type": "null" } ], - "title": "Diameter" + "title": "Gridsquare Uuid" }, - "is_near_grid_bar": { - "type": "boolean", - "title": "Is Near Grid Bar", - "default": false + "prediction_model_name": { + "title": "Prediction Model Name", + "type": "string" }, - "status": { + "value": { + "title": "Value", + "type": "number" + } + }, + "required": [ + "value", + "prediction_model_name" + ], + "title": "QualityPredictionCreateRequest", + "type": "object" + }, + "QualityPredictionModelCreateRequest": { + "properties": { + "description": { + "default": "", + "title": "Description", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "QualityPredictionModelCreateRequest", + "type": "object" + }, + "QualityPredictionModelParameterResponse": { + "properties": { + "grid_uuid": { + "title": "Grid Uuid", + "type": "string" + }, + "group": { + "title": "Group", + "type": "string" + }, + "id": { + "title": "Id", + "type": "integer" + }, + "key": { + "title": "Key", + "type": "string" + }, + "prediction_model_name": { + "title": "Prediction Model Name", + "type": "string" + }, + "timestamp": { + "format": "date-time", + "title": "Timestamp", + "type": "string" + }, + "value": { + "title": "Value", + "type": "number" + } + }, + "required": [ + "id", + "grid_uuid", + "timestamp", + "prediction_model_name", + "key", + "value", + "group" + ], + "title": "QualityPredictionModelParameterResponse", + "type": "object" + }, + "QualityPredictionModelResponse": { + "properties": { + "description": { + "title": "Description", + "type": "string" + }, + "name": { + "title": "Name", + "type": "string" + } + }, + "required": [ + "name", + "description" + ], + "title": "QualityPredictionModelResponse", + "type": "object" + }, + "QualityPredictionModelUpdateRequest": { + "properties": { + "description": { "anyOf": [ { - "$ref": "#/components/schemas/FoilHoleStatus" + "type": "string" }, { "type": "null" } - ] + ], + "title": "Description" } }, - "type": "object", - "title": "FoilHoleUpdateRequest" + "title": "QualityPredictionModelUpdateRequest", + "type": "object" }, - "GridCreateRequest": { + "QualityPredictionModelWeight": { "properties": { - "uuid": { - "type": "string", - "title": "Uuid" - }, - "name": { - "type": "string", - "title": "Name" - }, - "acquisition_uuid": { - "type": "string", - "title": "Acquisition Uuid" + "grid_uuid": { + "title": "Grid Uuid", + "type": "string" }, - "status": { + "id": { "anyOf": [ { - "$ref": "#/components/schemas/GridStatus" + "type": "integer" }, { "type": "null" } - ] + ], + "title": "Id" }, - "data_dir": { + "metric_name": { "anyOf": [ { "type": "string" @@ -3365,9 +4481,20 @@ "type": "null" } ], - "title": "Data Dir" + "title": "Metric Name" }, - "atlas_dir": { + "micrograph_quality": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "title": "Micrograph Quality" + }, + "micrograph_uuid": { "anyOf": [ { "type": "string" @@ -3376,2009 +4503,3522 @@ "type": "null" } ], - "title": "Atlas Dir" + "title": "Micrograph Uuid" }, - "scan_start_time": { + "prediction_model_name": { + "title": "Prediction Model Name", + "type": "string" + }, + "timestamp": { + "format": "date-time", + "title": "Timestamp", + "type": "string" + }, + "weight": { + "title": "Weight", + "type": "number" + } + }, + "required": [ + "grid_uuid", + "prediction_model_name", + "weight" + ], + "title": "QualityPredictionModelWeight", + "type": "object" + }, + "QualityPredictionResponse": { + "properties": { + "foilhole_uuid": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "Scan Start Time" + "title": "Foilhole Uuid" }, - "scan_end_time": { + "gridsquare_uuid": { "anyOf": [ { - "type": "string", - "format": "date-time" + "type": "string" }, { "type": "null" } ], - "title": "Scan End Time" + "title": "Gridsquare Uuid" + }, + "id": { + "title": "Id", + "type": "integer" + }, + "prediction_model_name": { + "title": "Prediction Model Name", + "type": "string" + }, + "timestamp": { + "format": "date-time", + "title": "Timestamp", + "type": "string" + }, + "value": { + "title": "Value", + "type": "number" + } + }, + "required": [ + "id", + "prediction_model_name", + "value", + "timestamp" + ], + "title": "QualityPredictionResponse", + "type": "object" + }, + "ValidationError": { + "properties": { + "loc": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "integer" + } + ] + }, + "title": "Location", + "type": "array" + }, + "msg": { + "title": "Message", + "type": "string" + }, + "type": { + "title": "Error Type", + "type": "string" + } + }, + "required": [ + "loc", + "msg", + "type" + ], + "title": "ValidationError", + "type": "object" + } + } + }, + "info": { + "description": "API for accessing and managing electron microscopy data", + "title": "SmartEM Decisions Backend API", + "version": "0.1.1rc27.dev13+g15895622a.d20260416" + }, + "openapi": "3.1.0", + "paths": { + "/acquisitions": { + "get": { + "description": "Get all acquisitions", + "operationId": "get_acquisitions_acquisitions_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/AcquisitionResponse" + }, + "title": "Response Get Acquisitions Acquisitions Get", + "type": "array" + } + } + }, + "description": "Successful Response" + } + }, + "summary": "Get Acquisitions" + }, + "post": { + "description": "Create a new acquisition", + "operationId": "create_acquisition_acquisitions_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcquisitionCreateRequest" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcquisitionResponse" + } + } + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, - "type": "object", - "required": [ - "uuid", - "name", - "acquisition_uuid" + "summary": "Create Acquisition" + } + }, + "/acquisitions/{acquisition_uuid}": { + "delete": { + "description": "Delete an acquisition", + "operationId": "delete_acquisition_acquisitions__acquisition_uuid__delete", + "parameters": [ + { + "in": "path", + "name": "acquisition_uuid", + "required": true, + "schema": { + "title": "Acquisition Uuid", + "type": "string" + } + } ], - "title": "GridCreateRequest" - }, - "GridResponse": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" + "responses": { + "204": { + "description": "Successful Response" }, - "acquisition_uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Acquisition Uuid" - }, - "status": { - "anyOf": [ - { - "$ref": "#/components/schemas/GridStatus" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Delete Acquisition" + }, + "get": { + "description": "Get a single acquisition by ID", + "operationId": "get_acquisition_acquisitions__acquisition_uuid__get", + "parameters": [ + { + "in": "path", + "name": "acquisition_uuid", + "required": true, + "schema": { + "title": "Acquisition Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcquisitionResponse" + } } - ] - }, - "name": { - "type": "string", - "title": "Name" + }, + "description": "Successful Response" }, - "data_dir": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Data Dir" - }, - "atlas_dir": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Acquisition" + }, + "put": { + "description": "Update an acquisition", + "operationId": "update_acquisition_acquisitions__acquisition_uuid__put", + "parameters": [ + { + "in": "path", + "name": "acquisition_uuid", + "required": true, + "schema": { + "title": "Acquisition Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcquisitionUpdateRequest" } - ], - "title": "Atlas Dir" + } }, - "scan_start_time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AcquisitionResponse" + } } - ], - "title": "Scan Start Time" + }, + "description": "Successful Response" }, - "scan_end_time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Scan End Time" + }, + "description": "Validation Error" } }, - "type": "object", - "required": [ - "uuid", - "acquisition_uuid", - "status", - "name", - "data_dir", - "atlas_dir", - "scan_start_time", - "scan_end_time" + "summary": "Update Acquisition" + } + }, + "/acquisitions/{acquisition_uuid}/grids": { + "get": { + "description": "Get all grids for a specific acquisition", + "operationId": "get_acquisition_grids_acquisitions__acquisition_uuid__grids_get", + "parameters": [ + { + "in": "path", + "name": "acquisition_uuid", + "required": true, + "schema": { + "title": "Acquisition Uuid", + "type": "string" + } + } ], - "title": "GridResponse" - }, - "GridSquareCreateRequest": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" - }, - "gridsquare_id": { - "type": "string", - "title": "Gridsquare Id" - }, - "grid_uuid": { - "type": "string", - "title": "Grid Uuid" - }, - "data_dir": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/GridResponse" + }, + "title": "Response Get Acquisition Grids Acquisitions Acquisition Uuid Grids Get", + "type": "array" + } } - ], - "title": "Data Dir" + }, + "description": "Successful Response" }, - "atlas_node_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Atlas Node Id" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Acquisition Grids" + }, + "post": { + "description": "Create a new grid for a specific acquisition", + "operationId": "create_acquisition_grid_acquisitions__acquisition_uuid__grids_post", + "parameters": [ + { + "in": "path", + "name": "acquisition_uuid", + "required": true, + "schema": { + "title": "Acquisition Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridCreateRequest" } - ], - "title": "State" + } }, - "rotation": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridResponse" + } } - ], - "title": "Rotation" + }, + "description": "Successful Response" }, - "image_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Image Path" + }, + "description": "Validation Error" + } + }, + "summary": "Create Acquisition Grid" + } + }, + "/agent/{agent_id}/session/{session_id}/heartbeat": { + "post": { + "description": "Agent heartbeat endpoint to update connection health status.\n\nArgs:\n agent_id: The agent identifier\n session_id: The session identifier\n db: Database session\n\nReturns:\n Heartbeat response with status and timestamp", + "operationId": "agent_heartbeat_agent__agent_id__session__session_id__heartbeat_post", + "parameters": [ + { + "in": "path", + "name": "agent_id", + "required": true, + "schema": { + "title": "Agent Id", + "type": "string" + } }, - "selected": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + { + "in": "path", + "name": "session_id", + "required": true, + "schema": { + "title": "Session Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Selected" + }, + "description": "Successful Response" }, - "unusable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Unusable" + }, + "description": "Validation Error" + } + }, + "summary": "Agent Heartbeat" + } + }, + "/agent/{agent_id}/session/{session_id}/instructions/stream": { + "get": { + "description": "SSE endpoint for streaming instructions to agents for a specific session", + "operationId": "stream_instructions_agent__agent_id__session__session_id__instructions_stream_get", + "parameters": [ + { + "in": "path", + "name": "agent_id", + "required": true, + "schema": { + "title": "Agent Id", + "type": "string" + } }, - "stage_position_x": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + { + "in": "path", + "name": "session_id", + "required": true, + "schema": { + "title": "Session Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Stage Position X" + }, + "description": "Successful Response" }, - "stage_position_y": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Stage Position Y" + }, + "description": "Validation Error" + } + }, + "summary": "Stream Instructions" + } + }, + "/agent/{agent_id}/session/{session_id}/instructions/{instruction_id}/ack": { + "post": { + "description": "HTTP endpoint for instruction acknowledgements with database persistence", + "operationId": "acknowledge_instruction_agent__agent_id__session__session_id__instructions__instruction_id__ack_post", + "parameters": [ + { + "in": "path", + "name": "agent_id", + "required": true, + "schema": { + "title": "Agent Id", + "type": "string" + } }, - "stage_position_z": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + { + "in": "path", + "name": "session_id", + "required": true, + "schema": { + "title": "Session Id", + "type": "string" + } + }, + { + "in": "path", + "name": "instruction_id", + "required": true, + "schema": { + "title": "Instruction Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentInstructionAcknowledgement" } - ], - "title": "Stage Position Z" + } }, - "center_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AgentInstructionAcknowledgementResponse" + } } - ], - "title": "Center X" + }, + "description": "Successful Response" }, - "center_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Center Y" + }, + "description": "Validation Error" + } + }, + "summary": "Acknowledge Instruction" + } + }, + "/atlas-tiles": { + "get": { + "description": "Get all atlas tiles", + "operationId": "get_atlas_tiles_atlas_tiles_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/AtlasTileResponse" + }, + "title": "Response Get Atlas Tiles Atlas Tiles Get", + "type": "array" + } + } + }, + "description": "Successful Response" + } + }, + "summary": "Get Atlas Tiles" + } + }, + "/atlas-tiles/{tile_uuid}": { + "delete": { + "description": "Delete an atlas tile by publishing to RabbitMQ", + "operationId": "delete_atlas_tile_atlas_tiles__tile_uuid__delete", + "parameters": [ + { + "in": "path", + "name": "tile_uuid", + "required": true, + "schema": { + "title": "Tile Uuid", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" }, - "physical_x": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Physical X" - }, - "physical_y": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Delete Atlas Tile" + }, + "get": { + "description": "Get a single atlas tile by ID", + "operationId": "get_atlas_tile_atlas_tiles__tile_uuid__get", + "parameters": [ + { + "in": "path", + "name": "tile_uuid", + "required": true, + "schema": { + "title": "Tile Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasTileResponse" + } } - ], - "title": "Physical Y" + }, + "description": "Successful Response" }, - "size_width": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Size Width" - }, - "size_height": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Atlas Tile" + }, + "put": { + "description": "Update an atlas tile", + "operationId": "update_atlas_tile_atlas_tiles__tile_uuid__put", + "parameters": [ + { + "in": "path", + "name": "tile_uuid", + "required": true, + "schema": { + "title": "Tile Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasTileUpdateRequest" } - ], - "title": "Size Height" + } }, - "acquisition_datetime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasTileResponse" + } } - ], - "title": "Acquisition Datetime" + }, + "description": "Successful Response" }, - "defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Defocus" - }, - "magnification": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Update Atlas Tile" + } + }, + "/atlas-tiles/{tile_uuid}/gridsquares": { + "post": { + "description": "Connect mutliple grid squares to a tile with its position information", + "operationId": "link_atlas_tile_to_gridsquares_atlas_tiles__tile_uuid__gridsquares_post", + "parameters": [ + { + "in": "path", + "name": "tile_uuid", + "required": true, + "schema": { + "title": "Tile Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/GridSquarePositionRequest" + }, + "title": "Gridsquare Positions", + "type": "array" } - ], - "title": "Magnification" + } }, - "pixel_size": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/AtlasTileGridSquarePositionResponse" + }, + "title": "Response Link Atlas Tile To Gridsquares Atlas Tiles Tile Uuid Gridsquares Post", + "type": "array" + } } - ], - "title": "Pixel Size" + }, + "description": "Successful Response" }, - "detector_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Detector Name" + }, + "description": "Validation Error" + } + }, + "summary": "Link Atlas Tile To Gridsquares" + } + }, + "/atlas-tiles/{tile_uuid}/gridsquares/{gridsquare_uuid}": { + "post": { + "description": "Connect a grid square to a tile with its position information", + "operationId": "link_atlas_tile_to_gridsquare_atlas_tiles__tile_uuid__gridsquares__gridsquare_uuid__post", + "parameters": [ + { + "in": "path", + "name": "tile_uuid", + "required": true, + "schema": { + "title": "Tile Uuid", + "type": "string" + } }, - "applied_defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquarePositionRequest" } - ], - "title": "Applied Defocus" + } }, - "status": { - "anyOf": [ - { - "$ref": "#/components/schemas/GridSquareStatus" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasTileGridSquarePositionResponse" + } } - ] + }, + "description": "Successful Response" }, - "lowmag": { - "type": "boolean", - "title": "Lowmag", - "default": false + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, - "type": "object", - "required": [ - "uuid", - "gridsquare_id", - "grid_uuid" - ], - "title": "GridSquareCreateRequest" - }, - "GridSquarePositionRequest": { - "properties": { - "center_x": { - "type": "integer", - "title": "Center X" - }, - "center_y": { - "type": "integer", - "title": "Center Y" - }, - "size_width": { - "type": "integer", - "title": "Size Width" - }, - "size_height": { - "type": "integer", - "title": "Size Height" + "summary": "Link Atlas Tile To Gridsquare" + } + }, + "/atlases": { + "get": { + "description": "Get all atlases", + "operationId": "get_atlases_atlases_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/AtlasResponse" + }, + "title": "Response Get Atlases Atlases Get", + "type": "array" + } + } + }, + "description": "Successful Response" } }, - "type": "object", - "required": [ - "center_x", - "center_y", - "size_width", - "size_height" + "summary": "Get Atlases" + } + }, + "/atlases/{atlas_uuid}": { + "delete": { + "description": "Delete an atlas by publishing to RabbitMQ", + "operationId": "delete_atlas_atlases__atlas_uuid__delete", + "parameters": [ + { + "in": "path", + "name": "atlas_uuid", + "required": true, + "schema": { + "title": "Atlas Uuid", + "type": "string" + } + } ], - "title": "GridSquarePositionRequest" - }, - "GridSquareResponse": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" - }, - "gridsquare_id": { - "type": "string", - "title": "Gridsquare Id" - }, - "grid_uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Grid Uuid" + "responses": { + "204": { + "description": "Successful Response" }, - "status": { - "anyOf": [ - { - "$ref": "#/components/schemas/GridSquareStatus" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ] - }, - "data_dir": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Delete Atlas" + }, + "get": { + "description": "Get a single atlas by ID", + "operationId": "get_atlas_atlases__atlas_uuid__get", + "parameters": [ + { + "in": "path", + "name": "atlas_uuid", + "required": true, + "schema": { + "title": "Atlas Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasResponse" + } } - ], - "title": "Data Dir" + }, + "description": "Successful Response" }, - "atlas_node_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Atlas Node Id" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Atlas" + }, + "put": { + "description": "Update an atlas", + "operationId": "update_atlas_atlases__atlas_uuid__put", + "parameters": [ + { + "in": "path", + "name": "atlas_uuid", + "required": true, + "schema": { + "title": "Atlas Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasUpdateRequest" } - ], - "title": "State" + } }, - "rotation": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasResponse" + } } - ], - "title": "Rotation" + }, + "description": "Successful Response" }, - "image_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Image Path" - }, - "selected": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Update Atlas" + } + }, + "/atlases/{atlas_uuid}/tiles": { + "get": { + "description": "Get all tiles for a specific atlas", + "operationId": "get_atlas_tiles_by_atlas_atlases__atlas_uuid__tiles_get", + "parameters": [ + { + "in": "path", + "name": "atlas_uuid", + "required": true, + "schema": { + "title": "Atlas Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/AtlasTileResponse" + }, + "title": "Response Get Atlas Tiles By Atlas Atlases Atlas Uuid Tiles Get", + "type": "array" + } } - ], - "title": "Selected" + }, + "description": "Successful Response" }, - "unusable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Unusable" - }, - "stage_position_x": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Atlas Tiles By Atlas" + }, + "post": { + "description": "Create a new tile for a specific atlas", + "operationId": "create_atlas_tile_for_atlas_atlases__atlas_uuid__tiles_post", + "parameters": [ + { + "in": "path", + "name": "atlas_uuid", + "required": true, + "schema": { + "title": "Atlas Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasTileCreateRequest" } - ], - "title": "Stage Position X" + } }, - "stage_position_y": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasTileResponse" + } } - ], - "title": "Stage Position Y" + }, + "description": "Successful Response" }, - "stage_position_z": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Stage Position Z" - }, - "center_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Create Atlas Tile For Atlas" + } + }, + "/debug/agent-connections": { + "get": { + "description": "Debug endpoint to view active agent connections", + "operationId": "get_active_connections_debug_agent_connections_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Center X" - }, - "center_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Successful Response" + } + }, + "summary": "Get Active Connections" + } + }, + "/debug/connection-stats": { + "get": { + "description": "Get real-time connection and session statistics", + "operationId": "get_connection_stats_debug_connection_stats_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Center Y" - }, - "physical_x": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Successful Response" + } + }, + "summary": "Get Connection Stats" + } + }, + "/debug/session/{session_id}/create-instruction": { + "post": { + "description": "Debug endpoint to create test instructions", + "operationId": "create_test_instruction_debug_session__session_id__create_instruction_post", + "parameters": [ + { + "in": "path", + "name": "session_id", + "required": true, + "schema": { + "title": "Session Id", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Instruction Data", + "type": "object" } - ], - "title": "Physical X" + } }, - "physical_y": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Physical Y" + }, + "description": "Successful Response" }, - "size_width": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Size Width" - }, - "size_height": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Create Test Instruction" + } + }, + "/debug/session/{session_id}/instructions": { + "get": { + "description": "Debug endpoint to view instructions for a session", + "operationId": "get_session_instructions_debug_session__session_id__instructions_get", + "parameters": [ + { + "in": "path", + "name": "session_id", + "required": true, + "schema": { + "title": "Session Id", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Size Height" + }, + "description": "Successful Response" }, - "acquisition_datetime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Get Session Instructions" + } + }, + "/debug/sessions": { + "get": { + "description": "Debug endpoint to view all active sessions", + "operationId": "get_active_sessions_debug_sessions_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } + }, + "description": "Successful Response" + } + }, + "summary": "Get Active Sessions" + } + }, + "/debug/sessions/create": { + "post": { + "description": "Debug endpoint to create test sessions", + "operationId": "create_test_session_debug_sessions_create_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Session Data", + "type": "object" } - ], - "title": "Acquisition Datetime" + } }, - "defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Defocus" + }, + "description": "Successful Response" }, - "magnification": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Magnification" - }, - "pixel_size": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Create Test Session" + } + }, + "/debug/sessions/create-managed": { + "post": { + "description": "Create a session using the connection manager", + "operationId": "create_managed_session_debug_sessions_create_managed_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "title": "Session Data", + "type": "object" } - ], - "title": "Pixel Size" + } }, - "detector_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Detector Name" + }, + "description": "Successful Response" }, - "applied_defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Applied Defocus" + }, + "description": "Validation Error" } }, - "type": "object", - "required": [ - "uuid", - "gridsquare_id", - "grid_uuid", - "status", - "data_dir", - "atlas_node_id", - "state", - "rotation", - "image_path", - "selected", - "unusable", - "stage_position_x", - "stage_position_y", - "stage_position_z", - "center_x", - "center_y", - "physical_x", - "physical_y", - "size_width", - "size_height", - "acquisition_datetime", - "defocus", - "magnification", - "pixel_size", - "detector_name", - "applied_defocus" - ], - "title": "GridSquareResponse" - }, - "GridSquareStatus": { - "type": "string", - "enum": [ - "none", - "foil holes decision started", - "foil holes decision completed" + "summary": "Create Managed Session" + } + }, + "/debug/sessions/{session_id}/close": { + "delete": { + "description": "Close a session using the connection manager", + "operationId": "close_managed_session_debug_sessions__session_id__close_delete", + "parameters": [ + { + "in": "path", + "name": "session_id", + "required": true, + "schema": { + "title": "Session Id", + "type": "string" + } + } ], - "title": "GridSquareStatus" - }, - "GridSquareUpdateRequest": { - "properties": { - "uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Uuid" - }, - "gridsquare_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "title": "Gridsquare Id" - }, - "grid_uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Grid Uuid" + }, + "description": "Successful Response" }, - "data_dir": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Data Dir" - }, - "atlas_node_id": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Close Managed Session" + } + }, + "/foilholes": { + "get": { + "description": "Get all foil holes", + "operationId": "get_foilholes_foilholes_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/FoilHoleResponse" + }, + "title": "Response Get Foilholes Foilholes Get", + "type": "array" + } } - ], - "title": "Atlas Node Id" + }, + "description": "Successful Response" + } + }, + "summary": "Get Foilholes" + } + }, + "/foilholes/{foilhole_uuid}": { + "delete": { + "description": "Delete a foil hole by publishing to RabbitMQ", + "operationId": "delete_foilhole_foilholes__foilhole_uuid__delete", + "parameters": [ + { + "in": "path", + "name": "foilhole_uuid", + "required": true, + "schema": { + "title": "Foilhole Uuid", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "State" - }, - "rotation": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Delete Foilhole" + }, + "get": { + "description": "Get a single foil hole by ID", + "operationId": "get_foilhole_foilholes__foilhole_uuid__get", + "parameters": [ + { + "in": "path", + "name": "foilhole_uuid", + "required": true, + "schema": { + "title": "Foilhole Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FoilHoleResponse" + } } - ], - "title": "Rotation" + }, + "description": "Successful Response" }, - "image_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Image Path" - }, - "selected": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Foilhole" + }, + "put": { + "description": "Update a foil hole", + "operationId": "update_foilhole_foilholes__foilhole_uuid__put", + "parameters": [ + { + "in": "path", + "name": "foilhole_uuid", + "required": true, + "schema": { + "title": "Foilhole Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FoilHoleUpdateRequest" } - ], - "title": "Selected" + } }, - "unusable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FoilHoleResponse" + } } - ], - "title": "Unusable" + }, + "description": "Successful Response" }, - "stage_position_x": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Stage Position X" - }, - "stage_position_y": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Update Foilhole" + } + }, + "/foilholes/{foilhole_uuid}/micrographs": { + "get": { + "description": "Get all micrographs for a specific foil hole", + "operationId": "get_foilhole_micrographs_foilholes__foilhole_uuid__micrographs_get", + "parameters": [ + { + "in": "path", + "name": "foilhole_uuid", + "required": true, + "schema": { + "title": "Foilhole Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/MicrographResponse" + }, + "title": "Response Get Foilhole Micrographs Foilholes Foilhole Uuid Micrographs Get", + "type": "array" + } } - ], - "title": "Stage Position Y" + }, + "description": "Successful Response" }, - "stage_position_z": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Stage Position Z" - }, - "center_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Foilhole Micrographs" + }, + "post": { + "description": "Create a new micrograph for a specific foil hole", + "operationId": "create_foilhole_micrograph_foilholes__foilhole_uuid__micrographs_post", + "parameters": [ + { + "in": "path", + "name": "foilhole_uuid", + "required": true, + "schema": { + "title": "Foilhole Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MicrographCreateRequest" } - ], - "title": "Center X" + } }, - "center_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MicrographResponse" + } } - ], - "title": "Center Y" + }, + "description": "Successful Response" }, - "physical_x": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Create Foilhole Micrograph" + } + }, + "/grid/{grid_uuid}/model_weights": { + "get": { + "description": "Get time series of model weights for grid", + "operationId": "get_model_weights_for_grid_grid__grid_uuid__model_weights_get", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "items": { + "$ref": "#/components/schemas/QualityPredictionModelWeight" + }, + "type": "array" + }, + "title": "Response Get Model Weights For Grid Grid Grid Uuid Model Weights Get", + "type": "object" + } } - ], - "title": "Physical X" + }, + "description": "Successful Response" }, - "physical_y": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Physical Y" + }, + "description": "Validation Error" + } + }, + "summary": "Get Model Weights For Grid" + } + }, + "/grid/{grid_uuid}/prediction_model/{prediction_model_name}/latent_rep/{latent_rep_model_name}/suggested_squares": { + "get": { + "operationId": "get_suggested_square_collections_grid__grid_uuid__prediction_model__prediction_model_name__latent_rep__latent_rep_model_name__suggested_squares_get", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } }, - "size_width": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ], - "title": "Size Width" + { + "in": "path", + "name": "prediction_model_name", + "required": true, + "schema": { + "title": "Prediction Model Name", + "type": "string" + } }, - "size_height": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + { + "in": "path", + "name": "latent_rep_model_name", + "required": true, + "schema": { + "title": "Latent Rep Model Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/GridSquare" + }, + "title": "Response Get Suggested Square Collections Grid Grid Uuid Prediction Model Prediction Model Name Latent Rep Latent Rep Model Name Suggested Squares Get", + "type": "array" + } } - ], - "title": "Size Height" + }, + "description": "Successful Response" }, - "acquisition_datetime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Acquisition Datetime" - }, - "defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Suggested Square Collections" + } + }, + "/grids": { + "get": { + "description": "Get all grids", + "operationId": "get_grids_grids_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/GridResponse" + }, + "title": "Response Get Grids Grids Get", + "type": "array" + } } - ], - "title": "Defocus" + }, + "description": "Successful Response" + } + }, + "summary": "Get Grids" + } + }, + "/grids/{grid_uuid}": { + "delete": { + "description": "Delete a grid by publishing to RabbitMQ", + "operationId": "delete_grid_grids__grid_uuid__delete", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" }, - "magnification": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Magnification" + }, + "description": "Validation Error" + } + }, + "summary": "Delete Grid" + }, + "get": { + "description": "Get a single grid by ID", + "operationId": "get_grid_grids__grid_uuid__get", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridResponse" + } + } + }, + "description": "Successful Response" }, - "pixel_size": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Pixel Size" + }, + "description": "Validation Error" + } + }, + "summary": "Get Grid" + }, + "put": { + "description": "Update a grid", + "operationId": "update_grid_grids__grid_uuid__put", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridUpdateRequest" + } + } }, - "detector_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridResponse" + } } - ], - "title": "Detector Name" + }, + "description": "Successful Response" }, - "applied_defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Update Grid" + } + }, + "/grids/{grid_uuid}/atlas": { + "get": { + "description": "Get the atlas for a specific grid", + "operationId": "get_grid_atlas_grids__grid_uuid__atlas_get", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasResponse" + } } - ], - "title": "Applied Defocus" + }, + "description": "Successful Response" }, - "status": { - "anyOf": [ - { - "$ref": "#/components/schemas/GridSquareStatus" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ] - }, - "lowmag": { - "type": "boolean", - "title": "Lowmag", - "default": false + }, + "description": "Validation Error" } }, - "type": "object", - "title": "GridSquareUpdateRequest" + "summary": "Get Grid Atlas" }, - "GridStatus": { - "type": "string", - "enum": [ - "none", - "scan started", - "scan completed", - "grid squares decision started", - "grid squares decision completed" + "post": { + "description": "Create a new atlas for a grid", + "operationId": "create_grid_atlas_grids__grid_uuid__atlas_post", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } ], - "title": "GridStatus" - }, - "GridUpdateRequest": { - "properties": { - "uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasCreateRequest" } - ], - "title": "Uuid" + } }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AtlasResponse" + } } - ], - "title": "Name" + }, + "description": "Successful Response" }, - "acquisition_uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Acquisition Uuid" + }, + "description": "Validation Error" + } + }, + "summary": "Create Grid Atlas" + } + }, + "/grids/{grid_uuid}/atlas_image": { + "get": { + "description": "Get a single grid by ID", + "operationId": "get_grid_atlas_image_grids__grid_uuid__atlas_image_get", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } }, - "status": { - "anyOf": [ - { - "$ref": "#/components/schemas/GridStatus" - }, - { - "type": "null" - } - ] + { + "in": "query", + "name": "x", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "X" + } }, - "data_dir": { - "anyOf": [ - { - "type": "string" + { + "in": "query", + "name": "y", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Y" + } + }, + { + "in": "query", + "name": "w", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "W" + } + }, + { + "in": "query", + "name": "h", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "H" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} }, - { - "type": "null" + "image/png": {} + }, + "description": "Successful Response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Data Dir" + }, + "description": "Validation Error" + } + }, + "summary": "Get Grid Atlas Image" + } + }, + "/grids/{grid_uuid}/gridsquares": { + "get": { + "description": "Get all grid squares for a specific grid", + "operationId": "get_grid_gridsquares_grids__grid_uuid__gridsquares_get", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/GridSquareResponse" + }, + "title": "Response Get Grid Gridsquares Grids Grid Uuid Gridsquares Get", + "type": "array" + } + } + }, + "description": "Successful Response" }, - "atlas_dir": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Get Grid Gridsquares" + }, + "post": { + "description": "Create a new grid square for a specific grid", + "operationId": "create_grid_gridsquare_grids__grid_uuid__gridsquares_post", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquareCreateRequest" } - ], - "title": "Atlas Dir" + } }, - "scan_start_time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquareResponse" + } } - ], - "title": "Scan Start Time" + }, + "description": "Successful Response" }, - "scan_end_time": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Scan End Time" - } - }, - "type": "object", - "title": "GridUpdateRequest" - }, - "HTTPValidationError": { - "properties": { - "detail": { - "items": { - "$ref": "#/components/schemas/ValidationError" }, - "type": "array", - "title": "Detail" + "description": "Validation Error" } }, - "type": "object", - "title": "HTTPValidationError" - }, - "MicrographCreateRequest": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" - }, - "foilhole_uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "summary": "Create Grid Gridsquare" + } + }, + "/grids/{grid_uuid}/gridsquares/batch": { + "post": { + "description": "Create many grid squares for a grid in a single transaction and a single\nbatched RabbitMQ publish. Solves the overload scenario from issue #249.", + "operationId": "create_grid_gridsquares_batch_grids__grid_uuid__gridsquares_batch_post", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquareBatchCreateRequest" } - ], - "title": "Foilhole Uuid" - }, - "foilhole_id": { - "type": "string", - "title": "Foilhole Id" + } }, - "location_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquareBatchCreateResponse" + } } - ], - "title": "Location Id" + }, + "description": "Successful Response" }, - "high_res_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "High Res Path" - }, - "manifest_file": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Create Grid Gridsquares Batch" + } + }, + "/grids/{grid_uuid}/registered": { + "post": { + "description": "All squares on a grid have been registered at low mag", + "operationId": "grid_registered_grids__grid_uuid__registered_post", + "parameters": [ + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "title": "Response Grid Registered Grids Grid Uuid Registered Post", + "type": "boolean" + } } - ], - "title": "Manifest File" + }, + "description": "Successful Response" }, - "acquisition_datetime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Acquisition Datetime" + }, + "description": "Validation Error" + } + }, + "summary": "Grid Registered" + } + }, + "/gridsquare/{gridsquare_uuid}/overall_prediction": { + "get": { + "operationId": "get_overall_prediction_for_gridsquare_gridsquare__gridsquare_uuid__overall_prediction_get", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/OverallQualityPrediction" + }, + "title": "Response Get Overall Prediction For Gridsquare Gridsquare Gridsquare Uuid Overall Prediction Get", + "type": "array" + } + } + }, + "description": "Successful Response" }, - "defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Defocus" + }, + "description": "Validation Error" + } + }, + "summary": "Get Overall Prediction For Gridsquare" + } + }, + "/gridsquares": { + "get": { + "description": "Get all grid squares", + "operationId": "get_gridsquares_gridsquares_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/GridSquareResponse" + }, + "title": "Response Get Gridsquares Gridsquares Get", + "type": "array" + } + } + }, + "description": "Successful Response" + } + }, + "summary": "Get Gridsquares" + } + }, + "/gridsquares/{gridsquare_uuid}": { + "delete": { + "description": "Delete a grid square by publishing to RabbitMQ", + "operationId": "delete_gridsquare_gridsquares__gridsquare_uuid__delete", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" }, - "detector_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Detector Name" - }, - "energy_filter": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Delete Gridsquare" + }, + "get": { + "description": "Get a single grid square by ID", + "operationId": "get_gridsquare_gridsquares__gridsquare_uuid__get", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquareResponse" + } } - ], - "title": "Energy Filter" + }, + "description": "Successful Response" }, - "phase_plate": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Phase Plate" - }, - "image_size_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Gridsquare" + }, + "put": { + "description": "Update a grid square", + "operationId": "update_gridsquare_gridsquares__gridsquare_uuid__put", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquareUpdateRequest" } - ], - "title": "Image Size X" + } }, - "image_size_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GridSquareResponse" + } } - ], - "title": "Image Size Y" + }, + "description": "Successful Response" }, - "binning_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Binning X" - }, - "binning_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Update Gridsquare" + } + }, + "/gridsquares/{gridsquare_uuid}/foilhole_quality_predictions": { + "get": { + "description": "Get time ordered predictions for all models that provide them for this square", + "operationId": "get_foilhole_quality_prediction_time_series_for_gridsquare_gridsquares__gridsquare_uuid__foilhole_quality_predictions_get", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "additionalProperties": { + "items": { + "$ref": "#/components/schemas/QualityPrediction" + }, + "type": "array" + }, + "type": "object" + }, + "title": "Response Get Foilhole Quality Prediction Time Series For Gridsquare Gridsquares Gridsquare Uuid Foilhole Quality Predictions Get", + "type": "object" + } } - ], - "title": "Binning Y" + }, + "description": "Successful Response" }, - "total_motion": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Total Motion" + }, + "description": "Validation Error" + } + }, + "summary": "Get Foilhole Quality Prediction Time Series For Gridsquare" + } + }, + "/gridsquares/{gridsquare_uuid}/foilholes": { + "get": { + "description": "Get all foil holes for a specific grid square", + "operationId": "get_gridsquare_foilholes_gridsquares__gridsquare_uuid__foilholes_get", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } }, - "average_motion": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + { + "in": "query", + "name": "on_square_only", + "required": false, + "schema": { + "default": false, + "title": "On Square Only", + "type": "boolean" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/FoilHoleResponse" + }, + "title": "Response Get Gridsquare Foilholes Gridsquares Gridsquare Uuid Foilholes Get", + "type": "array" + } } - ], - "title": "Average Motion" + }, + "description": "Successful Response" }, - "ctf_max_resolution_estimate": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Ctf Max Resolution Estimate" - }, - "number_of_particles_selected": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Gridsquare Foilholes" + }, + "post": { + "description": "Create a new foil hole for a specific grid square", + "operationId": "create_gridsquare_foilhole_gridsquares__gridsquare_uuid__foilholes_post", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/FoilHoleCreateRequest" + }, + "title": "Foilholes", + "type": "array" } - ], - "title": "Number Of Particles Selected" + } }, - "number_of_particles_rejected": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/FoilHoleResponse" + }, + "title": "Response Create Gridsquare Foilhole Gridsquares Gridsquare Uuid Foilholes Post", + "type": "array" + } } - ], - "title": "Number Of Particles Rejected" + }, + "description": "Successful Response" }, - "selection_distribution": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Selection Distribution" - }, - "number_of_particles_picked": { - "anyOf": [ - { - "type": "integer" + }, + "description": "Validation Error" + } + }, + "summary": "Create Gridsquare Foilhole" + } + }, + "/gridsquares/{gridsquare_uuid}/gridsquare_image": { + "get": { + "description": "Get a single grid square by ID", + "operationId": "get_gridsquare_image_gridsquares__gridsquare_uuid__gridsquare_image_get", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} }, - { - "type": "null" - } - ], - "title": "Number Of Particles Picked" + "image/png": {} + }, + "description": "Successful Response" }, - "pick_distribution": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Pick Distribution" - }, - "status": { - "$ref": "#/components/schemas/MicrographStatus", - "default": "none" + }, + "description": "Validation Error" } }, - "type": "object", - "required": [ - "uuid", - "foilhole_id" + "summary": "Get Gridsquare Image" + } + }, + "/gridsquares/{gridsquare_uuid}/quality_predictions": { + "get": { + "description": "Get time ordered predictions for all models that provide them for this square", + "operationId": "get_gridsquare_quality_prediction_time_series_gridsquares__gridsquare_uuid__quality_predictions_get", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } ], - "title": "MicrographCreateRequest" - }, - "MicrographResponse": { - "properties": { - "uuid": { - "type": "string", - "title": "Uuid" - }, - "foilhole_uuid": { - "type": "string", - "title": "Foilhole Uuid" - }, - "foilhole_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "items": { + "$ref": "#/components/schemas/QualityPrediction" + }, + "type": "array" + }, + "title": "Response Get Gridsquare Quality Prediction Time Series Gridsquares Gridsquare Uuid Quality Predictions Get", + "type": "object" + } } - ], - "title": "Foilhole Id" + }, + "description": "Successful Response" }, - "micrograph_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Micrograph Id" + }, + "description": "Validation Error" + } + }, + "summary": "Get Gridsquare Quality Prediction Time Series" + } + }, + "/gridsquares/{gridsquare_uuid}/registered": { + "post": { + "description": "All holes on a grid square have been registered at square mag", + "operationId": "gridsquare_registered_gridsquares__gridsquare_uuid__registered_post", + "parameters": [ + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } }, - "location_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Count" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "title": "Response Gridsquare Registered Gridsquares Gridsquare Uuid Registered Post", + "type": "boolean" + } } - ], - "title": "Location Id" - }, - "status": { - "$ref": "#/components/schemas/MicrographStatus" + }, + "description": "Successful Response" }, - "high_res_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "High Res Path" - }, - "manifest_file": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Gridsquare Registered" + } + }, + "/health": { + "get": { + "description": "Health check endpoint with actual connectivity checks", + "operationId": "get_health_health_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} } - ], - "title": "Manifest File" - }, - "acquisition_datetime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + }, + "description": "Successful Response" + } + }, + "summary": "Get Health" + } + }, + "/micrographs": { + "get": { + "description": "Get all micrographs", + "operationId": "get_micrographs_micrographs_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/MicrographResponse" + }, + "title": "Response Get Micrographs Micrographs Get", + "type": "array" + } } - ], - "title": "Acquisition Datetime" + }, + "description": "Successful Response" + } + }, + "summary": "Get Micrographs" + } + }, + "/micrographs/{micrograph_uuid}": { + "delete": { + "description": "Delete a micrograph by publishing to RabbitMQ", + "operationId": "delete_micrograph_micrographs__micrograph_uuid__delete", + "parameters": [ + { + "in": "path", + "name": "micrograph_uuid", + "required": true, + "schema": { + "title": "Micrograph Uuid", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" }, - "defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Defocus" - }, - "detector_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Delete Micrograph" + }, + "get": { + "description": "Get a single micrograph by ID", + "operationId": "get_micrograph_micrographs__micrograph_uuid__get", + "parameters": [ + { + "in": "path", + "name": "micrograph_uuid", + "required": true, + "schema": { + "title": "Micrograph Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MicrographResponse" + } } - ], - "title": "Detector Name" + }, + "description": "Successful Response" }, - "energy_filter": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Energy Filter" - }, - "phase_plate": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Micrograph" + }, + "put": { + "description": "Update a micrograph", + "operationId": "update_micrograph_micrographs__micrograph_uuid__put", + "parameters": [ + { + "in": "path", + "name": "micrograph_uuid", + "required": true, + "schema": { + "title": "Micrograph Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MicrographUpdateRequest" } - ], - "title": "Phase Plate" + } }, - "image_size_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MicrographResponse" + } } - ], - "title": "Image Size X" + }, + "description": "Successful Response" }, - "image_size_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Image Size Y" - }, - "binning_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Update Micrograph" + } + }, + "/micrographs/{micrograph_uuid}/ctf_estimation/completed": { + "post": { + "description": "Publish a CTF-estimation-completed event for a micrograph to RabbitMQ.", + "operationId": "publish_micrograph_ctf_estimation_completed_micrographs__micrograph_uuid__ctf_estimation_completed_post", + "parameters": [ + { + "in": "path", + "name": "micrograph_uuid", + "required": true, + "schema": { + "title": "Micrograph Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CtfEstimationCompletedRequest" } - ], - "title": "Binning X" + } }, - "binning_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessingFeedbackPublishResponse" + } } - ], - "title": "Binning Y" + }, + "description": "Successful Response" }, - "total_motion": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Total Motion" - }, - "average_motion": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Publish Micrograph Ctf Estimation Completed" + } + }, + "/micrographs/{micrograph_uuid}/ctf_estimation/registered": { + "post": { + "description": "Publish a CTF-estimation-registered event for a micrograph to RabbitMQ.", + "operationId": "publish_micrograph_ctf_estimation_registered_micrographs__micrograph_uuid__ctf_estimation_registered_post", + "parameters": [ + { + "in": "path", + "name": "micrograph_uuid", + "required": true, + "schema": { + "title": "Micrograph Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CtfEstimationRegisteredRequest" } - ], - "title": "Average Motion" + } }, - "ctf_max_resolution_estimate": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessingFeedbackPublishResponse" + } } - ], - "title": "Ctf Max Resolution Estimate" + }, + "description": "Successful Response" }, - "number_of_particles_selected": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Number Of Particles Selected" + }, + "description": "Validation Error" + } + }, + "summary": "Publish Micrograph Ctf Estimation Registered" + } + }, + "/micrographs/{micrograph_uuid}/motion_correction/completed": { + "post": { + "description": "Publish a motion-correction-completed event for a micrograph to RabbitMQ.", + "operationId": "publish_micrograph_motion_correction_completed_micrographs__micrograph_uuid__motion_correction_completed_post", + "parameters": [ + { + "in": "path", + "name": "micrograph_uuid", + "required": true, + "schema": { + "title": "Micrograph Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MotionCorrectionCompletedRequest" + } + } }, - "number_of_particles_rejected": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessingFeedbackPublishResponse" + } } - ], - "title": "Number Of Particles Rejected" + }, + "description": "Successful Response" }, - "selection_distribution": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Selection Distribution" + }, + "description": "Validation Error" + } + }, + "summary": "Publish Micrograph Motion Correction Completed" + } + }, + "/micrographs/{micrograph_uuid}/motion_correction/registered": { + "post": { + "description": "Publish a motion-correction-registered event for a micrograph to RabbitMQ.", + "operationId": "publish_micrograph_motion_correction_registered_micrographs__micrograph_uuid__motion_correction_registered_post", + "parameters": [ + { + "in": "path", + "name": "micrograph_uuid", + "required": true, + "schema": { + "title": "Micrograph Uuid", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MotionCorrectionRegisteredRequest" + } + } }, - "number_of_particles_picked": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "202": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProcessingFeedbackPublishResponse" + } } - ], - "title": "Number Of Particles Picked" + }, + "description": "Successful Response" }, - "pick_distribution": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Pick Distribution" + }, + "description": "Validation Error" } }, - "type": "object", - "required": [ - "uuid", - "foilhole_uuid", - "status" - ], - "title": "MicrographResponse" - }, - "MicrographStatus": { - "type": "string", - "enum": [ - "none", - "motion correction started", - "motion correction completed", - "ctf started", - "ctf completed", - "particle picking started", - "particle picking completed", - "particle selection started", - "particle selection completed" + "summary": "Publish Micrograph Motion Correction Registered" + } + }, + "/prediction_model/{prediction_model_name}/grid/{grid_uuid}/latent_representation": { + "get": { + "operationId": "get_latent_rep_prediction_model__prediction_model_name__grid__grid_uuid__latent_representation_get", + "parameters": [ + { + "in": "path", + "name": "prediction_model_name", + "required": true, + "schema": { + "title": "Prediction Model Name", + "type": "string" + } + }, + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } ], - "title": "MicrographStatus" - }, - "MicrographUpdateRequest": { - "properties": { - "uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/LatentRepresentationResponse" + }, + "title": "Response Get Latent Rep Prediction Model Prediction Model Name Grid Grid Uuid Latent Representation Get", + "type": "array" + } } - ], - "title": "Uuid" + }, + "description": "Successful Response" }, - "foilhole_uuid": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Foilhole Uuid" + }, + "description": "Validation Error" + } + }, + "summary": "Get Latent Rep" + } + }, + "/prediction_model/{prediction_model_name}/grid/{grid_uuid}/prediction": { + "get": { + "operationId": "get_prediction_for_grid_prediction_model__prediction_model_name__grid__grid_uuid__prediction_get", + "parameters": [ + { + "in": "path", + "name": "prediction_model_name", + "required": true, + "schema": { + "title": "Prediction Model Name", + "type": "string" + } }, - "foilhole_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + { + "in": "path", + "name": "grid_uuid", + "required": true, + "schema": { + "title": "Grid Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/QualityPredictionResponse" + }, + "title": "Response Get Prediction For Grid Prediction Model Prediction Model Name Grid Grid Uuid Prediction Get", + "type": "array" + } } - ], - "title": "Foilhole Id" + }, + "description": "Successful Response" }, - "location_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Location Id" + }, + "description": "Validation Error" + } + }, + "summary": "Get Prediction For Grid" + } + }, + "/prediction_model/{prediction_model_name}/gridsquare/{gridsquare_uuid}/latent_representation": { + "get": { + "operationId": "get_square_latent_rep_prediction_model__prediction_model_name__gridsquare__gridsquare_uuid__latent_representation_get", + "parameters": [ + { + "in": "path", + "name": "prediction_model_name", + "required": true, + "schema": { + "title": "Prediction Model Name", + "type": "string" + } }, - "high_res_path": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/LatentRepresentationResponse" + }, + "title": "Response Get Square Latent Rep Prediction Model Prediction Model Name Gridsquare Gridsquare Uuid Latent Representation Get", + "type": "array" + } } - ], - "title": "High Res Path" + }, + "description": "Successful Response" }, - "manifest_file": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Manifest File" + }, + "description": "Validation Error" + } + }, + "summary": "Get Square Latent Rep" + } + }, + "/prediction_model/{prediction_model_name}/gridsquare/{gridsquare_uuid}/prediction": { + "get": { + "operationId": "get_prediction_for_gridsquare_prediction_model__prediction_model_name__gridsquare__gridsquare_uuid__prediction_get", + "parameters": [ + { + "in": "path", + "name": "prediction_model_name", + "required": true, + "schema": { + "title": "Prediction Model Name", + "type": "string" + } }, - "acquisition_datetime": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/QualityPredictionResponse" + }, + "title": "Response Get Prediction For Gridsquare Prediction Model Prediction Model Name Gridsquare Gridsquare Uuid Prediction Get", + "type": "array" + } } - ], - "title": "Acquisition Datetime" + }, + "description": "Successful Response" }, - "defocus": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Defocus" - }, - "detector_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Prediction For Gridsquare" + } + }, + "/prediction_models": { + "get": { + "operationId": "get_prediction_models_prediction_models_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/QualityPredictionModelResponse" + }, + "title": "Response Get Prediction Models Prediction Models Get", + "type": "array" + } } - ], - "title": "Detector Name" - }, - "energy_filter": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + }, + "description": "Successful Response" + } + }, + "summary": "Get Prediction Models" + }, + "post": { + "operationId": "create_prediction_model_prediction_models_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityPredictionModelCreateRequest" } - ], - "title": "Energy Filter" + } }, - "phase_plate": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityPredictionModelResponse" + } } - ], - "title": "Phase Plate" + }, + "description": "Successful Response" }, - "image_size_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Image Size X" + }, + "description": "Validation Error" + } + }, + "summary": "Create Prediction Model" + } + }, + "/prediction_models/{name}": { + "delete": { + "operationId": "delete_prediction_model_prediction_models__name__delete", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "Successful Response" }, - "image_size_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "summary": "Delete Prediction Model" + }, + "get": { + "operationId": "get_prediction_model_prediction_models__name__get", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityPredictionModelResponse" + } } - ], - "title": "Image Size Y" + }, + "description": "Successful Response" }, - "binning_x": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Binning X" - }, - "binning_y": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Prediction Model" + }, + "put": { + "operationId": "update_prediction_model_prediction_models__name__put", + "parameters": [ + { + "in": "path", + "name": "name", + "required": true, + "schema": { + "title": "Name", + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityPredictionModelUpdateRequest" } - ], - "title": "Binning Y" + } }, - "total_motion": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityPredictionModelResponse" + } } - ], - "title": "Total Motion" + }, + "description": "Successful Response" }, - "average_motion": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Average Motion" + }, + "description": "Validation Error" + } + }, + "summary": "Update Prediction Model" + } + }, + "/quality_metric/{metric_name}/gridsquares/{gridsquare_uuid}/foilhole_quality_predictions": { + "get": { + "description": "Get time ordered predictions for all models that provide them for this square", + "operationId": "get_foilhole_quality_prediction_time_series_for_gridsquare_for_metric_quality_metric__metric_name__gridsquares__gridsquare_uuid__foilhole_quality_predictions_get", + "parameters": [ + { + "in": "path", + "name": "metric_name", + "required": true, + "schema": { + "title": "Metric Name", + "type": "string" + } }, - "ctf_max_resolution_estimate": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" + { + "in": "path", + "name": "gridsquare_uuid", + "required": true, + "schema": { + "title": "Gridsquare Uuid", + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "additionalProperties": { + "additionalProperties": { + "items": { + "$ref": "#/components/schemas/QualityPrediction" + }, + "type": "array" + }, + "type": "object" + }, + "title": "Response Get Foilhole Quality Prediction Time Series For Gridsquare For Metric Quality Metric Metric Name Gridsquares Gridsquare Uuid Foilhole Quality Predictions Get", + "type": "object" + } } - ], - "title": "Ctf Max Resolution Estimate" + }, + "description": "Successful Response" }, - "number_of_particles_selected": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Number Of Particles Selected" - }, - "number_of_particles_rejected": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + }, + "description": "Validation Error" + } + }, + "summary": "Get Foilhole Quality Prediction Time Series For Gridsquare For Metric" + } + }, + "/quality_metrics": { + "get": { + "operationId": "get_quality_metrics_quality_metrics_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityMetricsResponse" + } } - ], - "title": "Number Of Particles Rejected" - }, - "selection_distribution": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + }, + "description": "Successful Response" + } + }, + "summary": "Get Quality Metrics" + } + }, + "/quality_predictions": { + "post": { + "operationId": "create_quality_prediction_quality_predictions_post", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityPredictionCreateRequest" } - ], - "title": "Selection Distribution" + } }, - "number_of_particles_picked": { - "anyOf": [ - { - "type": "integer" - }, - { - "type": "null" + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QualityPredictionResponse" + } } - ], - "title": "Number Of Particles Picked" + }, + "description": "Successful Response" }, - "pick_distribution": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } } - ], - "title": "Pick Distribution" - }, - "status": { - "$ref": "#/components/schemas/MicrographStatus", - "default": "none" + }, + "description": "Validation Error" } }, - "type": "object", - "title": "MicrographUpdateRequest" - }, - "ValidationError": { - "properties": { - "loc": { - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "integer" - } - ] + "summary": "Create Quality Prediction" + } + }, + "/status": { + "get": { + "description": "Get API status and configuration information", + "operationId": "get_status_status_get", + "responses": { + "200": { + "content": { + "application/json": { + "schema": {} + } }, - "type": "array", - "title": "Location" - }, - "msg": { - "type": "string", - "title": "Message" - }, - "type": { - "type": "string", - "title": "Error Type" + "description": "Successful Response" } }, - "type": "object", - "required": [ - "loc", - "msg", - "type" - ], - "title": "ValidationError" + "summary": "Get Status" } } - }, - "servers": [ - { - "url": "http://localhost:8001", - "description": "Local development server" - } - ] + } }