{
  "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"
    }
  ]
}
