{ "openapi": "3.1.0", "info": { "title": "FastAPI", "version": "0.1.0" }, "paths": { "/api/system_info": { "get": { "summary": "Get System Info", "operationId": "get_system_info", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SystemInfo" } } } } } } }, "/api/healthz": { "get": { "summary": "Healthz", "description": "Health check", "operationId": "healthz", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/api/quicklooks/{id}/tiles/{z}/{y}/{x}": { "get": { "summary": "Get Tile", "operationId": "get_tile", "parameters": [ { "name": "z", "in": "path", "required": true, "schema": { "type": "integer", "title": "Z" } }, { "name": "y", "in": "path", "required": true, "schema": { "type": "integer", "title": "Y" } }, { "name": "x", "in": "path", "required": true, "schema": { "type": "integer", "title": "X" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\w+:\\w+$", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/quicklooks/{id}/fits_header/{ccd_name}": { "get": { "summary": "Get Fits Header", "operationId": "get_fits_header", "parameters": [ { "name": "ccd_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Ccd Name" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\w+:\\w+$", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/HeaderType" }, "title": "Response Get Fits Header Api Quicklooks Id Fits Header Ccd Name Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/quicklooks": { "get": { "summary": "List Quicklooks", "operationId": "list_quicklooks", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/QuicklookStatus" }, "type": "array", "title": "Response List Quicklooks Api Quicklooks Get" } } } } } }, "post": { "summary": "Create Quicklook", "description": "Create a quicklook", "operationId": "create_quicklook", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuicklookCreateFrontend" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/quicklooks/{id}/status": { "get": { "summary": "Show Quicklook Status", "operationId": "show_quicklook_status", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/QuicklookStatus" }, { "type": "null" } ], "title": "Response Show Quicklook Status Api Quicklooks Id Status Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/quicklooks/{id}/metadata": { "get": { "summary": "Show Quicklook Metadata", "operationId": "show_quicklook_metadata", "parameters": [ { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/QuicklookMetadata" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/quicklooks/*": { "delete": { "summary": "Delete All Quicklooks", "description": "Delete all quicklooks", "operationId": "delete_all_quicklooks", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } }, "/api/visits": { "get": { "summary": "List Visits", "operationId": "list_visits", "parameters": [ { "name": "exposure", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Exposure" } }, { "name": "day_obs", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Day Obs" } }, { "name": "limit", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 10000, "default": 1000, "title": "Limit" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/VisitListEntry" }, "title": "Response List Visits Api Visits Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/quicklooks/{id}/fits/{ccd_name}": { "get": { "summary": "Get Fits File", "operationId": "get_fits_file", "parameters": [ { "name": "ccd_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Ccd Name" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "pattern": "^\\w+:\\w+$", "title": "Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/status": { "get": { "summary": "Get Pod Status", "operationId": "get_pod_status", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StatusResponse" } } } } } } }, "/api/kill": { "post": { "summary": "Kill", "operationId": "kill", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } } } }, "components": { "schemas": { "AmpMeta": { "properties": { "amp_id": { "type": "integer", "title": "Amp Id" }, "bbox": { "$ref": "#/components/schemas/BBox" } }, "type": "object", "required": [ "amp_id", "bbox" ], "title": "AmpMeta" }, "BBox": { "properties": { "miny": { "type": "number", "title": "Miny" }, "maxy": { "type": "number", "title": "Maxy" }, "minx": { "type": "number", "title": "Minx" }, "maxx": { "type": "number", "title": "Maxx" } }, "type": "object", "required": [ "miny", "maxy", "minx", "maxx" ], "title": "BBox" }, "CardType": { "prefixItems": [ { "type": "string" }, { "type": "string" }, { "type": "string" }, { "type": "string" } ], "type": "array", "maxItems": 4, "minItems": 4 }, "CcdId": { "properties": { "visit": { "$ref": "#/components/schemas/Visit" }, "ccd_name": { "type": "string", "title": "Ccd Name" } }, "type": "object", "required": [ "visit", "ccd_name" ], "title": "CcdId" }, "CcdMeta": { "properties": { "ccd_id": { "$ref": "#/components/schemas/CcdId" }, "image_stat": { "$ref": "#/components/schemas/ImageStat" }, "amps": { "items": { "$ref": "#/components/schemas/AmpMeta" }, "type": "array", "title": "Amps" }, "bbox": { "$ref": "#/components/schemas/BBox" } }, "type": "object", "required": [ "ccd_id", "image_stat", "amps", "bbox" ], "title": "CcdMeta" }, "DiskInfo": { "properties": { "mount_point": { "type": "string", "title": "Mount Point" }, "total": { "type": "integer", "title": "Total" }, "used": { "type": "integer", "title": "Used" }, "device": { "type": "string", "title": "Device" } }, "type": "object", "required": [ "mount_point", "total", "used", "device" ], "title": "DiskInfo" }, "GenerateProgress": { "properties": { "download": { "$ref": "#/components/schemas/Progress" }, "preprocess": { "$ref": "#/components/schemas/Progress" }, "maketile": { "$ref": "#/components/schemas/Progress" } }, "type": "object", "required": [ "download", "preprocess", "maketile" ], "title": "GenerateProgress" }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "HeaderType": { "items": { "$ref": "#/components/schemas/CardType" }, "type": "array" }, "ImageStat": { "properties": { "median": { "type": "number", "title": "Median" }, "mad": { "type": "number", "title": "Mad" }, "shape": { "items": { "type": "integer" }, "type": "array", "title": "Shape" } }, "type": "object", "required": [ "median", "mad", "shape" ], "title": "ImageStat" }, "PodStatus": { "properties": { "hostname": { "type": "string", "title": "Hostname" }, "memory_total": { "type": "integer", "title": "Memory Total" }, "memory_used": { "type": "integer", "title": "Memory Used" }, "disks": { "items": { "$ref": "#/components/schemas/DiskInfo" }, "type": "array", "title": "Disks" } }, "type": "object", "required": [ "hostname", "memory_total", "memory_used", "disks" ], "title": "PodStatus" }, "Progress": { "properties": { "count": { "type": "integer", "title": "Count" }, "total": { "type": "integer", "title": "Total" } }, "type": "object", "required": [ "count", "total" ], "title": "Progress" }, "QuicklookCreateFrontend": { "properties": { "id": { "type": "string", "title": "Id" }, "no_transfer": { "type": "boolean", "title": "No Transfer", "default": false } }, "type": "object", "required": [ "id" ], "title": "QuicklookCreateFrontend" }, "QuicklookJobPhase": { "type": "integer", "enum": [ 0, 1, 2, 3, 4, 5, -1 ], "title": "QuicklookJobPhase" }, "QuicklookMetadata": { "properties": { "id": { "type": "string", "title": "Id" }, "wcs": { "type": "object", "title": "Wcs" }, "ccd_meta": { "anyOf": [ { "items": { "$ref": "#/components/schemas/CcdMeta" }, "type": "array" }, { "type": "null" } ], "title": "Ccd Meta" } }, "type": "object", "required": [ "id", "wcs", "ccd_meta" ], "title": "QuicklookMetadata" }, "QuicklookStatus": { "properties": { "id": { "type": "string", "title": "Id" }, "phase": { "$ref": "#/components/schemas/QuicklookJobPhase" }, "generate_progress": { "anyOf": [ { "additionalProperties": { "$ref": "#/components/schemas/GenerateProgress" }, "type": "object" }, { "type": "null" } ], "title": "Generate Progress" }, "transfer_progress": { "anyOf": [ { "additionalProperties": { "$ref": "#/components/schemas/TransferProgress" }, "type": "object" }, { "type": "null" } ], "title": "Transfer Progress" } }, "type": "object", "required": [ "id", "phase", "generate_progress", "transfer_progress" ], "title": "QuicklookStatus" }, "StatusResponse": { "properties": { "frontend": { "$ref": "#/components/schemas/PodStatus" }, "coordinator": { "$ref": "#/components/schemas/PodStatus" }, "generators": { "items": { "$ref": "#/components/schemas/PodStatus" }, "type": "array", "title": "Generators" } }, "type": "object", "required": [ "frontend", "coordinator", "generators" ], "title": "StatusResponse" }, "SystemInfo": { "properties": { "admin_page": { "type": "boolean", "title": "Admin Page", "default": true } }, "type": "object", "title": "SystemInfo" }, "TransferProgress": { "properties": { "transfer": { "$ref": "#/components/schemas/Progress" } }, "type": "object", "required": [ "transfer" ], "title": "TransferProgress" }, "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" }, "Visit": { "properties": { "id": { "type": "string", "title": "Id" } }, "type": "object", "required": [ "id" ], "title": "Visit" }, "VisitListEntry": { "properties": { "id": { "type": "string", "title": "Id" } }, "type": "object", "required": [ "id" ], "title": "VisitListEntry" } } } }