{ "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": {} } } } } } }, "/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": {} } } } } } }, "/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" } } } } } }, "post": { "summary": "Create Acquisition", "description": "Create a new acquisition", "operationId": "create_acquisition_acquisitions_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcquisitionCreateRequest" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcquisitionResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AcquisitionResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } } } } }, "/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" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GridResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GridResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GridResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "boolean", "title": "Response Grid Registered Grids Grid Uuid Registered Post" } } } }, "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" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AtlasResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AtlasResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AtlasTileUpdateRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AtlasTileResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AtlasTileResponse" } } } }, "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" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AtlasTileGridSquarePositionResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GridSquareResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GridSquareResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "boolean", "title": "Response Gridsquare Registered Gridsquares Gridsquare Uuid Registered Post" } } } }, "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" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FoilHoleResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FoilHoleCreateRequest" } } } }, "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" } } } } } } }, "/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" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MicrographResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } ], "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" } } } }, "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" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/MicrographResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "AcquisitionCreateRequest": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/AcquisitionStatus" }, { "type": "null" } ] }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "paused_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Paused Time" }, "storage_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Storage Path" }, "atlas_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Path" }, "clustering_mode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clustering Mode" }, "clustering_radius": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clustering Radius" }, "instrument_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instrument Model" }, "instrument_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instrument Id" }, "computer_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Computer Name" } }, "type": "object", "required": ["uuid"], "title": "AcquisitionCreateRequest" }, "AcquisitionResponse": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "name": { "type": "string", "title": "Name" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/AcquisitionStatus" }, { "type": "null" } ] }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "paused_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Paused Time" }, "storage_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Storage Path" }, "atlas_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Path" }, "clustering_mode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clustering Mode" }, "clustering_radius": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clustering Radius" }, "instrument_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instrument Model" }, "instrument_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instrument Id" }, "computer_name": { "anyOf": [ { "type": "string" }, { "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": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uuid" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/AcquisitionStatus" }, { "type": "null" } ] }, "start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Start Time" }, "end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "End Time" }, "paused_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Paused Time" }, "storage_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Storage Path" }, "atlas_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Path" }, "clustering_mode": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clustering Mode" }, "clustering_radius": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Clustering Radius" }, "instrument_model": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instrument Model" }, "instrument_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Instrument Id" }, "computer_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Computer Name" } }, "type": "object", "title": "AcquisitionUpdateRequest" }, "AtlasCreateRequest": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "atlas_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Id" }, "grid_uuid": { "type": "string", "title": "Grid Uuid" }, "acquisition_date": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Date" }, "storage_folder": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Storage Folder" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "name": { "type": "string", "title": "Name" }, "tiles": { "anyOf": [ { "items": { "$ref": "#/components/schemas/AtlasTileCreateRequest" }, "type": "array" }, { "type": "null" } ], "title": "Tiles" } }, "type": "object", "required": ["uuid", "grid_uuid", "name"], "title": "AtlasCreateRequest" }, "AtlasResponse": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "grid_uuid": { "type": "string", "title": "Grid Uuid" }, "atlas_id": { "type": "string", "title": "Atlas Id" }, "acquisition_date": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Date" }, "storage_folder": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Storage Folder" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "name": { "type": "string", "title": "Name" }, "tiles": { "anyOf": [ { "items": { "$ref": "#/components/schemas/AtlasTileResponse" }, "type": "array" }, { "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" }, "tile_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tile Id" }, "position_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Position X" }, "position_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Position Y" }, "size_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size X" }, "size_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Y" }, "file_format": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Format" }, "base_filename": { "anyOf": [ { "type": "string" }, { "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" }, "position_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Position X" }, "position_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Position Y" }, "size_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size X" }, "size_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Y" }, "file_format": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Format" }, "base_filename": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Base Filename" } }, "type": "object", "required": [ "uuid", "atlas_uuid", "tile_id", "position_x", "position_y", "size_x", "size_y", "file_format", "base_filename" ], "title": "AtlasTileResponse" }, "AtlasTileUpdateRequest": { "properties": { "uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uuid" }, "tile_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Tile Id" }, "position_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Position X" }, "position_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Position Y" }, "size_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size X" }, "size_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Y" }, "file_format": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "File Format" }, "base_filename": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Base Filename" }, "atlas_uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Uuid" } }, "type": "object", "title": "AtlasTileUpdateRequest" }, "AtlasUpdateRequest": { "properties": { "uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uuid" }, "atlas_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Id" }, "grid_uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Grid Uuid" }, "acquisition_date": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Date" }, "storage_folder": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Storage Folder" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, "type": "object", "title": "AtlasUpdateRequest" }, "FoilHoleCreateRequest": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "foilhole_id": { "type": "string", "title": "Foilhole Id" }, "gridsquare_id": { "type": "string", "title": "Gridsquare Id" }, "gridsquare_uuid": { "type": "string", "title": "Gridsquare Uuid" }, "center_x": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Center X" }, "center_y": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Center Y" }, "quality": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Quality" }, "rotation": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Rotation" }, "size_width": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Size Width" }, "size_height": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Size Height" }, "x_location": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "X Location" }, "y_location": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Y Location" }, "x_stage_position": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "X Stage Position" }, "y_stage_position": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Y Stage Position" }, "diameter": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Diameter" }, "is_near_grid_bar": { "type": "boolean", "title": "Is Near Grid Bar", "default": false }, "status": { "anyOf": [ { "$ref": "#/components/schemas/FoilHoleStatus" }, { "type": "null" } ] } }, "type": "object", "required": ["uuid", "foilhole_id", "gridsquare_id", "gridsquare_uuid"], "title": "FoilHoleCreateRequest" }, "FoilHoleResponse": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "gridsquare_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Gridsquare Id" }, "foilhole_id": { "type": "string", "title": "Foilhole Id" }, "status": { "$ref": "#/components/schemas/FoilHoleStatus" }, "center_x": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Center X" }, "center_y": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Center Y" }, "quality": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Quality" }, "rotation": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Rotation" }, "size_width": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Size Width" }, "size_height": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Size Height" }, "x_location": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "X Location" }, "y_location": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Y Location" }, "x_stage_position": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "X Stage Position" }, "y_stage_position": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Y Stage Position" }, "diameter": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Diameter" }, "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": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uuid" }, "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" }, "center_x": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Center X" }, "center_y": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Center Y" }, "quality": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Quality" }, "rotation": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Rotation" }, "size_width": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Size Width" }, "size_height": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Size Height" }, "x_location": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "X Location" }, "y_location": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Y Location" }, "x_stage_position": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "X Stage Position" }, "y_stage_position": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Y Stage Position" }, "diameter": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Diameter" }, "is_near_grid_bar": { "type": "boolean", "title": "Is Near Grid Bar", "default": false }, "status": { "anyOf": [ { "$ref": "#/components/schemas/FoilHoleStatus" }, { "type": "null" } ] } }, "type": "object", "title": "FoilHoleUpdateRequest" }, "GridCreateRequest": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "name": { "type": "string", "title": "Name" }, "acquisition_uuid": { "type": "string", "title": "Acquisition Uuid" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/GridStatus" }, { "type": "null" } ] }, "data_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Data Dir" }, "atlas_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Dir" }, "scan_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scan Start Time" }, "scan_end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scan End Time" } }, "type": "object", "required": ["uuid", "name", "acquisition_uuid"], "title": "GridCreateRequest" }, "GridResponse": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "acquisition_uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Acquisition Uuid" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/GridStatus" }, { "type": "null" } ] }, "name": { "type": "string", "title": "Name" }, "data_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Data Dir" }, "atlas_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Dir" }, "scan_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scan Start Time" }, "scan_end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scan End Time" } }, "type": "object", "required": [ "uuid", "acquisition_uuid", "status", "name", "data_dir", "atlas_dir", "scan_start_time", "scan_end_time" ], "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" } ], "title": "Data Dir" }, "atlas_node_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Atlas Node Id" }, "state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "State" }, "rotation": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Rotation" }, "image_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Image Path" }, "selected": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Selected" }, "unusable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Unusable" }, "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" }, "center_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Center X" }, "center_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Center Y" }, "physical_x": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Physical X" }, "physical_y": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Physical Y" }, "size_width": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Width" }, "size_height": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Height" }, "acquisition_datetime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Datetime" }, "defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Defocus" }, "magnification": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Magnification" }, "pixel_size": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Pixel Size" }, "detector_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Detector Name" }, "applied_defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Applied Defocus" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/GridSquareStatus" }, { "type": "null" } ] }, "lowmag": { "type": "boolean", "title": "Lowmag", "default": false } }, "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" } }, "type": "object", "required": ["center_x", "center_y", "size_width", "size_height"], "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" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/GridSquareStatus" }, { "type": "null" } ] }, "data_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Data Dir" }, "atlas_node_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Atlas Node Id" }, "state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "State" }, "rotation": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Rotation" }, "image_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Image Path" }, "selected": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Selected" }, "unusable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Unusable" }, "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" }, "center_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Center X" }, "center_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Center Y" }, "physical_x": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Physical X" }, "physical_y": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Physical Y" }, "size_width": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Width" }, "size_height": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Height" }, "acquisition_datetime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Datetime" }, "defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Defocus" }, "magnification": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Magnification" }, "pixel_size": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Pixel Size" }, "detector_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Detector Name" }, "applied_defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Applied Defocus" } }, "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"], "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" } ], "title": "Grid Uuid" }, "data_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Data Dir" }, "atlas_node_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Atlas Node Id" }, "state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "State" }, "rotation": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Rotation" }, "image_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Image Path" }, "selected": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Selected" }, "unusable": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Unusable" }, "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" }, "center_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Center X" }, "center_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Center Y" }, "physical_x": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Physical X" }, "physical_y": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Physical Y" }, "size_width": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Width" }, "size_height": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Size Height" }, "acquisition_datetime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Datetime" }, "defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Defocus" }, "magnification": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Magnification" }, "pixel_size": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Pixel Size" }, "detector_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Detector Name" }, "applied_defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Applied Defocus" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/GridSquareStatus" }, { "type": "null" } ] }, "lowmag": { "type": "boolean", "title": "Lowmag", "default": false } }, "type": "object", "title": "GridSquareUpdateRequest" }, "GridStatus": { "type": "string", "enum": [ "none", "scan started", "scan completed", "grid squares decision started", "grid squares decision completed" ], "title": "GridStatus" }, "GridUpdateRequest": { "properties": { "uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uuid" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "acquisition_uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Acquisition Uuid" }, "status": { "anyOf": [ { "$ref": "#/components/schemas/GridStatus" }, { "type": "null" } ] }, "data_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Data Dir" }, "atlas_dir": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Atlas Dir" }, "scan_start_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scan Start Time" }, "scan_end_time": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Scan End Time" } }, "type": "object", "title": "GridUpdateRequest" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "MicrographCreateRequest": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "foilhole_uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Foilhole Uuid" }, "foilhole_id": { "type": "string", "title": "Foilhole Id" }, "location_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Location Id" }, "high_res_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "High Res Path" }, "manifest_file": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Manifest File" }, "acquisition_datetime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Datetime" }, "defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Defocus" }, "detector_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Detector Name" }, "energy_filter": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Energy Filter" }, "phase_plate": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Phase Plate" }, "image_size_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Image Size X" }, "image_size_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Image Size Y" }, "binning_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Binning X" }, "binning_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Binning Y" }, "total_motion": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Total Motion" }, "average_motion": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Average Motion" }, "ctf_max_resolution_estimate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Ctf Max Resolution Estimate" }, "number_of_particles_selected": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Selected" }, "number_of_particles_rejected": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Rejected" }, "selection_distribution": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Selection Distribution" }, "number_of_particles_picked": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Picked" }, "pick_distribution": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pick Distribution" }, "status": { "$ref": "#/components/schemas/MicrographStatus", "default": "none" } }, "type": "object", "required": ["uuid", "foilhole_id"], "title": "MicrographCreateRequest" }, "MicrographResponse": { "properties": { "uuid": { "type": "string", "title": "Uuid" }, "foilhole_uuid": { "type": "string", "title": "Foilhole Uuid" }, "foilhole_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Foilhole Id" }, "micrograph_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Micrograph Id" }, "location_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Location Id" }, "status": { "$ref": "#/components/schemas/MicrographStatus" }, "high_res_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "High Res Path" }, "manifest_file": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Manifest File" }, "acquisition_datetime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Datetime" }, "defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Defocus" }, "detector_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Detector Name" }, "energy_filter": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Energy Filter" }, "phase_plate": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Phase Plate" }, "image_size_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Image Size X" }, "image_size_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Image Size Y" }, "binning_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Binning X" }, "binning_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Binning Y" }, "total_motion": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Total Motion" }, "average_motion": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Average Motion" }, "ctf_max_resolution_estimate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Ctf Max Resolution Estimate" }, "number_of_particles_selected": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Selected" }, "number_of_particles_rejected": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Rejected" }, "selection_distribution": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Selection Distribution" }, "number_of_particles_picked": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Picked" }, "pick_distribution": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pick Distribution" } }, "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" ], "title": "MicrographStatus" }, "MicrographUpdateRequest": { "properties": { "uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Uuid" }, "foilhole_uuid": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Foilhole Uuid" }, "foilhole_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Foilhole Id" }, "location_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Location Id" }, "high_res_path": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "High Res Path" }, "manifest_file": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Manifest File" }, "acquisition_datetime": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Acquisition Datetime" }, "defocus": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Defocus" }, "detector_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Detector Name" }, "energy_filter": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Energy Filter" }, "phase_plate": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Phase Plate" }, "image_size_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Image Size X" }, "image_size_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Image Size Y" }, "binning_x": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Binning X" }, "binning_y": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Binning Y" }, "total_motion": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Total Motion" }, "average_motion": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Average Motion" }, "ctf_max_resolution_estimate": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Ctf Max Resolution Estimate" }, "number_of_particles_selected": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Selected" }, "number_of_particles_rejected": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Rejected" }, "selection_distribution": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Selection Distribution" }, "number_of_particles_picked": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Number Of Particles Picked" }, "pick_distribution": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Pick Distribution" }, "status": { "$ref": "#/components/schemas/MicrographStatus", "default": "none" } }, "type": "object", "title": "MicrographUpdateRequest" }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" } }, "type": "object", "required": ["loc", "msg", "type"], "title": "ValidationError" } } }, "servers": [ { "url": "http://localhost:8001", "description": "Local development server" } ] }