def create_workspace(name: nil, description: nil, language: nil, metadata: nil, learning_opt_out: nil, system_settings: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil)
      headers = {
      }
      sdk_headers = Common.new.get_sdk_headers("conversation", "V1", "create_workspace")
      headers.merge!(sdk_headers)

      params = {
        "version" => @version
      }

      data = {
        "name" => name,
        "description" => description,
        "language" => language,
        "metadata" => metadata,
        "learning_opt_out" => learning_opt_out,
        "system_settings" => system_settings,
        "intents" => intents,
        "entities" => entities,
        "dialog_nodes" => dialog_nodes,
        "counterexamples" => counterexamples
      }

      method_url = "/v1/workspaces"

      response = request(
        method: "POST",
        url: method_url,
        headers: headers,
        params: params,
        json: data,
        accept_json: true
      )
      response
    end
def create_workspace(name: nil, description: nil, language: nil, metadata: nil, learning_opt_out: nil, system_settings: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil)
      headers = {
      }
      sdk_headers = Common.new.get_sdk_headers("conversation", "V1", "create_workspace")
      headers.merge!(sdk_headers)

      params = {
        "version" => @version
      }

      data = {
        "name" => name,
        "description" => description,
        "language" => language,
        "metadata" => metadata,
        "learning_opt_out" => learning_opt_out,
        "system_settings" => system_settings,
        "intents" => intents,
        "entities" => entities,
        "dialog_nodes" => dialog_nodes,
        "counterexamples" => counterexamples
      }

      method_url = "/v1/workspaces"

      response = request(
        method: "POST",
        url: method_url,
        headers: headers,
        params: params,
        json: data,
        accept_json: true
      )
      response
    end
Workspaces


 @!method create_workspace(name: nil, description: nil, language: nil, metadata: nil, learning_opt_out: nil, system_settings: nil, intents: nil, entities: nil, dialog_nodes: nil, counterexamples: nil)
 Create workspace.
 Create a workspace based on component objects. You must provide workspace
   components defining the content of the new workspace.

   This operation is limited to 30 requests per 30 minutes. For more information, see
   **Rate limiting**.
 @param name [String] The name of the workspace. This string cannot contain carriage return, newline, or
   tab characters, and it must be no longer than 64 characters.
 @param description [String] The description of the workspace. This string cannot contain carriage return,
   newline, or tab characters, and it must be no longer than 128 characters.
 @param language [String] The language of the workspace.
 @param metadata [Hash] Any metadata related to the workspace.
 @param learning_opt_out [Boolean] Whether training data from the workspace (including artifacts such as intents and
   entities) can be used by IBM for general service improvements. `true` indicates
   that workspace training data is not to be used.
 @param system_settings [WorkspaceSystemSettings] Global settings for the workspace.
 @param intents [Array[CreateIntent]] An array of objects defining the intents for the workspace.
 @param entities [Array[CreateEntity]] An array of objects describing the entities for the workspace.
 @param dialog_nodes [Array[DialogNode]] An array of objects describing the dialog nodes in the workspace.
 @param counterexamples [Array[Counterexample]] An array of objects defining input examples that have been marked as irrelevant
   input.
 @return [IBMCloudSdkCore::DetailedResponse] A `IBMCloudSdkCore::DetailedResponse` object representing the response.