Copy Workspace
Copy the specified workspace from one organization to another or within the organization.
Note: For ZANALYTICS-ORGID header, provide the source organization id as the value.
REQUEST URI
https://<ZohoAnalytics_Server_URI>/restapi/v2/workspaces/<workspace-id>
Postoauthscope: ZohoAnalytics.modeling.create
QUERY PARAMETERS
| Description | |
|---|---|
| CONFIG* | JSONObject Config parameter specifications are available in the below section.  | 
FIELDS FOR CONFIG JSON
| Key | Description | 
|---|---|
| newWorkspaceName* | String The name of the new workspace.  | 
| newWorkspaceDesc | String The description of the new workspace.  | 
| workspaceKey | String source workspace secret key The secret key used for allowing the user to copy the source workspace.  | 
| copyWithData | Boolean To copy the workspace with table data.  | 
| copyWithImportSource | Boolean To copy the workspace with import sources.  | 
REQUEST HEADERS (ACTION SPECIFIC)
| Name | Value | Description | 
|---|---|---|
| ZANALYTICS-DEST-ORGID | <destination-org-id> | Id of the organization where the workspace have to be copied. | 
POSSIBLE ERROR CODES
Sample Request:
Copiedcurl https://analyticsapi.zoho.com/restapi/v2/workspaces/<workspace-id>?CONFIG=<encoded_json_value> 
-X 'POST' 
-H 'ZANALYTICS-ORGID: <source-org-id>' 
-H 'Authorization: Zoho-oauthtoken <access_token>'Copiedusing System;
using System.Collections.Generic;
using ZohoAnalytics;
using System.Text.Json;
namespace ZohoAnalyticsTest
{
    class Program
    {
        long orgId = 55522777;
        long workspaceId = 35130000001055707;
        public void CopyWorkspace(IAnalyticsClient ac)
        {
            string newWorkspaceName = "C# Lib Copy";
            IWorkspaceAPI ws = ac.GetWorkspaceInstance(orgId, workspaceId);
            long newWorkspaceId = ws.Copy(newWorkspaceName, null, null);
            Console.WriteLine(newWorkspaceId);
        }
        static void Main(string[] args)
        {
            string clientId = "1000.xxxxxxx";
            string clientSecret = "xxxxxxx";
            string refreshToken = "1000.xxxxxxx.xxxxxxx";
            try
            {
                IAnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
                Program obj = new Program();
                obj.CopyWorkspace(ac);
            }
            catch (ServerException ex)
            {
                Console.WriteLine("Server exception - " + ex.GetErrorMessage());
            }
            catch (Exception ex)
            {
                Console.WriteLine("Other exception - " + ex.Message);
            }
        }
    }
}Copiedpackage main
import (
    "fmt"
    ZAnalytics "zoho/pkg/analyticsclient"
)
var(
    clientId = "1000.xxxxxxx"
    clientSecret = "xxxxxxx"
    refreshToken = "1000.xxxxxxx.xxxxxxx"
    orgId = "55522777"
    workspaceId = "35130000001055707"
)
func CopyWorkspace(ac ZAnalytics.Client) {
    config := map[string]interface{}{}
    newworkspacename := "Go Lib Copied db"
    destorgid := ""
    workspace := ZAnalytics.GetWorkspaceInstance(&ac, orgId, workspaceId)
    result, exception := workspace.Copy(newworkspacename, config, destorgid)
    if(exception != nil){
        fmt.Println(exception.ErrorMessage)
    }else{
        fmt.Println(result)
    }
}
func main() {
    ac := ZAnalytics.GetAnalyticsClient(clientId, clientSecret, refreshToken)
    CopyWorkspace(ac)
}
Copiedimport com.zoho.analytics.client.*;
import org.json.*;
public class Test {
    private long orgId = 55522777l;
    private long workspaceId = 35130000001055707l;
    public static void main(String args[]){
        String clientId = "1000.xxxxxxx";
        String clientSecret = "xxxxxxx";
        String refreshToken = "1000.xxxxxxx.xxxxxxx";
        Test tObj = new Test();
        AnalyticsClient ac = new AnalyticsClient(clientId, clientSecret, refreshToken);
        try {
            tObj.copyWorkspace(ac);
        }
        catch (ServerException ex) {
            System.out.println("Server exception - ErrorCode : " + ex.getErrorCode() + ", ErrorMessage : "  + ex.getErrorMessage());
        }
        catch (ParseException ex) {
            System.out.println("Parser exception - ErrorMessage : "  + ex.getResponseMessage());
        }
        catch (Exception ex) {
            System.out.println("Other exception - ");
            ex.printStackTrace();
        }
    }
    public void copyWorkspace(AnalyticsClient ac) throws Exception {
        WorkspaceAPI workspace = ac.getWorkspaceInstance(orgId, workspaceId);
        String workspaceName = "JAVA Lib";
        long result = workspace.copy(workspaceName, null, null);
        System.out.println(result);
    }
}
Copied<?php
    require 'AnalyticsClient.php';
    class Test
    {
        public $ac = NULL;
        public $client_id = "1000.xxxxxxx";
        public $client_secret = "xxxxxxx";
        public $refresh_token = "1000.xxxxxxx.xxxxxxx";
        public $org_id = "55522777";
        public $workspace_id = "35130000001055707";
        function __construct() {
            $this->ac =  new AnalyticsClient($this->client_id, $this->client_secret, $this->refresh_token);
        }
        function copyWorkspace() {
            $new_workspace_name = "PHP Lib copy workspace";
            $workspace = $this->ac->getWorkspaceInstance($this->org_id, $this->workspace_id);
            $response = $workspace->copy($new_workspace_name);
            print_r($response);
        }
    }
    $test_obj = new Test();
    try {
        $test_obj->copyWorkspace();
    }
    catch(ServerException $se) {
        echo "Server exception : " . $se->getErrorMessage() . "\n";
    }
    catch(IOException $ioe) {
        echo "IO exception : " . $ioe->getErrorMessage() . "\n";
    }
    catch(ParseException $pe) {
        echo "Parser exception : " . $pe->getErrorMessage() . "\n";
    }
    catch(Exception $e) {
        echo "Exception : " . $e->getErrorMessage() . "\n";
    }
