{
  "openapi": "3.0.3",
  "info": {
    "description": "API to access and control Slurm",
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "termsOfService": "https://github.com/SchedMD/slurm/blob/master/DISCLAIMER",
    "contact": {
      "name": "SchedMD LLC",
      "url": "https://www.schedmd.com/",
      "email": "sales@schedmd.com"
    },
    "title": "Slurm REST API"
  },
  "tags": [
    {
      "name": "slurm",
      "description": "methods that query slurmdbd"
    },
    {
      "name": "openapi",
      "description": "methods that query for OpenAPI specifications"
    }
  ],
  "servers": [
    {
      "url": "/"
    }
  ],
  "security": [
    {
      "user": [],
      "token": []
    },
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/slurmdb/{data_parser}/job/{job_id}": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "operationId": "get_job",
        "summary": "Get job info",
        "description": "This endpoint may return multiple job entries since job_id is not a unique key - only the tuple (cluster, job_id, start_time) is unique. If the requested job_id is a component of a heterogeneous job all components are returned.",
        "parameters": {
          "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_JOB_PARAM"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_JOBS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_JOBS_RESP"
                }
              }
            },
            "description": "Job description"
          },
          "default": {
            "description": "Unable to find job",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        }
      }
    },
    "/slurmdb/{data_parser}/config": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Dump all configuration information",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_CONFIG_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_CONFIG_RESP"
                }
              }
            },
            "description": "slurmdbd configuration"
          },
          "default": {
            "description": "Unable to dump config",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Load all configuration information",
        "responses": {
          "200": {
            "description": "Load config",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          },
          "default": {
            "description": "Unable to set config",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "Add or update config",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_CONFIG_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_CONFIG_RESP"
              }
            }
          },
          "required": false
        }
      }
    },
    "/slurmdb/{data_parser}/tres/": {
      "post": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "List of TRES"
          },
          "default": {
            "description": "Unable to update TRES",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Set TRES info",
        "requestBody": {
          "description": "Add or Update TRES",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_TRES_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_TRES_RESP"
              }
            }
          },
          "required": true
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_TRES_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_TRES_RESP"
                }
              }
            },
            "description": "List of TRES"
          },
          "default": {
            "description": "Unable to retrieve TRES"
          }
        },
        "summary": "Get TRES info"
      }
    },
    "/slurmdb/{data_parser}/qos/{qos}": {
      "delete": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Delete QOS",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_REMOVED_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_REMOVED_RESP"
                }
              }
            },
            "description": "Delete qos"
          },
          "default": {
            "description": "Unable to delete QOS",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_PARAM"
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Get QOS info",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              }
            },
            "description": "QOS information"
          },
          "default": {
            "description": "QOS not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": [
            "DATA_PARSER_OPENAPI_SLURMDBD_QOS_PARAM",
            "DATA_PARSER_OPENAPI_SLURMDBD_QOS_QUERY"
          ]
        }
      }
    },
    "/slurmdb/{data_parser}/qos/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "parameters": {
          "$ref": "DATA_PARSER_QOS_CONDITION"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              }
            },
            "description": "List of QOS'"
          },
          "default": {
            "description": "QOS not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
                }
              }
            }
          }
        },
        "summary": "Get QOS list"
      },
      "post": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "QOS update response"
          },
          "default": {
            "description": "Unable to update QOSs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "requestBody": {
          "description": "Add or update QOSs",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_QOS_RESP"
              }
            }
          },
          "required": true
        },
        "summary": "Set QOS info"
      }
    },
    "/slurmdb/{data_parser}/associations/": {
      "post": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "status of associations update"
          },
          "default": {
            "description": "Unable to update associations",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Set associations info",
        "requestBody": {
          "description": "Add or update associations",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
              }
            }
          },
          "required": true
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "parameters": {
          "$ref": "DATA_PARSER_ASSOC_CONDITION"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
                }
              }
            },
            "description": "List of associations"
          },
          "default": {
            "description": "Association not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get association list"
      },
      "delete": {
        "tags": [
          "slurmdb"
        ],
        "parameters": {
          "$ref": "DATA_PARSER_ASSOC_CONDITION"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_REMOVED_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_REMOVED_RESP"
                }
              }
            },
            "description": "Delete associations"
          },
          "default": {
            "description": "Associations not found or unable to delete association",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Delete associations"
      }
    },
    "/slurmdb/{data_parser}/association/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "parameters": {
          "$ref": "DATA_PARSER_ASSOC_CONDITION"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
                }
              }
            },
            "description": "List of associations"
          },
          "default": {
            "description": "Association not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_RESP"
                }
              }
            }
          }
        },
        "summary": "Get association info"
      },
      "delete": {
        "tags": [
          "slurmdb"
        ],
        "parameters": {
          "$ref": "DATA_PARSER_ASSOC_CONDITION"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_REMOVED_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ASSOCS_REMOVED_RESP"
                }
              }
            },
            "description": "Delete associations"
          },
          "default": {
            "description": "Association not found or unable to delete association",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Delete association"
      }
    },
    "/slurmdb/{data_parser}/instances/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "parameters": [
          {
            "name": "cluster",
            "in": "query",
            "description": "Cluster name",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extra",
            "in": "query",
            "description": "Arbitrary string",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "instance_id",
            "in": "query",
            "description": "Cloud instance ID",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "instance_type",
            "in": "query",
            "description": "Cloud instance type",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_INSTANCES_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_INSTANCES_RESP"
                }
              }
            },
            "description": "List of instances"
          },
          "default": {
            "description": "Instance not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get instance list"
      }
    },
    "/slurmdb/{data_parser}/instance/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "parameters": [
          {
            "name": "cluster",
            "in": "query",
            "description": "Cluster name",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extra",
            "in": "query",
            "description": "Arbitrary string",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "instance_id",
            "in": "query",
            "description": "Cloud instance ID",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "instance_type",
            "in": "query",
            "description": "Cloud instance type",
            "required": false,
            "style": "form",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_INSTANCES_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_INSTANCES_RESP"
                }
              }
            },
            "description": "List of instances"
          },
          "default": {
            "description": "Instance not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get instance info"
      }
    },
    "/slurmdb/{data_parser}/user/{name}": {
      "delete": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Delete user",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "User deleted"
          },
          "default": {
            "description": "User not found or unable to delete user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": "DATA_PARSER_OPENAPI_USER_PARAM"
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Get user info",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_RESP"
                }
              }
            },
            "description": "List of users"
          },
          "default": {
            "description": "User not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": [
            "DATA_PARSER_OPENAPI_USER_PARAM",
            "DATA_PARSER_OPENAPI_USER_QUERY"
          ]
        }
      }
    },
    "/slurmdb/{data_parser}/users_association/": {
      "post": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Add users with conditional association",
        "requestBody": {
          "description": "Create users with conditional association",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_USERS_ADD_COND_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_USERS_ADD_COND_RESP"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_ADD_COND_RESP_STR"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_ADD_COND_RESP_STR"
                }
              }
            },
            "description": "Add list of users with conditional association"
          },
          "default": {
            "description": "Unable to add accounts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_ADD_COND_RESP_STR"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_ADD_COND_RESP_STR"
                }
              }
            }
          }
        }
      }
    },
    "/slurmdb/{data_parser}/users/": {
      "post": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Update user",
        "requestBody": {
          "description": "add or update user",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_USERS_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_USERS_RESP"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "Update users"
          },
          "default": {
            "description": "User not found or not able to update user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Get user list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_USERS_RESP"
                }
              }
            },
            "description": "List of users"
          },
          "default": {
            "description": "User not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": "DATA_PARSER_USER_CONDITION"
        }
      }
    },
    "/slurmdb/{data_parser}/cluster/{cluster_name}": {
      "delete": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Delete cluster",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_REMOVED_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_REMOVED_RESP"
                }
              }
            },
            "description": "Delete cluster"
          },
          "default": {
            "description": "Cluster not found or unable to delete cluster",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": [
            "DATA_PARSER_CLUSTER_CONDITION",
            "DATA_PARSER_OPENAPI_CLUSTER_PARAM"
          ]
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Get cluster info",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_RESP"
                }
              }
            },
            "description": "Cluster information"
          },
          "default": {
            "description": "Cluster not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": [
            "DATA_PARSER_CLUSTER_CONDITION",
            "DATA_PARSER_OPENAPI_CLUSTER_PARAM"
          ]
        }
      }
    },
    "/slurmdb/{data_parser}/clusters/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_RESP"
                }
              }
            },
            "description": "List of clusters"
          },
          "default": {
            "description": "Cluster not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get cluster list",
        "parameters": {
          "$ref": "DATA_PARSER_CLUSTER_CONDITION"
        }
      },
      "post": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "Modify clusters response"
          },
          "default": {
            "description": "Unable to add cluster",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "update clusters",
        "requestBody": {
          "description": "Add or modify clusters",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_CLUSTERS_RESP"
              }
            }
          },
          "required": true
        }
      }
    },
    "/slurmdb/{data_parser}/wckey/{id}": {
      "delete": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Delete wckey",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_WCKEY_REMOVED_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_WCKEY_REMOVED_RESP"
                }
              }
            },
            "description": "Delete wckey"
          },
          "default": {
            "description": "wckey not found or unable to delete wckey",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": "DATA_PARSER_OPENAPI_WCKEY_PARAM"
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Get wckey info",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_WCKEY_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_WCKEY_RESP"
                }
              }
            },
            "description": "List of wckey"
          },
          "default": {
            "description": "wckey not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": "DATA_PARSER_OPENAPI_WCKEY_PARAM"
        }
      }
    },
    "/slurmdb/{data_parser}/wckeys/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_WCKEY_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_WCKEY_RESP"
                }
              }
            },
            "description": "List of wckeys"
          },
          "default": {
            "description": "wckey not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get wckey list",
        "parameters": {
          "$ref": "DATA_PARSER_WCKEY_CONDITION_PTR"
        }
      },
      "post": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "List of wckeys"
          },
          "default": {
            "description": "Unable to add wckey",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Add wckeys",
        "requestBody": {
          "description": "add wckeys",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_WCKEY_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_WCKEY_RESP"
              }
            }
          },
          "required": false
        }
      }
    },
    "/slurmdb/{data_parser}/account/{account_name}": {
      "delete": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Delete account",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_REMOVED_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_REMOVED_RESP"
                }
              }
            },
            "description": "Delete account"
          },
          "default": {
            "description": "Unable to delete account",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": "DATA_PARSER_OPENAPI_ACCOUNT_PARAM"
        }
      },
      "get": {
        "tags": [
          "slurmdb"
        ],
        "summary": "Get account info",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_RESP"
                }
              }
            },
            "description": "List of accounts"
          },
          "default": {
            "description": "Account not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "parameters": {
          "$ref": [
            "DATA_PARSER_OPENAPI_ACCOUNT_PARAM",
            "DATA_PARSER_OPENAPI_ACCOUNT_QUERY"
          ]
        }
      }
    },
    "/slurmdb/{data_parser}/accounts_association/": {
      "post": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_ADD_COND_RESP_STR"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_ADD_COND_RESP_STR"
                }
              }
            },
            "description": "Add list of accounts with conditional association"
          },
          "default": {
            "description": "Unable to add accounts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_ADD_COND_RESP_STR"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_ADD_COND_RESP_STR"
                }
              }
            }
          }
        },
        "summary": "Add accounts with conditional association",
        "requestBody": {
          "description": "Create accounts with conditional association",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_ADD_COND_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_ADD_COND_RESP"
              }
            }
          },
          "required": true
        }
      }
    },
    "/slurmdb/{data_parser}/accounts/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "parameters": {
          "$ref": "DATA_PARSER_ACCOUNT_CONDITION"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_RESP"
                }
              }
            },
            "description": "List of accounts"
          },
          "default": {
            "description": "Account not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get account list"
      },
      "post": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            },
            "description": "Add/update list of accounts"
          },
          "default": {
            "description": "Unable to add or update accounts",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Update accounts",
        "requestBody": {
          "description": "update/create accounts",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_RESP"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "DATA_PARSER_OPENAPI_ACCOUNTS_RESP"
              }
            }
          },
          "required": true
        }
      }
    },
    "/slurmdb/{data_parser}/jobs/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "parameters": {
          "$ref": "DATA_PARSER_JOB_CONDITION"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_JOBS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_JOBS_RESP"
                }
              }
            },
            "description": "List of jobs"
          },
          "default": {
            "description": "Unable to query jobs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get job list"
      }
    },
    "/slurmdb/{data_parser}/diag/": {
      "get": {
        "tags": [
          "slurmdb"
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_STATS_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_SLURMDBD_STATS_RESP"
                }
              }
            },
            "description": "Dictionary of statistics"
          },
          "default": {
            "description": "Unable to query diagnostics",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "DATA_PARSER_OPENAPI_RESP"
                }
              }
            }
          }
        },
        "summary": "Get slurmdb diagnostics"
      }
    },
    "/openapi": {
      "get": {
        "tags": [
          "openapi"
        ],
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        },
        "summary": "Retrieve OpenAPI Specification"
      }
    },
    "/openapi.json": {
      "get": {
        "tags": [
          "openapi"
        ],
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        },
        "summary": "Retrieve OpenAPI Specification"
      }
    },
    "/openapi.yaml": {
      "get": {
        "tags": [
          "openapi"
        ],
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        },
        "summary": "Retrieve OpenAPI Specification"
      }
    },
    "/openapi/v3": {
      "get": {
        "tags": [
          "openapi"
        ],
        "responses": {
          "200": {
            "description": "OpenAPI Specification"
          }
        },
        "summary": "Retrieve OpenAPI Specification"
      }
    }
  },
  "components": {
    "securitySchemes": {
      "user": {
        "type": "apiKey",
        "description": "User name",
        "name": "X-SLURM-USER-NAME",
        "in": "header"
      },
      "token": {
        "type": "apiKey",
        "description": "User access token",
        "name": "X-SLURM-USER-TOKEN",
        "in": "header"
      },
      "bearerAuth": {
        "type": "http",
        "description": "Bearer Authentication",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {}
  }
}
