{
    "openapi": "3.0.1",
    "info": {
      "title": "ActionStations Web Service",
      "description": "",
      "contact": {
        "name": "Bastian Solutions - Software",
        "email": ""
      },
      "version": "v0.2.0"
    },
    "paths": {
      "/ActionStations/{actionStationName}": {
        "get": {
          "tags": [
            "ActionStations"
          ],
          "parameters": [
            {
              "name": "actionStationName",
              "in": "path",
              "required": true,
              "schema": {
                "type": "string"
              }
            }
          ],
          "responses": {
            "200": {
              "description": "Success",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Bastian.Primitives.Result`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStation, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]"
                  }
                }
              }
            }
          }
        }
      },
      "/ActionStations": {
        "get": {
          "tags": [
            "ActionStations"
          ],
          "responses": {
            "200": {
              "description": "Success",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Bastian.Primitives.CollectionResult`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStation, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]"
                  }
                }
              }
            }
          }
        }
      },
      "/ActionStations/config": {
        "get": {
          "tags": [
            "ActionStations"
          ],
          "responses": {
            "200": {
              "description": "Success",
              "content": {
                "application/json": {
                  "schema": {
                    "$ref": "#/components/schemas/Bastian.Primitives.Result`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStationsConfig, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]"
                  }
                }
              }
            }
          }
        }
      }
    },
    "components": {
      "schemas": {
        "Bastian.Maestro.ActionStations.Primitives.Models.ActionStation": {
          "type": "object",
          "properties": {
            "config": {
              "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStationConfig"
            },
            "customDetails": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              },
              "nullable": true,
              "readOnly": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Maestro.ActionStations.Primitives.Models.ActionStationComponentConfig": {
          "type": "object",
          "properties": {
            "abstractName": {
              "type": "string",
              "nullable": true
            },
            "customActions": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.CustomAction"
              },
              "nullable": true
            },
            "type": {
              "type": "string",
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Maestro.ActionStations.Primitives.Models.ActionStationConfig": {
          "type": "object",
          "properties": {
            "area": {
              "$ref": "#/components/schemas/Bastian.Primitives.Pose.Models.CoordinateArea"
            },
            "components": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStationComponentConfig"
              },
              "nullable": true
            },
            "description": {
              "type": "string",
              "nullable": true
            },
            "name": {
              "type": "string",
              "nullable": true
            },
            "nodeId": {
              "type": "string",
              "nullable": true
            },
            "type": {
              "type": "string",
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Maestro.ActionStations.Primitives.Models.ActionStationGroupComponentConfig": {
          "type": "object",
          "properties": {
            "abstractName": {
              "type": "string",
              "nullable": true
            },
            "customActions": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.CustomAction"
              },
              "nullable": true
            },
            "type": {
              "type": "string",
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Maestro.ActionStations.Primitives.Models.ActionStationGroupConfig": {
          "type": "object",
          "properties": {
            "actionStations": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStationGroupStationConfig"
              },
              "nullable": true
            },
            "components": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStationGroupComponentConfig"
              },
              "nullable": true
            },
            "name": {
              "type": "string",
              "nullable": true
            },
            "type": {
              "type": "string",
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Maestro.ActionStations.Primitives.Models.ActionStationGroupStationConfig": {
          "type": "object",
          "properties": {
            "abstractName": {
              "type": "string",
              "nullable": true
            },
            "actualName": {
              "type": "string",
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Maestro.ActionStations.Primitives.Models.ActionStationsConfig": {
          "type": "object",
          "properties": {
            "actionStationGroups": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStationGroupConfig"
              },
              "nullable": true
            },
            "actionStations": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStationConfig"
              },
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Maestro.ActionStations.Primitives.Models.CustomAction": {
          "type": "object",
          "additionalProperties": false
        },
        "Bastian.Primitives.CollectionResult`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStation, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]": {
          "type": "object",
          "properties": {
            "results": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Primitives.NamedResult`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStation, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]"
              },
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Primitives.NamedResult`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStation, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "nullable": true
            },
            "result": {
              "$ref": "#/components/schemas/Bastian.Primitives.Result`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStation, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]"
            },
            "error": {
              "type": "string",
              "nullable": true,
              "readOnly": true
            },
            "value": {
              "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStation"
            },
            "isFailure": {
              "type": "boolean",
              "readOnly": true
            },
            "isSuccess": {
              "type": "boolean",
              "readOnly": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Primitives.Pose.Models.CoordinateArea": {
          "type": "object",
          "properties": {
            "boxes": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Bastian.Primitives.Pose.Models.CoordinateBox"
              },
              "nullable": true
            }
          },
          "additionalProperties": false
        },
        "Bastian.Primitives.Pose.Models.CoordinateBox": {
          "type": "object",
          "properties": {
            "maxPoint": {
              "$ref": "#/components/schemas/Bastian.Primitives.Pose.Models.Vector3Model"
            },
            "minPoint": {
              "$ref": "#/components/schemas/Bastian.Primitives.Pose.Models.Vector3Model"
            }
          },
          "additionalProperties": false
        },
        "Bastian.Primitives.Pose.Models.Vector3Model": {
          "type": "object",
          "properties": {
            "x": {
              "type": "number",
              "format": "float"
            },
            "y": {
              "type": "number",
              "format": "float"
            },
            "z": {
              "type": "number",
              "format": "float"
            }
          },
          "additionalProperties": false
        },
        "Bastian.Primitives.Result`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStation, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "nullable": true,
              "readOnly": true
            },
            "isFailure": {
              "type": "boolean",
              "readOnly": true
            },
            "isSuccess": {
              "type": "boolean",
              "readOnly": true
            },
            "value": {
              "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStation"
            }
          },
          "additionalProperties": false
        },
        "Bastian.Primitives.Result`1[[Bastian.Maestro.ActionStations.Primitives.Models.ActionStationsConfig, Bastian.Maestro.ActionStations.Primitives, Version=0.0.5.0, Culture=neutral, PublicKeyToken=null]]": {
          "type": "object",
          "properties": {
            "error": {
              "type": "string",
              "nullable": true,
              "readOnly": true
            },
            "isFailure": {
              "type": "boolean",
              "readOnly": true
            },
            "isSuccess": {
              "type": "boolean",
              "readOnly": true
            },
            "value": {
              "$ref": "#/components/schemas/Bastian.Maestro.ActionStations.Primitives.Models.ActionStationsConfig"
            }
          },
          "additionalProperties": false
        }
      }
    }
  }