?>
Copiedfrom __future__ import with_statement
from AnalyticsClient import AnalyticsClient
import sys
import json
class Config:
    CLIENTID = "1000.xxxxxxx";
    CLIENTSECRET = "xxxxxxx";
    REFRESHTOKEN = "1000.xxxxxxx.xxxxxxx";
    ORGID = "55522777";
    WORKSPACEID = "35130000001055707";
class sample:
    ac = AnalyticsClient(Config.CLIENTID, Config.CLIENTSECRET, Config.REFRESHTOKEN)
    def copy_workspace(self, ac):
        new_workspace_name = "Copied Python Lib"
        workspace = ac.get_workspace_instance(Config.ORGID, Config.WORKSPACEID)
        result = workspace.copy(new_workspace_name)
        print(result)
try:
    obj = sample()
    obj.copy_workspace(obj.ac);
except Exception as e:
    print(str(e))
Copiedvar analyticsClient = require('./AnalyticsClient');
var clientId = '1000.xxxxxxx';
var clientSecret = 'xxxxxxx';
var refreshtoken = '1000.xxxxxxx.xxxxxxx';
var orgId = '55522777';
var workspaceId = '35130000001055707';
var ac = new analyticsClient(clientId, clientSecret, refreshtoken);
var config = {};
var workspaceName = '';
var workspace = ac.getWorkspaceInstance(orgId, workspaceId);
workspace.copy(workspaceName, config).then((response) => {
    console.log(response);
}).catch((error) => {
    console.log('errorCode : '+error.errorCode);
    console.log('errorMessage : '+error.errorMessage);
});
CopiedorgId = "55522777";
workspaceId = "35130000001055707";
config = Map();
newWorkspaceName = "Workspace - 2";
config.put("newWorkspaceName",newWorkspaceName);
paramsMap = Map();
paramsMap.put("CONFIG",config.toString());
headersMap = Map();
headersMap.put("ZANALYTICS-ORGID",orgId);
response = invokeurl
[
    url :"https://analyticsapi.zoho.com/restapi/v2/workspaces/" + workspaceId
    type :POST
    parameters:paramsMap
    headers:headersMap
    connection:"analytics_oauth_connection"
];
info response;
Download client libraries: C# | GO | JAVA | PHP | PYTHON | NodeJS
Sample value for CONFIG parameter:
Copied{
  "newWorkspaceName": "<workspace-name>"
}Sample Response:
CopiedHTTP/1.1 200 OK
Content-Type:application/json;charset=UTF-8
{
    "status": "success",
    "summary": "Copy workspace",
    "data": {
        "workspaceId": "1767024000003145006"
    }
}