{
    "x-environment": "dbaoc",
    "x-api-acronym": "cp4ba",
    "x-environment-restriction": [
        "dbaoc-published"
    ],
    "schemes": [
        "https"
    ],
    "swagger": "2.0",
    "security": [
        {
            "basic_auth": [
            ]
        }
    ],
    "basePath": "/cp4ba/services",
    "paths": {
        "/environments/{environment}/kafka/password": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "put": {
                "summary": "Update the password used to access Kafka cluster.",
                "description": "Update the password for Kafka cluster. Only operators with access to the respective environment are authorized to call this API.",
                "operationId": "updateKafkaPassword",
                "tags": [
                    "Kafka"
                ],
                "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 for specifying the environment where Kafka cluster belongs to.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "kafka_password",
                        "in": "body",
                        "description": "New password to use for Kafka cluster access. Password must contain 1 upper and lower character, 1 digit, 1 special character (_-|@.,?/!#$%&*(){}[]=) and have a length of at least 40 characters.",
                        "schema": {
                            "$ref": "#/definitions/kafka_password"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The password for Kafka cluster 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 does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The request cannot be completed because of an incorrect password.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/jdbc_drivers": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "post": {
                "summary": "Create a JDBC driver for the workflow environment.",
                "description": "Create a JDBC driver in your workflow environment, which can be used for data source definitions.",
                "operationId": "createJDBCDriver",
                "tags": [
                    "Data Source 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 for specifying the environment where the JDBC driver is installed, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "formData",
                        "type": "string",
                        "description": "The name of the JDBC driver.",
                        "required": true
                    },
                    {
                        "name": "library",
                        "in": "formData",
                        "description": "The JDBC driver library. If the JDBC driver consists of multiple jar files, upload them together in a compressed file.",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "file_name",
                        "in": "formData",
                        "description": "The file name of the library.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The JDBC driver was successfully created.",
                        "schema": {
                            "$ref": "#/definitions/jdbc_driver"
                        }
                    },
                    "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"
                        }
                    },
                    "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 defined JDBC drivers in the current workflow environment.",
                "description": "List JDBC drivers.",
                "operationId": "listJDBCDrivers",
                "tags": [
                    "Data Source 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 for specifying 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 JDBC drivers to return.",
                        "required": false,
                        "type": "integer",
                        "minimum": 1
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The JDBC drivers were retrieved and returned successfully.",
                        "schema": {
                            "$ref": "#/definitions/jdbc_driver_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}/jdbc_drivers/{jdbc_driver_name}": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "delete": {
                "summary": "Delete a JDBC driver for the workflow environment.",
                "description": "Delete a JDBC driver from your workflow environment.",
                "operationId": "deleteJDBCDriver",
                "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 for specifying the environment where the JDBC driver is installed, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "jdbc_driver_name",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "description": "The name of the JDBC driver to be deleted."
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The JDBC driver 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 specified environment does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "409": {
                        "description": "The JDBC driver is still used by data sources.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            }
        },
        "/environments/{environment}/data_sources": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "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.",
                "operationId": "createDataSource",
                "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 for specifying the environment, 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 defined data sources in the current workflow environment.",
                "description": "List data sources.",
                "operationId": "listDataSources",
                "tags": [
                    "Data Source 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 data sources to return.",
                        "required": false,
                        "type": "integer",
                        "minimum": 1
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The data sources were retrieved and returned successfully.",
                        "schema": {
                            "$ref": "#/definitions/data_source_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}": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "delete": {
                "summary": "Delete a data source from the workflow environment.",
                "description": "Delete a data source from your workflow environment.",
                "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 for specifying the environment where the JDBC driver is installed, 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"
                        }
                    },
                    "404": {
                        "description": "The specified environment does not exist.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    },
                    "500": {
                        "description": "Internal server error.",
                        "schema": {
                            "$ref": "#/definitions/exception"
                        }
                    }
                }
            },
            "put": {
                "summary": "Update a data source definition in the workflow environment.",
                "description": "Update a data source in the workflow environment.",
                "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 for specifying the environment where the JDBC driver is installed, for example, 'dev' for the development environment.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data_source_name",
                        "in": "path",
                        "type": "string",
                        "required": true
                    },
                    {
                        "name": "data_source_details",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/data_source_details"
                        },
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The data source was successfully updated.",
                        "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, data source, 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"
                        }
                    }
                }
            }
        }
    },
    "produces": [
        "application/json"
    ],
    "securityDefinitions": {
        "basic_auth": {
            "type": "basic"
        }
    },
    "definitions": {
        "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."
                }
            }
        },
        "kafka_password": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "Change password information for Kafka cluster.",
            "required": [
                "password",
                "new_password"
            ],
            "properties": {
                "new_password": {
                    "description": "The new password for Kafka cluster.",
                    "type": "string"
                }
            }
        },
        "jdbc_driver": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "An object representing a JDBC driver.",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the JDBC driver."
                },
                "file_names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The list of JDBC driver file names."
                }
            }
        },
        "jdbc_driver_list": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "A list of JDBC drivers.",
            "required": [
                "jdbc_drivers"
            ],
            "properties": {
                "jdbc_drivers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/jdbc_driver"
                    }
                },
                "total_size": {
                    "type": "integer",
                    "description": "The total number of JDBC drivers available."
                },
                "previous": {
                    "type": "string",
                    "description": "A URL that returns the previous page of JDBC drivers."
                },
                "next": {
                    "type": "string",
                    "description": "A URL that returns the next page of JDBC drivers."
                }
            }
        },
        "data_source_properties": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "Properties for the 'properties' element in the data source.",
            "required": [
                "user"
            ],
            "properties": {
                "url": {
                    "description": "The connection URL of the data source. Either specify a URL or server_name, database_name, port.",
                    "type": "string"
                },
                "server_name": {
                    "description": "The name of the database server. Either specify a URL or server_name, database_name, port.",
                    "type": "string"
                },
                "port": {
                    "description": "The port to connect to the database server. Either specify a URL or server_name, database_name, port.",
                    "type": "integer"
                },
                "database_name": {
                    "description": "The name of the database. Either specify a URL or server_name, database_name, port.",
                    "type": "string"
                },
                "user": {
                    "description": "The user who initiated the database connection.",
                    "type": "string"
                },
                "password": {
                    "description": "The password of the user.",
                    "type": "string"
                },
                "database_type_property_name": {
                    "description": "The name of the property element in the generated Liberty data source.",
                    "type": "string",
                    "enum": [
                        "properties.db2.jcc",
                        "properties.db2.i.native",
                        "properties.db2.i.toolbox",
                        "properties.derby.client",
                        "properties.informix.jcc",
                        "properties.informix",
                        "properties.microsoft.sqlserver",
                        "properties.datadirect.sqlserver",
                        "properties.postgresql",
                        "properties.oracle",
                        "properties.oracle.ucp",
                        "properties.sybase",
                        "properties"
                    ],
                    "default": "properties"
                },
                "database_type_specific_properties": {
                    "description": "A list of properties specific to the database vendor type. Refer to the WebSphere Application Server Liberty documentation to get the list of properties that can be defined for your vendor type.",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/generic_property"
                    }
                }
            }
        },
        "generic_property": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "A generic definition of a property for an arbitrary object.",
            "required": [
                "name",
                "value"
            ],
            "properties": {
                "name": {
                    "description": "The name of the generic property.",
                    "type": "string"
                },
                "value": {
                    "description": "The value of the generic property.",
                    "type": "string"
                }
            }
        },
        "connection_manager_advanced_properties": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "Advanced connection manager properties.",
            "properties": {
                "auto_close_connections": {
                    "description": "Automatically attempts to close the connection when operation is complete.",
                    "type": "boolean",
                    "default": true
                },
                "enable_container_auth_for_direct_lookups": {
                    "description": "If set to true, connections use container authentication. If set to false, connections use application authentication.",
                    "type": "boolean",
                    "default": false
                },
                "enable_sharing_for_direct_lookups": {
                    "description": "If set to true, connections are shared. If set to false, connections are unshared.",
                    "type": "boolean",
                    "default": true
                },
                "max_connections_per_thread": {
                    "description": "Limits the number of open connections on each thread.",
                    "type": "integer",
                    "minimum": 0
                },
                "num_connections_per_thread_local": {
                    "description": "Caches the specified number of connections for each thread.",
                    "type": "integer",
                    "minimum": 0
                }
            }
        },
        "connection_manager": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "An object to define connection manager properties for a data source.",
            "properties": {
                "aged_timeout": {
                    "description": "The amount of time before a connection can be discarded during pool maintenance. Set to -1 to disable the timeout, or a value in seconds (s), minutes (m), or hours (h).",
                    "type": "string"
                },
                "connection_timeout": {
                    "description": "The amount of time after which a connection request times out. Set to -1 to disable the timeout, or a value in seconds (s), minutes (m), or hours (h).",
                    "type": "string"
                },
                "max_idle_time": {
                    "description": "The amount of time a connection can be unused or idle until it can be discarded during pool maintenance, if doing so does not reduce the pool below the minimum size. Set to -1 to disable the timeout, or a value in seconds (s), minutes (m), or hours (h).",
                    "type": "string"
                },
                "max_pool_size": {
                    "description": "The maximum number of physical connections for a pool.",
                    "type": "integer",
                    "minimum": 0
                },
                "min_pool_size": {
                    "description": "The minimum number of physical connections to maintain in the pool.",
                    "type": "integer",
                    "minimum": 0
                },
                "purge_policy": {
                    "description": "Specifies which connections to destroy when a stale connection is detected in a pool.",
                    "type": "string",
                    "enum": [
                        "EntirePool",
                        "FailingConnectionOnly",
                        "ValidateAllConnections"
                    ]
                },
                "reap_time": {
                    "description": "Amount of time between runs of the pool maintenance thread.",
                    "type": "string"
                },
                "advanced_properties": {
                    "$ref": "#/definitions/connection_manager_advanced_properties"
                }
            }
        },
        "data_source_details": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "Details about a data source definition.",
            "required": [
                "jdbc_driver_name",
                "properties",
                "vendor_type_property_name"
            ],
            "properties": {
                "jdbc_driver_name": {
                    "description": "The name of the JDBC driver used to connect to the database.",
                    "type": "string"
                },
                "properties": {
                    "$ref": "#/definitions/data_source_properties"
                },
                "connection_manager": {
                    "$ref": "#/definitions/connection_manager"
                },
                "isolation_level": {
                    "description": "The default isolation level of the data source.",
                    "type": "string",
                    "enum": [
                        "TRANSACTION_NONE",
                        "TRANSACTION_READ_COMMITTED",
                        "TRANSACTION_READ_UNCOMMITTED",
                        "TRANSACTION_REPEATABLE_READ",
                        "TRANSACTION_SERIALIZABLE",
                        "TRANSACTION_SNAPSHOT"
                    ]
                },
                "statement_cache_size": {
                    "description": "Maximum number of cached statements per connection.",
                    "type": "integer",
                    "minimum": 0
                },
                "transactional": {
                    "description": "Enable participation in transactions that are managed by the application server.",
                    "type": "boolean"
                }
            }
        },
        "data_source": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "A data source object returned from the APIs.",
            "required": [
                "name",
                "jndi_name",
                "details"
            ],
            "properties": {
                "name": {
                    "description": "The name of the data source.",
                    "type": "string"
                },
                "jndi_name": {
                    "description": "The JNDI name for a data source; the name is generated from the data source name.",
                    "type": "string"
                },
                "details": {
                    "$ref": "#/definitions/data_source_details"
                }
            }
        },
        "data_source_request": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "description": "A request object to create a data source.",
            "required": [
                "name",
                "details"
            ],
            "properties": {
                "name": {
                    "description": "The name of the datasource.",
                    "type": "string"
                },
                "details": {
                    "$ref": "#/definitions/data_source_details"
                }
            }
        },
        "data_source_list": {
            "x-environment-restriction": [
                "dbaoc-published"
            ],
            "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."
                }
            }
        }
    },
    "info": {
        "title": "IBM Cloud Pak for Business Automation as a Service APIs",
        "version": "2025.10",
        "description": "Resources for working with IBM Cloud Pak for Business Automation as a Service artifacts."
    },
    "consumes": [
        "application/json"
    ]
}
