{
    "schemes": [
        "https"
    ],
    "swagger": "2.0",
    "security": [
        {
            "basic_auth": [
            ]
        }
    ],
    "basePath": "/bpm/services",
    "paths": {
        "/csrf_token": {
            "post": {
                "summary": "Obtain a CSRF token.",
                "description": "Obtain a CSRF token.",
                "operationId": "createCsrfToken",
                "tags": [
                    "CSRF"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "csrf_request",
                        "in": "body",
                        "description": "A mandatory parameter for specifying the lifetime of the retrieved CSRF token.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/csrf_request"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The request was processed successfully and returned a new CSRF token.",
                        "schema": {
                            "$ref": "#/definitions/csrf_token"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/clusters": {
            "get": {
                "summary": "Get the status of all clusters.",
                "description": "Get the overall status of all clusters, including application cluster, messaging cluster, and support cluster. Only account operators are authorized to perform this call.",
                "operationId": "getClusterStatus",
                "tags": [
                    "Cluster Status"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The status was successfully retrieved.",
                        "schema": {
                            "$ref": "#/definitions/clusters_status"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/applications": {
            "post": {
                "summary": "Install a new enterprise application.",
                "description": "Install a new enterprise application on the workflow server in a cloud environment on the subscription.",
                "operationId": "installApplication",
                "tags": [
                    "Application Management"
                ],
                "consumes": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify where to install the application, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "mode",
                        "in": "query",
                        "description": "Specifies whether to install synchronously or asynchronously.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "sync",
                            "async"
                        ],
                        "default": "sync"
                    },
                    {
                        "name": "application_name",
                        "in": "formData",
                        "description": "The name of the application to install.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ear",
                        "in": "formData",
                        "description": "The application EAR file to upload.",
                        "required": true,
                        "type": "file"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The application EAR file was successfully installed (synchronous install mode).",
                        "schema": {
                            "$ref": "#/definitions/application"
                        }
                    },
                    "202": {
                        "description": "The installation of the application EAR file was initiated successfully (asynchronous install mode).",
                        "schema": {
                            "$ref": "#/definitions/application"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            },
            "get": {
                "summary": "Retrieve a list of installed applications.",
                "description": "Retrieve a list of applications installed in an environment on this subscription.",
                "operationId": "getApplicationsList",
                "tags": [
                    "Application Management"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "The number of entries to skip in the query result set before returning an entry. For example, if the offset is 2, entries are returned starting from the third entry in the result set.",
                        "required": false,
                        "type": "integer",
                        "default": 0,
                        "minimum": 0
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Maximum number of applications to return.",
                        "required": false,
                        "type": "integer",
                        "minimum": 1
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The request was processed successfully and returned a list of application objects that match the specified query parameters.",
                        "schema": {
                            "$ref": "#/definitions/applications_result"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/applications/{application_name}": {
            "put": {
                "summary": "Update an enterprise application.",
                "description": "Update an enterprise application on the workflow server in a cloud environment on the subscription.",
                "operationId": "updateApplication",
                "tags": [
                    "Application Management"
                ],
                "consumes": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment to install the updated application in, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "mode",
                        "in": "query",
                        "description": "Specifies whether to update synchronously or asynchronously.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "sync",
                            "async"
                        ],
                        "default": "sync"
                    },
                    {
                        "name": "application_name",
                        "in": "path",
                        "description": "The name of the application to update.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ear",
                        "in": "formData",
                        "description": "The application EAR file to upload.",
                        "required": true,
                        "type": "file"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The updated application EAR file was successfully installed (synchronous update mode).",
                        "schema": {
                            "$ref": "#/definitions/application"
                        }
                    },
                    "202": {
                        "description": "The update of the application EAR file was initiated successfully (asynchronous update mode).",
                        "schema": {
                            "$ref": "#/definitions/application"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID or the application with the specified name does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            },
            "delete": {
                "summary": "Delete an enterprise application.",
                "description": "Delete the application from an environment on this subscription.",
                "operationId": "deleteApplication",
                "tags": [
                    "Application Management"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "application_name",
                        "in": "path",
                        "description": "The name of the application to delete.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The application was deleted successfully."
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID or the application with the specified name does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/applications/{application_name}/start": {
            "post": {
                "summary": "Start an enterprise application.",
                "description": "Start an enterprise application on the workflow server in a cloud environment on the subscription.",
                "operationId": "startApplication",
                "tags": [
                    "Application Management"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify where to start the application, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "application_name",
                        "in": "path",
                        "description": "The name of the application to start.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The application started successfully.",
                        "schema": {
                            "$ref": "#/definitions/application"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID or the application with the specified name does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/applications/{application_name}/stop": {
            "post": {
                "summary": "Stop an enterprise application.",
                "description": "Stop an enterprise application on the workflow server in a cloud environment on the subscription.",
                "operationId": "stopApplication",
                "tags": [
                    "Application Management"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify where to stop the application, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "application_name",
                        "in": "path",
                        "description": "The name of the application to stop.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The application stopped successfully.",
                        "schema": {
                            "$ref": "#/definitions/application"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID or the application with the specified name does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/jdbc_drivers": {
            "get": {
                "summary": "Get available JDBC divers.",
                "description": "Get all available JDBC drivers. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "getJDBCDrivers",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The request was processed successfully and returned a list of JDBC drivers.",
                        "schema": {
                            "$ref": "#/definitions/jdbc_drivers_list"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/data_sources": {
            "post": {
                "summary": "Create a data source for the workflow environment.",
                "description": "Create a data source in your workflow environment, which can be referenced in workflow applications. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "createDataSource",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify where to install the application, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source",
                        "in": "body",
                        "description": "The data source to be created.",
                        "schema": {
                            "$ref": "#/definitions/data_source_request"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The data source was successfully created.",
                        "schema": {
                            "$ref": "#/definitions/data_source"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment or JDBC driver does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            },
            "get": {
                "summary": "Get a list of data sources in the current workflow environment.",
                "description": "Get a list of data sources in the current workflow environment. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "getDataSources",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "The number of entries to skip in the query result set before returning an entry. For example, if the offset is 2, entries are returned starting from the third entry in the result set.",
                        "required": false,
                        "type": "integer",
                        "default": 0,
                        "minimum": 0
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Maximum number of data sources to return.",
                        "required": false,
                        "type": "integer",
                        "minimum": 1
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The request was processed successfully and returned a list of data sources.",
                        "schema": {
                            "$ref": "#/definitions/data_sources_list"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/data_sources/{data_source_name}": {
            "get": {
                "summary": "Get a data source from the workflow environment including all details.",
                "description": "Get a data source from the workflow environment including all details. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "getDataSource",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the data source."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The data source was returned successfully.",
                        "schema": {
                            "$ref": "#/definitions/data_source_with_details"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment or data source does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            },
            "delete": {
                "summary": "Delete a data source from the workflow environment.",
                "description": "Delete a data source from your workflow environment. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "deleteDataSource",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the data source to be deleted."
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The data source was deleted successfully."
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            },
            "put": {
                "summary": "Update the basic properties of a data source.",
                "description": "Update the basic settings of a data source in the workflow environment. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "updateDataSource",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the data source."
                    },
                    {
                        "name": "data_source",
                        "in": "body",
                        "description": "The data source to be created.",
                        "schema": {
                            "$ref": "#/definitions/data_source_update_request"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The data source was updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/data_source"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment or data source does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/data_sources/{data_source_name}/alias": {
            "put": {
                "summary": "Change the username and password for a datasource.",
                "description": "Change the username and password for a datasource. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "updateDataSourceAlias",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the data source to be updated."
                    },
                    {
                        "name": "data_source_alias",
                        "in": "body",
                        "description": "The new user and password.",
                        "schema": {
                            "$ref": "#/definitions/data_source_alias"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The data source's alias was updated successfully."
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment or data source does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/data_sources/{data_source_name}/test_connection": {
            "post": {
                "summary": "Test the connection of a data source.",
                "description": "Test the connection of a data source. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "testDataSourceConnection",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the data source to be tested."
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The data source connection was tested.",
                        "schema": {
                            "$ref": "#/definitions/data_source_test_connection_result"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment or data source does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/data_sources/{data_source_name}/connection_pool/properties/{property_name}": {
            "put": {
                "summary": "Update a single connection pool property of a data source.",
                "description": "Update a single property of a connection pool. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "updateConnectionPoolProperty",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the data source."
                    },
                    {
                        "name": "property_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the connection pool property."
                    },
                    {
                        "name": "property_value",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/property_value"
                        },
                        "description": "The new value for the connection pool property. Must be convertable to the property's type.'."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The data source connection pool property was updated.",
                        "schema": {
                            "$ref": "#/definitions/data_source_property"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment, the data source, or the property does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/data_sources/{data_source_name}/custom_properties/{property_name}": {
            "put": {
                "summary": "Update a custom property of a data source.",
                "description": "Update a database vendor specific property of a data source. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "updateCustomDataSourceProperty",
                "tags": [
                    "Data Source Management"
                ],
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the data source to be updated."
                    },
                    {
                        "name": "property_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the property to be updated."
                    },
                    {
                        "name": "property_value",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/property_value"
                        },
                        "description": "The new value for the property. Must be convertable to the property's type.'."
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The custom property was updated.",
                        "schema": {
                            "$ref": "#/definitions/data_source_property"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The specified environment, the data source, or the property does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of a conflict with the current state of the resource.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/restart_requests": {
            "get": {
                "summary": "Get pending restart requests for the given environment.",
                "description": "Returns active restart requests for the given environment. Operators who have access to the environment are allowed to perform this call.",
                "operationId": "getRestartRequests",
                "tags": [
                    "Restart"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter to specify the environment for the restart requests, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The request was processed successfully and returned a list of active restart requests.",
                        "schema": {
                            "$ref": "#/definitions/restart_requests"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            },
            "post": {
                "summary": "Request to restart an environment.",
                "description": "Restart an entire workflow environment, or only a specific WebSphere cluster within a workflow environment.",
                "operationId": "requestRestart",
                "tags": [
                    "Restart"
                ],
                "parameters": [
                    {
                        "name": "IBM-CSRF-TOKEN",
                        "in": "header",
                        "description": "The REST API token for cross-site request forgery (CSRF) prevention.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "environment",
                        "in": "path",
                        "description": "Parameter for specifying the environment to restart, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "cluster",
                        "in": "query",
                        "description": "Optional parameter to restrict the restart request to a cluster type, for example, AppCluster.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "AppCluster",
                            "MECluster",
                            "SupCluster"
                        ]
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The environment restart request was processed successfully.",
                        "schema": {
                            "$ref": "#/definitions/restart_request"
                        }
                    },
                    "400": {
                        "description": "The request contains invalid parameters, or they are missing.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "403": {
                        "description": "The caller is not authorized to perform the request.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "404": {
                        "description": "The environment with the specified ID does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because there is already an active restart request for this environment.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        }
    },
    "produces": [
        "application/json"
    ],
    "securityDefinitions": {
        "basic_auth": {
            "type": "basic"
        }
    },
    "definitions": {
        "clusters_status": {
            "title": "The overall status of all clusters, including application cluster, messaging cluster, and support cluster.",
            "description": "Response object for cluster status request.",
            "properties": {
                "clusters": {
                    "description": "Status of all clusters.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/cluster_status"
                    }
                }
            }
        },
        "cluster_status": {
            "description": "The status of a cluster, for example the application cluster.",
            "properties": {
                "name": {
                    "description": "The cluster name.",
                    "type": "string",
                    "enum": [
                        "AppCluster",
                        "MECluster",
                        "SupCluster"
                    ]
                },
                "status": {
                    "description": "The status of the cluster.",
                    "type": "string",
                    "enum": [
                        "running",
                        "stopped",
                        "partial",
                        "unknown"
                    ]
                },
                "number_of_members": {
                    "description": "The number of cluster members.",
                    "type": "integer"
                }
            }
        },
        "csrf_request": {
            "title": "Cross-site request forgery (CSRF) protection request",
            "description": "Request object for creating a new CSRF token.",
            "properties": {
                "requested_lifetime": {
                    "description": "The lifetime of the requested token in seconds (positive integer). The value must be smaller than the maximum lifetime value of 7200.",
                    "type": "integer",
                    "default": 7200,
                    "minimum": 1,
                    "format": "int32"
                }
            }
        },
        "csrf_token": {
            "title": "Cross-site request forgery (CSRF) protection token",
            "description": "A token required by REST APIs to prevent (CSRF) attacks.",
            "properties": {
                "csrf_token": {
                    "type": "string"
                },
                "expiration": {
                    "type": "integer"
                }
            }
        },
        "applications_result": {
            "description": "A list of application objects.",
            "required": [
                "applications"
            ],
            "properties": {
                "applications": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/application"
                    }
                },
                "total_size": {
                    "type": "integer",
                    "description": "The total number of applications available."
                },
                "previous": {
                    "type": "string",
                    "description": "A URL that returns the previous page of applications."
                },
                "next": {
                    "type": "string",
                    "description": "A URL that returns the next page of applications."
                }
            }
        },
        "status_message": {
            "description": "A status messages.",
            "properties": {
                "message": {
                    "description": "The message.",
                    "type": "string"
                }
            }
        },
        "application": {
            "description": "The application details.",
            "properties": {
                "name": {
                    "description": "The name of the application.",
                    "type": "string"
                },
                "state": {
                    "description": "The state the application is in.",
                    "type": "string",
                    "enum": [
                        "unknown",
                        "running",
                        "stopped",
                        "starting",
                        "stopping",
                        "partial",
                        "installing",
                        "install_failed",
                        "updating"
                    ]
                },
                "details": {
                    "description": "Detailed information about the application.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/status_message"
                    }
                }
            }
        },
        "restart_request": {
            "description": "An object that describes the restart request.",
            "required": [
                "environment",
                "restart_request_id",
                "requestor",
                "state"
            ],
            "properties": {
                "restart_request_id": {
                    "description": "The restart request ID.",
                    "type": "string"
                },
                "requestor": {
                    "description": "The user who requested the restart.",
                    "type": "string"
                },
                "state": {
                    "description": "The state of the restart request.",
                    "type": "string",
                    "enum": [
                        "in_progress",
                        "failed",
                        "completed"
                    ]
                },
                "request_time": {
                    "description": "The time when the restart was requested.",
                    "type": "string",
                    "format": "date-time"
                },
                "completion_time": {
                    "description": "The time when the restart completed.",
                    "type": "string",
                    "format": "date-time"
                },
                "cluster": {
                    "description": "The cluster to be restarted, for example, AppCluster.",
                    "type": "string",
                    "enum": [
                        "AppCluster",
                        "MECluster",
                        "SupCluster"
                    ]
                },
                "steps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/restart_request_step"
                    }
                }
            }
        },
        "restart_request_step": {
            "description": "A step in a restart request.",
            "properties": {
                "name": {
                    "description": "A descriptive name of the step.",
                    "type": "string"
                },
                "state": {
                    "description": "The state of the step.",
                    "type": "string",
                    "enum": [
                        "inactive",
                        "started",
                        "completed",
                        "failed"
                    ]
                }
            }
        },
        "jdbc_driver": {
            "description": "An object representing a JDBC driver.",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the JDBC Driver."
                },
                "data_source_custom_properties": {
                    "$ref": "#/definitions/data_source_template_property_list"
                }
            }
        },
        "jdbc_drivers_list": {
            "description": "A list of JDBC drivers.",
            "required": [
                "jdbc_drivers"
            ],
            "properties": {
                "jdbc_drivers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jdbc_driver"
                    }
                }
            }
        },
        "data_source_connection": {
            "description": "Data source connection properties.",
            "required": [
                "user"
            ],
            "properties": {
                "url": {
                    "type": "string",
                    "description": "The connection URL."
                },
                "server": {
                    "type": "string",
                    "description": "The database server name or IP."
                },
                "port": {
                    "type": "integer",
                    "description": "The database server port."
                },
                "is_secure": {
                    "type": "boolean",
                    "description": "Whether to connect over SSL/TSL."
                },
                "database_name": {
                    "type": "string",
                    "description": "The name of the database."
                },
                "user": {
                    "type": "string",
                    "description": "The user to connect to the database."
                }
            }
        },
        "data_source_connection_request": {
            "description": "Data source connection properties that need to be provided to create a data source.",
            "required": [
                "user",
                "password"
            ],
            "properties": {
                "url": {
                    "type": "string",
                    "description": "The connection URL."
                },
                "server": {
                    "type": "string",
                    "description": "The database server name or IP."
                },
                "port": {
                    "type": "integer",
                    "description": "The database server port. Default is defined by database vendor."
                },
                "is_secure": {
                    "type": "boolean",
                    "description": "Whether to connect over SSL/TSL."
                },
                "database_name": {
                    "type": "string",
                    "description": "The name of the database."
                },
                "user": {
                    "type": "string",
                    "description": "The user to connect to the database."
                },
                "password": {
                    "type": "string",
                    "description": "The password of the database user."
                }
            }
        },
        "data_source_request": {
            "description": "Request object to create a new data source.",
            "required": [
                "name",
                "jdbc_driver_name",
                "connection"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The data source name."
                },
                "description": {
                    "type": "string",
                    "description": "The description of the data source."
                },
                "jdbc_driver_name": {
                    "type": "string",
                    "description": "The name of the JDBC driver."
                },
                "connection": {
                    "$ref": "#/definitions/data_source_connection_request"
                }
            }
        },
        "data_source_connection_update_request": {
            "description": "Data source connection properties that need to be provided to update a data source.",
            "properties": {
                "url": {
                    "type": "string",
                    "description": "The connection URL."
                },
                "server": {
                    "type": "string",
                    "description": "The database server name or IP."
                },
                "port": {
                    "type": "integer",
                    "description": "The database server port. Default is defined by database vendor."
                },
                "is_secure": {
                    "type": "boolean",
                    "description": "Whether to connect over SSL/TSL."
                },
                "database_name": {
                    "type": "string",
                    "description": "The name of the database."
                }
            }
        },
        "data_source_update_request": {
            "description": "Request object to update an existing data source.",
            "required": [
                "connection"
            ],
            "properties": {
                "description": {
                    "type": "string",
                    "description": "The description of the data source."
                },
                "connection": {
                    "$ref": "#/definitions/data_source_connection_update_request"
                }
            }
        },
        "data_source_property": {
            "description": "A property used to define further details of a data source.",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "data_source_template_property": {
            "description": "A property used to define further details of a data source.",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "required": {
                    "type": "boolean"
                },
                "description": {
                    "type": "string"
                },
                "default_value": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "string_type",
                        "number_type",
                        "boolean_type"
                    ]
                }
            }
        },
        "property_value": {
            "description": "A property value of a data source. String is casted to the target type.",
            "required": [
                "value"
            ],
            "properties": {
                "value": {
                    "type": "string"
                }
            }
        },
        "data_source_property_list": {
            "description": "A list of properties.",
            "required": [
                "properties"
            ],
            "properties": {
                "properties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/data_source_property"
                    }
                }
            }
        },
        "data_source_template_property_list": {
            "description": "A list of properties.",
            "required": [
                "properties"
            ],
            "properties": {
                "properties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/data_source_template_property"
                    }
                }
            }
        },
        "data_source": {
            "description": "An object representing a custom data source definition.",
            "required": [
                "name",
                "jdbc_driver_name",
                "jndi_name",
                "connection"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the data source."
                },
                "description": {
                    "type": "string",
                    "description": "The description of the data source."
                },
                "jdbc_driver_name": {
                    "type": "string",
                    "description": "The JDBC driver name."
                },
                "jndi_name": {
                    "type": "string",
                    "description": "The JNDI lookup name of the datasource."
                },
                "connection": {
                    "$ref": "#/definitions/data_source_connection"
                }
            }
        },
        "data_sources_list": {
            "description": "A list of data sources.",
            "required": [
                "data_sources"
            ],
            "properties": {
                "data_sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/data_source"
                    }
                },
                "total_size": {
                    "type": "integer",
                    "description": "The total number of data sources available."
                },
                "previous": {
                    "type": "string",
                    "description": "A URL that returns the previous page of data sources."
                },
                "next": {
                    "type": "string",
                    "description": "A URL that returns the next page of data sources."
                }
            }
        },
        "data_source_alias": {
            "description": "Credentials for a data source.",
            "required": [
                "user",
                "password"
            ],
            "properties": {
                "user": {
                    "type": "string",
                    "description": "The user name."
                },
                "password": {
                    "type": "string",
                    "description": "The password"
                }
            }
        },
        "data_source_connection_pool": {
            "description": "An object to define connection pool properties for a data source.",
            "required": [
                "connection_timeout",
                "max_connections",
                "min_connections",
                "reap_time",
                "unused_timeout",
                "aged_timeout",
                "purge_policy"
            ],
            "properties": {
                "connection_timeout": {
                    "description": "The amount of time after which a connection request times out.",
                    "type": "integer",
                    "default": 180
                },
                "max_connections": {
                    "description": "The maximum number of physical connections for a pool.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 10
                },
                "min_connections": {
                    "description": "The minimum number of physical connections to maintain in the pool.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "reap_time": {
                    "description": "Amount of time between runs of the pool maintenance thread.",
                    "type": "integer",
                    "default": 180
                },
                "unused_timeout": {
                    "description": "The maximum amount of time a connection remains unused in the pool.",
                    "type": "integer",
                    "default": 1800
                },
                "aged_timeout": {
                    "description": "The amount of time before a connection can be discarded during pool maintenance.",
                    "type": "integer",
                    "default": 0
                },
                "purge_policy": {
                    "description": "Specifies which connections to destroy when a stale connection is detected in a pool.",
                    "type": "string",
                    "enum": [
                        "EntirePool",
                        "FailingConnectionOnly"
                    ],
                    "default": "EntirePool"
                }
            }
        },
        "data_source_with_details": {
            "description": "An object representing a custom data source definition with detailed settings.",
            "required": [
                "name",
                "jdbc_driver_name",
                "jndi_name",
                "connection"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the data source."
                },
                "description": {
                    "type": "string",
                    "description": "The description of the data source."
                },
                "jdbc_driver_name": {
                    "type": "string",
                    "description": "The JDBC driver name."
                },
                "jndi_name": {
                    "type": "string",
                    "description": "The JNDI lookup name of the datasource."
                },
                "connection": {
                    "$ref": "#/definitions/data_source_connection"
                },
                "connection_pool": {
                    "$ref": "#/definitions/data_source_connection_pool"
                },
                "custom_properties": {
                    "$ref": "#/definitions/data_source_property_list"
                }
            }
        },
        "data_source_test_connection_result": {
            "description": "The result object of testing the connection of a data source.",
            "required": [
                "success"
            ],
            "properties": {
                "success": {
                    "type": "boolean",
                    "description": "Whether the connection test was successful."
                },
                "message": {
                    "type": "string",
                    "description": "In case the connection test faild, details about the failure."
                }
            }
        },
        "restart_requests": {
            "description": "A list of the active restart requests for the environment.",
            "properties": {
                "requests": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/restart_request"
                    }
                }
            }
        },
        "exception": {
            "description": "An exception object that describes the details of the REST API error.",
            "required": [
                "error_number",
                "error_message"
            ],
            "properties": {
                "error_number": {
                    "type": "string",
                    "description": "The message ID of the exception."
                },
                "error_message": {
                    "type": "string",
                    "description": "The message text of the exception."
                },
                "error_message_parameters": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "description": "An array of parameter strings that were inserted into the error message."
                    },
                    "description": "Message text parameters for the exception."
                },
                "error_cause": {
                    "$ref": "#/definitions/exception"
                },
                "error_details": {
                    "type": "object",
                    "description": "Additional details to clarify the exception."
                },
                "incident_id": {
                    "type": "string",
                    "description": "Unique identifier of the exception. An authorized user can use the incident ID to locate the details of the exception in the server's messages.log file."
                }
            }
        }
    },
    "info": {
        "title": "IBM Business Automation Workflow on Cloud services APIs",
        "version": "2025.10",
        "description": "Resources for working with IBM Business Automation Workflow on Cloud artifacts."
    },
    "consumes": [
        "application/json"
    ]
}
