Differences

This shows you the differences between two versions of the page.

Link to this comparison view

muster:8.0:restful_http_api [2018/01/11 08:21] (current)
Line 1: Line 1:
 +====== Muster RESTful HTTP API ======
  
 +The Muster RESTful API allows developer to query and interact with the Dispatcher service using HTTP requests parsed through the Muster builtin web server.
 +
 +The API is available under the /api subfolder of the Web server and it's actually used by the Muster web server itself to provide its user interface.
 +
 +<code http>
 +http://​{your.muster.webserver}:​9790/​api/​
 +</​code>​
 +
 +===== General info about web methods =====
 +
 +==== Authentication and Token ====
 +Any method call expects an input token required to identify the current user or device session. The /login method is required to authenticate an user and get back the token required for the subsequent API calls that requires an authentication.
 +
 +==== Required Parameters and Optional Parameters ====
 +In this guide all optional parameters are enclosed in square bracket. All other parameters are required.
 +
 +==== Json and Xml format ====
 +All methods support json or xml formats for request/​response data.
 +
 +You can specify format parameters in QueryString or in a Content-Type request header:
 +
 +QueryString sample:
 +  * $format=json | xml
 +  * format=json | xml
 +
 +Request Header sample:
 +<​code>​
 +Content-Type:​ text/xml | application/​json
 +</​code>​
 +
 +Muster server analyse the format parameter in this sequence:
 +  * “$format” in querystring
 +  * if not provided, the server search “format” in querystring
 +  * if not provided, the server search “content-type” in request header
 +  * if not provided, the server set “json” as default request/​response format
 +
 +
 +==== Methods Return ====
 +
 +All the methods return a **ResponseStatus** element that's required to check if a call has been successfully or to retrieve the error code and description.
 +
 +The ResponseStatus object contains a code, a description and a response time:
 +
 +^Member^Type^Meaning^
 +|Code|Number|The HTTP Response status code|
 +|Time|Number|A C time value in seconds|
 +|Description|String|A string describing the status response|
 +
 +The code inherits from the standard HTTP response codes: ​
 +
 +^Code^Meaning^Description^
 +|200|No error|The operation completed successfully|
 +|400|Malformed request|The request is malformed or you did not sent all the required fields in the request|
 +|403|Unauthorised action|An unauthorised action was denied. This may be returned also if you do not supply an authentication token or a wrong one|
 +|401|Wrong username or password|The authentication attempt failed|
 +
 +For further information you can take a look the following RFC: http://​www.w3.org/​Protocols/​rfc2616/​rfc2616-sec10.html
 +
 +Along with a **ResponseStatus** member, a typical response will also include a **ResponseData** member, This is a typical request to login on the web server with the **authToken** inside the **ResponseData** member:
 +
 +<​code>​
 +http://​musterserver:​9790/​api/​login?​username=admin&​password=mypassword
 +</​code>​
 +
 +++++ This is a typical response reported back from the server after the authentication:​ |
 +
 +<code http>
 +{
 +    "​ResponseData":​
 +    {
 +        "​authToken":​ "​548F2500212A1FD2783FBF5310D889D0530F2C95"​
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1393503380,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++++
 +==== Requests ====
 +
 +Any request may be required to provide data to the server in order to perform a particular action. Data must be encapsulated inside a **RequestData** JSON encoded POST. The following example changes the password of the user associated with the current authorization token:
 +
 +++++URL|
 +<​code>​
 +{base_url}/​users/​changepassword?​authToken={yourToken}&​[$format]
 +</​code>​
 +++++
 +
 +++++Post data|
 +<​code>​
 +{
 + “RequestData”:​
 + {
 + “oldPassword”:​”currentPassword”,​
 + “newPassword”:​”newPassword”
 + }
 +}
 +</​code>​
 +++++
 +
 +++++ Typical response|
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1339840278,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++++
 +
 +===== Login URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​login|Login on the Muster HTTP server|username,​password|authToken|An authorization token to be used for successive API calls|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​login?​username=admin&​password=mypassword
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​authToken":​ "​426200942D0501285315C82F"​
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1339840278,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​logout|Used to logout and invalidate the authorization token|authToken|None| |
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​logout?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1393936331,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +
 +===== Configuration URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​configuration/​list|Retrieves the Dispatcher configuration| |A member for each Dispatcher section|A JSON array of configuration sections|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​list?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​General":​
 +        {
 +            "​engine_startup":​ true,
 +            "​enable_webserver":​ true
 +        },
 +        "​Database":​
 +        {
 +            "​username":​ "​muster",​
 +            "​password":​ "​muster",​
 +            "​address":​ "​127.0.0.1",​
 +            "​engine":​ "​sqlite",​
 +            "​db_name":​ "​muster.db",​
 +            "​db_historyname":​ "​muster_history.db"​
 +        },
 +        "​Behaviours":​
 +        {
 +            "​remove_orphaned_instances":​ true,
 +            "​requeue_on_disconnection":​ true,
 +            "​requeue_on_timeout":​ true,
 +            "​requeue_on_timeout_timer":​ 240,
 +            "​requeue_kill_active_renders":​ true,
 +            "​submit_paused_jobs":​ false,
 +            "​max_threads":​ 8,
 +            "​enable_nt_automapping":​ true,
 +            "​drive_mapping":​ "​Z:​\\#​\\\\myserver\\myshare#​0#​1?",​
 +            "​nt_automapping_disconnection_policy":​ 0,
 +            "​instances_distinguish":​ true,
 +            "​maximum_chunks_requeue":​ 0,
 +            "​subchunk_calculate_progress":​ false,
 +            "​build_status_array":​ true,
 +            "​subst_case_sensitive":​ false,
 +            "​flag_completed_jobs_as_archived":​ false,
 +            "​flag_jobs_as_archived":​ false,
 +            "​flag_jobs_as_archived_num":​ 1,
 +            "​flag_jobs_as_archived_countertype":​ 1,
 +            "​prefilter_parent_pool":​ true,
 +            "​process_username":​ "",​
 +            "​process_user_pwd":​ "",​
 +            "​make_templates_snapshots":​ true
 +        },
 +        "​Logs":​
 +        {
 +            "​auto_log_clear":​ true,
 +            "​auto_log_clear_limit":​ 2500,
 +            "​sendlog_mail":​ false,
 +            "​sendlog_mail_resolution":​ 1000,
 +            "​log_system_events":​ true,
 +            "​log_users_events":​ true,
 +            "​log_clients_events":​ true,
 +            "​log_clientserror_events":​ true,
 +            "​rc_log_cmdline":​ true,
 +            "​rc_log_retcode":​ true,
 +            "​activity_logs_folder":​ "​C:​\\Users\\leo\\Documents\\Muster8\\Debug\\logs\\dispatcher\\activity",​
 +            "​clear_activity_logs_older_than":​ true,
 +            "​activity_logs_days":​ 120,
 +            "​clear_activity_logs_exceeds":​ false,
 +            "​activity_logs_exceeds_mb":​ 1,
 +            "​activity_logs_severity":​ 2,
 +            "​actions_logs_folder":​ "​C:​\\Users\\leo\\Documents\\Muster8\\Debug\\logs\\dispatcher\\actions",​
 +            "​clear_actions_logs_older_than":​ true,
 +            "​actions_logs_days":​ 120,
 +            "​clear_actions_logs_exceeds":​ false,
 +            "​actions_logs_exceeds_mb":​ 1
 +        },
 +        "​Notificator":​
 +        {
 +            "​notify_engine_status":​ true,
 +            "​notify_soft_restarts":​ true,
 +            "​notify_configs":​ true,
 +            "​notify_exclusions":​ true,
 +            "​notify_jobstarts":​ true,
 +            "​notify_jobcompletations":​ true
 +        },
 +        "​Network":​
 +        {
 +            "​renderclient_port":​ 9780,
 +            "​control_port":​ 9781,
 +            "​notify_port":​ 9783,
 +            "​keep_alive":​ true,
 +            "​keep_alive_resolution":​ 720,
 +            "​management_incoming_buffer":​ 125600,
 +            "​management_outgoing_buffer":​ 125600,
 +            "​rc_incoming_buffer":​ 125600,
 +            "​rc_outgoing_buffer":​ 125600,
 +            "​notification_outgoing_buffer":​ 125600,
 +            "​stats_broadcast_resolution":​ 60,
 +            "​stats_broadcast":​ true,
 +            "​wol_delay":​ 600,
 +            "​wol_attempts":​ 3,
 +            "​wol_warmup":​ 120,
 +            "​stats_resolution":​ 60
 +        },
 +        "​Webserver":​
 +        {
 +            "​default_port":​ 9790,
 +            "​default_ssl_port":​ 9791,
 +            "​max_bandwidth":​ 0,
 +            "​sock_timeout":​ 120,
 +            "​default_serving_threads":​ 10,
 +            "​maximum_serving_threads":​ 50,
 +            "​maximum_pending_connections":​ 1000
 +        },
 +        "​Faults_behaviours":​
 +        {
 +            "​log_warning_enabled":​ true,
 +            "​log_warning_pausejob":​ false,
 +            "​log_warning_pausenode":​ false,
 +            "​log_warning_addtemplate_to_exclusion":​ false,
 +            "​log_warning_addjob_to_exclusion":​ false,
 +            "​log_warning_requeue_chunk":​ false,
 +            "​log_error_enabled":​ true,
 +            "​log_error_pausejob":​ false,
 +            "​log_error_pausenode":​ false,
 +            "​log_error_addtemplate_to_exclusion":​ false,
 +            "​log_error_addjob_to_exclusion":​ false,
 +            "​log_error_requeue_chunk":​ false,
 +            "​exitcode_warning_enabled":​ true,
 +            "​exitcode_warning_pausejob":​ false,
 +            "​exitcode_warning_pausenode":​ false,
 +            "​exitcode_warning_addtemplate_to_exclusion":​ false,
 +            "​exitcode_warning_addjob_to_exclusion":​ false,
 +            "​exitcode_warning_requeue_chunk":​ false,
 +            "​exitcode_error_enabled":​ true,
 +            "​exitcode_error_pausejob":​ false,
 +            "​exitcode_error_pausenode":​ false,
 +            "​exitcode_error_addtemplate_to_exclusion":​ false,
 +            "​exitcode_error_addjob_to_exclusion":​ false,
 +            "​exitcode_error_requeue_chunk":​ false,
 +            "​proc_pausejob":​ false,
 +            "​proc_pausenode":​ false,
 +            "​proc_addtemplate_to_exclusion":​ true,
 +            "​proc_addjob_to_exclusion":​ true,
 +            "​proc_requeue_chunk":​ true,
 +            "​timeout_pausejob":​ false,
 +            "​timeout_pausenode":​ false,
 +            "​timeout_addtemplate_to_exclusion":​ false,
 +            "​timeout_addjob_to_exclusion":​ false,
 +            "​timeout_kill_any_client":​ false
 +        },
 +        "​Actions":​
 +        {
 +            "​timeout":​ 120,
 +            "​job_failure_pause_job":​ true,
 +            "​job_failure_lock_job":​ true,
 +            "​chunk_failure_add_job_to_exclusion":​ true,
 +            "​chunk_failure_add_template_to_exclusion":​ true,
 +            "​chunk_failure_requeue_chunk":​ true,
 +            "​chunk_failure_abort_processing":​ true,
 +            "​job_preaction_enabled":​ false,
 +            "​job_preaction":​ "",​
 +            "​job_preaction_check_retcode":​ true,
 +            "​job_preaction_retcode":​ 0,
 +            "​job_preaction_override_timeout":​ false,
 +            "​job_preaction_timeout":​ 120,
 +            "​job_postaction_enabled":​ false,
 +            "​job_postaction":​ "",​
 +            "​job_postaction_check_retcode":​ true,
 +            "​job_postaction_retcode":​ 0,
 +            "​job_postaction_override_timeout":​ false,
 +            "​job_postaction_timeout":​ 120,
 +            "​chunk_preaction_enabled":​ false,
 +            "​chunk_preaction":​ "",​
 +            "​chunk_preaction_check_retcode":​ true,
 +            "​chunk_preaction_retcode":​ 0,
 +            "​chunk_preaction_override_timeout":​ false,
 +            "​chunk_preaction_timeout":​ 120,
 +            "​chunk_postaction_enabled":​ false,
 +            "​chunk_postaction":​ "",​
 +            "​chunk_postaction_check_retcode":​ true,
 +            "​chunk_postaction_retcode":​ 0,
 +            "​chunk_postaction_override_timeout":​ false,
 +            "​chunk_postaction_timeout":​ 120
 +        },
 +        ​
 +        "​Mailer":​
 +        {
 +            "​smtp_server":​ "",​
 +            "​smtp_account":​ "",​
 +            "​smtp_auth":​ true,
 +            "​smtp_auth_login":​ "",​
 +            "​smtp_auth_pwd":​ "",​
 +            "​smtp_destination":​ "",​
 +            "​job_completation":​ false,
 +            "​job_completation_type":​ "​Completed",​
 +            "​chunk_completation":​ false,
 +            "​chunk_completation_type":​ "​Completed"​
 +        }
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394025588,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​configuration/​actions|Performs an action on the Dispatcher|name||Expects an action in the name parameter
 +| | |configure| |Changes a configuration parameter|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​actions?​authToken=426200942D0501285315C82F&​name=configure
 +{
 + "​RequestData":​
 + {
 + "​General":​
 +                {
 +                    "​engine_startup":​ false
 +                }
 +        }
 +}
 +</​code>​
 +++|||||
 +| | |softRestart| |Sends a soft restart to the Dispatcher service|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​actions?​authToken=426200942D0501285315C82F&​name=softRestart
 +</​code>​
 +++|||||
 +| | |startAutoscan| |Starts an autoscan of available and unconnected nodes on the network|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​actions?​authToken=426200942D0501285315C82F&​name=startAutoscan
 +</​code>​
 +++|||||
 +| | |swapEngineStatus| |Changes the selection status of the Dispatcher engine|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​actions?​authToken=426200942D0501285315C82F&​name=swapEngineStatus
 +</​code>​
 +++|||||
 +| | |importQueue| |Imports a queue SQL into the Dispatcher database|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​actions?​authToken=426200942D0501285315C82F&​name=importQueue
 +{
 +    "​RequestData":​
 +    {
 +        "​sql":​ "The queue SQL"
 +    }
 +}
 +</​code>​
 +++|||||
 +| | |exportQueue| |Exports the Dispatcher queue as SQL|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​actions?​authToken=426200942D0501285315C82F&​name=exportQueue
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​sql"​ : "The queue SQL"
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394025588,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +| | |registerHost| |Register a new host into the instances queue|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​configuration/​actions?​authToken=426200942D0501285315C82F&​name=registerHost
 +{
 +    "​RequestData":​
 +    {
 +        "​hostName":​ "My host name",
 +        "​ipAddress":​ "​192.168.1.100",​
 +        "​platform"​ : 0      ​
 +    }
 +}
 +</​code>​
 +++|||||
 +
 +===== Queue URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​queue/​list|Retrieve the jobs queue|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|queue|A JSON array of jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​list?​authToken=426200942D0501285315C82F&​$filter=jobId:​17;​templateId:​2$select=jobId,​jobName
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​queue":​
 +        [
 +            {
 +                "​jobId":​ 17,
 +                "​jobName":​ "my job",
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1393936494,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +
 +</​code>​
 +++|||||
 +|/​api/​queue/​actions|Performs an action on the jobs queue|name||Expects an action in the name parameter|
 +| | |createFolder| |Creates a folder in the queue|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=createFolder
 +{
 + "​RequestData":​
 + {
 + "​folderName":​ "My brand new folder",​
 + "​parentId":​ -1,
 + "​priority":​ 100
 + }
 +}
 +</​code>​
 +++|||||
 +| | |submit| |Submits a new job in the queue|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=submit
 +{
 + "​RequestData":​
 + {
 + "​job"​ : 
 + {
 + "​jobName":​ "my brand new job!",
 +                "​templateId":​ 2,
 +             ​ "​parentId":​ -1,
 +                "​dependIds":​ [],
 +                "​dependMode":​ 0,
 + "​packetType"​ : 1,
 +               ​ "​priority":​ 1,
 +                "​group":​ "",​
 +                "​department":​ "",​
 +                "​packetSize":​ 5,
 + "​maximumInstances":​ 0,
 +               ​ "​assignedInstances":​ 0,
 +                "​attributes":​
 +                {
 +                    "​ABORTRENDER":​
 +                    {
 +                        "​value":​ "​0",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​ADD_FLAGS":​
 +                    {
 +                        "​value":​ "-rl glow",
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​MAYADIGITS":​
 +                    {
 +                        "​value":​ "​4",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​MAYAVERBOSITY":​
 +                    {
 +                        "​value":​ "​5",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​by_frame":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​check_file":​
 +                    {
 +                        "​value":​ "​None",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​end_frame":​
 +                    {
 +                        "​value":​ "​100",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​expected_frames":​
 +                    {
 +                        "​value":​ "/​repository/​works/​project/​images/​outImg.",​
 +                        "​state":​ true,
 +                        "​subst":​ true
 +                    },
 +                    "​frame_check":​
 +                    {
 +                        "​value":​ "​Scene",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​job_file":​
 +                    {
 +                        "​value":​ "/​repository/​works/​project/​scenes/​test.mb",​
 +                        "​state":​ true,
 +                        "​subst":​ true
 +                    },
 +                    "​job_project":​
 +                    {
 +                        "​value":​ "/​repository/​works/​project",​
 +                        "​state":​ true,
 +                        "​subst":​ true
 +                    },
 +                    "​number_by":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​start_frame":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                   ​ "​step_by":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    }
 + }
 + }
 + }
 +}
 +</​code>​
 +++|||||
 +| | |edit| |Edit an existing job in the queue|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=edit
 +{
 + "​RequestData":​
 + {
 + "​job"​ : 
 + {
 + "​jobId":​ 17,
 + "​jobName":​ "my editing ID 17 job!",
 +                "​templateId":​ 2,
 +             ​ "​parentId":​ -1,
 +                "​dependIds":​ [],
 +                "​dependMode":​ 0,
 + "​packetType"​ : 1,
 +               ​ "​priority":​ 1,
 +                "​group":​ "",​
 +                "​department":​ "",​
 +                "​packetSize":​ 5,
 + "​maximumInstances":​ 0,
 +               ​ "​assignedInstances":​ 0,
 +                "​attributes":​
 +                {
 +                    "​ABORTRENDER":​
 +                    {
 +                        "​value":​ "​0",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​ADD_FLAGS":​
 +                    {
 +                        "​value":​ "-rl glow",
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​MAYADIGITS":​
 +                    {
 +                        "​value":​ "​4",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​MAYAVERBOSITY":​
 +                    {
 +                        "​value":​ "​5",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​by_frame":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​check_file":​
 +                    {
 +                        "​value":​ "​None",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​end_frame":​
 +                    {
 +                        "​value":​ "​100",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​expected_frames":​
 +                    {
 +                        "​value":​ "/​repository/​works/​project/​images/​outImg.",​
 +                        "​state":​ true,
 +                        "​subst":​ true
 +                    },
 +                    "​frame_check":​
 +                    {
 +                        "​value":​ "​Scene",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​job_file":​
 +                    {
 +                        "​value":​ "/​repository/​works/​project/​scenes/​test.mb",​
 +                        "​state":​ true,
 +                        "​subst":​ true
 +                    },
 +                    "​job_project":​
 +                    {
 +                        "​value":​ "/​repository/​works/​project",​
 +                        "​state":​ true,
 +                        "​subst":​ true
 +                    },
 +                    "​number_by":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                    "​start_frame":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    },
 +                   ​ "​step_by":​
 +                    {
 +                        "​value":​ "​1",​
 +                        "​state":​ true,
 +                        "​subst":​ false
 +                    }
 + }
 + }
 + }
 +}
 +</​code>​
 +++|||||
 +| | |pause| |Pauses one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=pause
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ "​17,​18"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |resume| |Resumes one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=resume
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ "​17,​18"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |reinit| |Reinits one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=reinit
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |killAndGoOn| |Kills and go on one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=killAndGoOn
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |killAndPause| |Kills and pause on one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=killAndPause
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |killAndRedo| |Kills and redo on one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=killAndRedo
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |remove| |Deletes one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=remove
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |rename| |Renames one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=rename
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​jobName":​ "​newJobName"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |startsOn| |Changes the starting time of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=startsOn
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​time":​ 1393936494
 + }
 +}
 +</​code>​
 +++|||||
 +| | |resumeOn| |Changes the resuming time of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=resumeOn
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​time":​ 1393936494
 + }
 +}
 +</​code>​
 +++|||||
 +| | |pauseOn| |Changes the pausing time of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=pauseOn
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​time":​ 1393936494
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setProject| |Changes project (group) of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setProject
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​group":​ "my job group"
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setDepartment| |Changes department of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setDepartment
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​department":​ "my job group"
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setPriority| |Changes priority of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setPriority
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​priority":​ 100
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMaximumInstances| |Changes maximum instances of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMaximumInstances
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​maximumInstances":​ 5
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setDependanciesIds| |Changes the dependancies of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setDependanciesIds
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​dependanciesIds":​ "​12,​13"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setDependMode| |Changes the dependancies check mode of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setDependMode
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​dependMode":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setPools| |Changes the destination pools of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setPools
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​pools":​ "My pool,​another pool"
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setExcludedPools| |Changes the excluded pools of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setExcludedPools
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​pools":​ "My dangerous pool"
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setOwner| |Changes the owner of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setOwner
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​owner":​ "Steve jobs"
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setNotes| |Changes the notes of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setNotes
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​notes":​ "My beauty job!"
 + }
 +}
 +</​code>​
 +++|||||
 +| | |lock| |Locks one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=lock
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |unlock| |Unlocks one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=unlock
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |archive| |Archives one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=archive
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |unarchive| |Unarchives one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=unarchive
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17
 + }
 +}
 +</​code>​
 +++|||||
 +| | |reparent| |Changes the parent folder of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=reparent
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​parentId":​ 12
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMinimumLogicalUnits| |Changes the minimum logical units of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMinimumLogicalUnits
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​logicalUnits":​ 1,
 + "​overrideLogicalUnits":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMinimumCores| |Changes the minimum cores of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMinimumCores
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​minimumCores":​ 1,
 + "​overrideMinimumCores":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMinimumDiskSpaceAmount| |Changes the minimum disk space amount of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMinimumDiskSpaceAmount
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​minimumDiskSpaceAmount":​ 1000000,
 + "​overrideDiskSpaceAmount":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMinimumPhysicalUnits| |Changes the minimum physical units of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMinimumPhysicalUnits
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​minimumPhysicalUnits":​ 1000000,
 + "​overrideMinimumPhysicalUnits":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMinimumCoresSpeed| |Changes the minimum cores speed of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMinimumCoresSpeed
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​minimumCoresSpeed":​ 2.44,
 + "​overrideMinimumCoresSpeed":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMinimumRamAmount| |Changes the minimum ram amount of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMinimumRamAmount
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​minimumRamAmount":​ 1000,
 + "​overrideMinimumRamAmount":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setProcessValidExitCodes| |Changes the valid exit codes of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setProcessValidExitCodes
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​processValidExitCodes":​ "​0,​100,​200",​
 + "​overrideProcessValidExitCodes":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setProcessWarningExitCodes| |Changes the warning exit codes of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setProcessValidExitCodes
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​processWarningExitCodes":​ "​-1,​1,​2",​
 + "​overrideProcessWarningExitCodes":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setProcessErrorExitCodes| |Changes the error exit codes of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setProcessErrorExitCodes
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​processErrorExitCodes":​ "​3,​4,​5,​6",​
 + "​overrideProcessErrorExitCodes":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setProcessValidLogTexts| |Changes the valid logs strings of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setProcessValidLogTexts
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​processValidLogTexts":​ "going nuts!",​
 + "​overrideProcessValidLogTexts":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setProcessWarningLogTexts| |Changes the warning logs strings of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setProcessWarningLogTexts
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​processWarningLogTexts":​ "I think I screwed up!",
 + "​overrideProcessWarningLogTexts":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setProcessErrorLogTexts| |Changes the error logs strings of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setProcessErrorLogTexts
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​processErrorLogTexts":​ "​WTF!!!!",​
 + "​overrideProcessErrorLogTexts":​ 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setFramesPrefixPath| |Changes the frames prefix path of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setFramesPrefixPath
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​framesPrefixPath":​ "/​server/​render/​projects/​myproject/​images/​renderout.",​
 + "​enabled"​ : 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |setMissingFramesCheck| |Changes the missing frames check parameters of one or more jobs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​queue/​actions?​authToken=426200942D0501285315C82F&​name=setMissingFramesCheck
 +{
 + "​RequestData":​
 + {
 + "​jobId":​ 17,
 + "​framesCheckMode"​ : 1,
 + "​framesCheckFileMode"​ : 2,
 + "​framesCheckFileLowBoundary"​ : 100000,
 + "​framesCheckFileHighBoundary"​ : 120000,
 + "​maximumRecursion"​ : 3
 +
 + }
 +}
 +</​code>​
 +++|||||
 +|/​api/​chunks/​list|Retrieve the chunks queue|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|chunks|A JSON array of chunks|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​chunks/​list?​authToken=426200942D0501285315C82F&​filter=jobId:​17
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​chunks":​
 +        [
 +            {
 +                "​Id":​ 13362,
 +                "​jobId":​ 17,
 +                "​chunkId":​ 1,
 +                "​status":​ 1,
 +                "​requeued":​ 0,
 +                "​startFrame":​ 1,
 +                "​endFrame":​ 5,
 +                "​byFrame":​ 1,
 +                "​startingNumber":​ 1,
 +                "​isAssembler":​ false,
 +                "​startingTime":​ 0,
 +                "​endingTime":​ 0,
 +                "​assignedInstanceName":​ "",​
 +                "​results":​ "",​
 +                "​updateTime":​ 1393944478
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1393944578,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +
 +
 +</​code>​
 +++|||||
 +|/​api/​chunks/​actions|Performs an action on the chunks queue|name||Expects an action in the name parameter|
 +| | |setOnHold| |Resets a chunk on hold|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​chunks/​actions?​authToken=426200942D0501285315C82F&​name=setOnHold
 +{
 + "​RequestData":​
 + {
 + "​chunkId"​ : 1,
 + "​jobId"​ : 17
 + }
 +</​code>​
 +++|||||
 +| | |setDone| |Flags a chunk as completed|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​chunks/​actions?​authToken=426200942D0501285315C82F&​name=setDone
 +{
 + "​RequestData":​
 + {
 + "​chunkId"​ : 1,
 + "​jobId"​ : 17
 + }
 +</​code>​
 +++|||||
 +===== Instances URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​instances/​list|Retrieve the instances queue|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|instances|A JSON array of instances|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​list?​authToken=426200942D0501285315C82F&​$filter=instanceID:​1&​$select= instanceID,​instanceName,​hostName
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​instances":​
 +        [
 +            {
 +                "​instanceID":​ 1,
 +                "​instanceName":​ "​leo-PC",​
 +                "​hostName":​ "​leo-PC"​
 +            }
 +        ],
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394013087,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +
 +</​code>​
 +++|||||
 +|/​api/​instances/​actions|Performs an action on the instances queue|name||Expects an action in the name parameter|
 +| | |pause| |Pauses an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=pause
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |resume| |Resumes an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=resume
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |remove| |Removes an offline instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=remove
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |killAndGoOn| |Sends kill and go on an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=killAndGoOn
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |killAndPause| |Sends kill and pause on an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=killAndPause
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |killAndRedo| |Sends kill and redo on an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=killAndRedo
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |refresh| |Forces a refresh status on an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=refresh
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |softRestart| |Sends a soft restart to an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=softRestart
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |changeProcessPriority| |Changes the process priority of an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=changeProcessPriority
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1",​
 + "​processPriority"​ : 1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |changeNotes| |Changes notes of an instanace|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=changeNotes
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1",​
 + "​notes"​ : "I love this instance!"​
 + }
 +}
 +</​code>​
 +++|||||
 +| | |sysEvent| |Sends a system event to an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=sysEvent
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1",​
 + "​sysEvent"​ : 0
 + }
 +}
 +</​code>​
 +++|||||
 +| | |purgeJobs| |Purges the jobs exclusion list of an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=purgeJobs
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1",​
 + "​purgedJobs"​ : -1
 + }
 +}
 +</​code>​
 +++|||||
 +| | |purgeTemplates| |Purges the templates exclusion list of an instance|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​instances/​actions?​authToken=426200942D0501285315C82F&​name=purgeTemplates
 +{
 + "​RequestData":​
 + {
 + "​instanceId":​ "​1",​
 + "​purgedTemplates"​ : -1
 + }
 +}
 +</​code>​
 +++|||||
 +===== Logs URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​logs/​list|Retrieve the logs queue|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|logs|A JSON array of logs|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​logs/​list?​authToken=426200942D0501285315C82F&​$filter=eventType:​2&​$select=eventDescription
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​logs":​
 +        [
 +            {
 +                "​eventID":​ 35753,
 +                "​eventType":​ 2,
 +                "​eventDescription":​ "Log cleared"​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394014575,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​logs/​actions|Performs an action on the logs queue|name||Expects an action in the name parameter|
 +| | |clear| |Clears the logs queue|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​logs/​actions?​authToken=426200942D0501285315C82F&​name=clear
 +</​code>​
 +++|||||
 +
 +===== History URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​history/​list|Retrieve the history queue|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|history|A JSON array of history records|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​history/​list?​authToken=426200942D0501285315C82F&​$filter=startingTime:​0,​endingTime:​1394015878,​jobId:​6
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​history":​
 +        [
 +            {
 +                "​id":​ 2,
 +                "​jobId":​ 6,
 +                "​chunkId":​ 1,
 +                "​status":​ 4,
 +                "​packetSize":​ 5,
 +                "​startFrame":​ 1,
 +                "​endFrame":​ 5,
 +                "​byFrame":​ 1,
 +                "​stepBy":​ 1,
 +                "​startingNumber":​ 1,
 +                "​isAssembler":​ false,
 +                "​startingTime":​ 1377685857,
 +                "​endingTime":​ 1377685864,
 +                "​jobName":​ "​ufoInRicostruzione4casa colore",​
 +                "​jobGroup":​ "",​
 +                "​jobDepartment":​ "",​
 +                "​assignedInstance":​ "​render3.youare.net",​
 +                "​results":​ "",​
 +                "​jobProject":​ "//​MAYA1/​lavori3d/​projects/​mediasetPremium_2013 ",
 +                "​jobFile":​ "//​MAYA1/​lavori3d/​projects/​mediasetPremium_2013/​scenes/​ufoInRicostruzione4casa.mb"​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394016046,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​history/​info|Retrieve the history boundaries and samples count| |startingTime,​ endingTime, samples|A ResponseData member with the history infos|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​history/​info?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​startingTime":​ 1377685857,
 +        "​endingTime":​ 1393327035,
 +        "​samples":​ 15706
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394016306,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​history/​actions|Performs an action on the history queue|name||Expects an action in the name parameter|
 +| | |clearRange| |Clears an history queue time range|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​history/​actions?​authToken=426200942D0501285315C82F&​name=clearRange
 +{
 + "​RequestData":​
 + {
 + "​startingTime"​ : "​0",​
 + "​endingTime"​ : "​1394016542"​
 + }
 +}
 +</​code>​
 +++|||||
 +===== Statistics URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​statistics/​list|Retrieve the statistics queue|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|statistics|A JSON array of statistics records|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​statistics/​list?​authToken=426200942D0501285315C82F&​$filter=startingTime:​0,​endingTime:​1394015878
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​statistics":​
 +        [
 +            {
 +                "​id":​ 96069,
 +                "​timeStamp":​ 1394016595,
 +                "​numOfConnectedInstances":​ 1,
 +                "​numOfConnectedClients":​ 1,
 +                "​numOfConnectedNotificators":​ 0,
 +                "​numOfAllocatedWebSessions":​ 1,
 +                "​numOfConnectedHTTPStreams":​ 0,
 +                "​numOfConnectedHTTPSStreams":​ 0,
 +                "​numOfWorkingInstances":​ 0,
 +                "​numOfPausedInstances":​ 1,
 +                "​numOfIdleInstances":​ 0,
 +                "​numOfUnavailableInstances":​ 0,
 +                "​averageInputKbs":​ 0.00559896,
 +                "​averageOutputKbs":​ 0.009114580000000001,​
 +                "​averageClientsOutputKbs":​ 0,
 +                "​averageClientsInputKbs":​ 0.00242513,
 +                "​averageInstancesInputKbs":​ 0,
 +                "​averageInstancesOutputKbs":​ 0,
 +                "​averageNotificatorsInputKbs":​ 0,
 +                "​averageNotificatorsOutputKbs":​ 0,
 +                "​averageWebInputKbs":​ 0.00559896,
 +                "​averageWebOutputKbs":​ 0.00668945
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394016046,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​statistics/​info|Retrieve the statistics boundaries and samples count| |startingTime,​ endingTime, samples|A ResponseData member with the statistics infos|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​statistics/​info?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​startingTime":​ 1377685857,
 +        "​endingTime":​ 1393327035,
 +        "​samples":​ 15706
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394016306,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​statistics/​actions|Performs an action on the statistics queue|name||Expects an action in the name parameter|
 +| | |clearRange| |Clears a statistics queue time range|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​statistics/​actions?​authToken=426200942D0501285315C82F&​name=clearRange
 +{
 + "​RequestData":​
 + {
 + "​startingTime"​ : "​0",​
 + "​endingTime"​ : "​1394016542"​
 + }
 +}
 +</​code>​
 +++|||||
 +===== Templates URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​templates/​list|Retrieve the templates list|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|templates|A JSON array of templates records|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​templates/​list?​authToken=426200942D0501285315C82F&​select=name
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​templates":​
 +        [
 +            {
 +                "​id":​ 1,
 +                "​name":​ "Maya Sw"
 +            },
 +            {
 +                "​id":​ 2,
 +                "​name":​ "Maya Mr"
 +            },
 +            {
 +                "​id":​ 3,
 +                "​name":​ "Maya Hardware"​
 +            },
 +            {
 +                "​id":​ 4,
 +                "​name":​ "Maya Vector"​
 +            },
 +            {
 +                "​id":​ 5,
 +                "​name":​ "Maya Sw Image slicing"​
 +            },
 +            {
 +                "​id":​ 6,
 +                "​name":​ "Maya Mr Image slicing"​
 +            },
 +            {
 +                "​id":​ 7,
 +                "​name":​ "Maya Layers"​
 +            },
 +            {
 +                "​id":​ 10,
 +                "​name":​ "Maya Turtle"​
 +            },
 +            {
 +                "​id":​ 11,
 +                "​name":​ "​Lightwave"​
 +            },
 +            {
 +                "​id":​ 13,
 +                "​name":​ "​XSI"​
 +            },
 +            {
 +                "​id":​ 15,
 +                "​name":​ "​Mental ray multifile"​
 +            },
 +            {
 +                "​id":​ 16,
 +                "​name":​ "​Mental ray"
 +            },
 +            {
 +                "​id":​ 17,
 +                "​name":​ "After Effects"​
 +            },
 +            {
 +                "​id":​ 20,
 +                "​name":​ "​Combustion"​
 +            },
 +            {
 +                "​id":​ 21,
 +                "​name":​ "Eyeon Fusion"​
 +            },
 +            {
 +                "​id":​ 22,
 +                "​name":​ "​Cinema 4D"
 +            },
 +            {
 +                "​id":​ 23,
 +                "​name":​ "Alias Studio"​
 +            },
 +            {
 +                "​id":​ 29,
 +                "​name":​ "Maya Renderman"​
 +            },
 +            {
 +                "​id":​ 30,
 +                "​name":​ "Maya Gelato"​
 +            },
 +            {
 +                "​id":​ 31,
 +                "​name":​ "​Vue"​
 +            },
 +            {
 +                "​id":​ 32,
 +                "​name":​ "​Gelato"​
 +            },
 +            {
 +                "​id":​ 35,
 +                "​name":​ "​Composite"​
 +            },
 +            {
 +                "​id":​ 36,
 +                "​name":​ "​Maxwell"​
 +            },
 +            {
 +                "​id":​ 37,
 +                "​name":​ "Maya VRay"
 +            },
 +            {
 +                "​id":​ 38,
 +                "​name":​ "3D Studio Max Image Slicing"​
 +            },
 +            {
 +                "​id":​ 39,
 +                "​name":​ "3D Studio Max"
 +            },
 +            {
 +                "​id":​ 40,
 +                "​name":​ "​Nuke"​
 +            },
 +            {
 +                "​id":​ 41,
 +                "​name":​ "Maya 3Delight"​
 +            },
 +            {
 +                "​id":​ 42,
 +                "​name":​ "Shell script"​
 +            },
 +            {
 +                "​id":​ 43,
 +                "​name":​ "​Broadcast shell script"​
 +            },
 +            {
 +                "​id":​ 44,
 +                "​name":​ "​Modo"​
 +            },
 +            {
 +                "​id":​ 45,
 +                "​name":​ "​Blender"​
 +            },
 +            {
 +                "​id":​ 46,
 +                "​name":​ "Maya Arnold"​
 +            },
 +            {
 +                "​id":​ 47,
 +                "​name":​ "​Arnold"​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394017388,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +
 +</​code>​
 +++|||||
 +|/​api/​templates/​fieldChanged|Requests events for a field content change. This will trigger the template Python callback and reports any field to be changed according||even|A JSON array of templates fields events|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​templates/​fieldChanged?​authToken=426200942D0501285315C82F
 +{
 + "​RequestData":​
 + {
 + "​templateId"​ : 2,
 + "​fieldName":​ "​MAYAFILENAME",​
 + "​fieldValue"​ : "/​mnt/​project/​scenes/​myscene.mb"​
 + }
 +}
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​events":​
 +        [
 +            {
 +                "​name":​ "​MAYADESTINATION",​
 +                "​value":​ "/​mnt/​project/​images",​
 +                "​activationEvent":​ 0
 +            },
 +            {
 +                "​name":​ "​MAYAPROJECTPATH",​
 +                "​value":​ "/​mnt/​project",​
 +                "​activationEvent":​ 0
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394017743,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +===== Pools URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​pools/​list|Retrieve the pools list|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|pools|A JSON array of pools records|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​list?​authToken=426200942D0501285315C82F&​$filter=name:​ALL
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​pools":​
 +        [
 +            {
 +                "​id":​ 68,
 +                "​name":​ "​ALL",​
 +                "​enablesNodesPriority":​ false,
 +                "​nodesPriorityValue":​ 1,
 +                "​enableJobsPriority":​ false,
 +                "​jobsPriorityValue":​ 1,
 +                "​autoPoolIpFilter":​ "",​
 +                "​autoPoolHostnameFilter":​ "",​
 +                "​timeRules":​ [],
 +                "​instances":​
 +                [
 +                    {
 +                        "​id":​ 69,
 +                        "​name":​ "​render1.youare.net",​
 +                        "​ip":​ "​192.168.0.41"​
 +                    },
 +                    {
 +                        "​id":​ 70,
 +                        "​name":​ "​render2.youare.net",​
 +                        "​ip":​ "​192.168.0.42"​
 +                    },
 +                    {
 +                        "​id":​ 71,
 +                        "​name":​ "​render3.youare.net",​
 +                        "​ip":​ "​192.168.0.43"​
 +                    }
 +                ]
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394018233,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​pools/​actions|Performs an action on the pools queue|name||Expects an action in the name parameter
 +| | |configure| |Configures an existing pools|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​actions?​authToken=426200942D0501285315C82F&​name=configure
 +{
 + "​RequestData"​ : 
 + {
 + "​pool"​ : {
 + "​id":​ 13,
 + "​instances":​
 +                [
 +                    {
 +                        "​name":​ "​MyHostname",​
 +                        "​ip":​ "​192.168.1.1"​
 +                    },
 +                    {
 +                        "​name":​ "​Anotherhost",​
 +                        "​ip":​ "​192.168.1.2"​
 +                    }
 + ]
 + }
 + }
 +}
 +</​code>​
 +++|||||
 +| | |add| |Adds a new pool|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​actions?​authToken=426200942D0501285315C82F&​name=add
 +{
 + "​RequestData"​ : {
 + "​pool"​ : {
 + "​name":​ "​testPool",​
 +  "​enablesNodesPriority":​ false,
 +                  "​nodesPriorityValue":​ 0,
 +                  "​enableJobsPriority":​ false,
 +                "​jobsPriorityValue":​ 0,
 +                "​autoPoolIpFilter":​ "",​
 +                "​autoPoolHostnameFilter":​ "",​
 +                "​timeRules":​ [],
 +                "​instances":​
 +                [
 +                    {
 +                        "​name":​ "​leo-PC[3]",​
 +                        "​ip":​ "​172.16.214.100"​
 +                    }
 + ]
 + }
 + }
 +}
 +</​code>​
 +++|||||
 +| | |remove| |Remove an existing pool|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​actions?​authToken=426200942D0501285315C82F&​name=remove
 +{
 + "​RequestData":​
 + {
 + "​poolId":​ 13
 + }
 +}
 +</​code>​
 +++|||||
 +| | |notifyChanges| |Notifies configuration changes to the Consoles|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​actions?​authToken=426200942D0501285315C82F&​name=notifyChanges
 +</​code>​
 +++|||||
 +===== Users and groups URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​users/​changepassword|Changes the password of the user associated with the current session||||
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​users/​changepassword?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 + “RequestData”:​
 + {
 + “oldPassword”:​”currentPassword”,​
 + “newPassword”:​”newPassword”
 + }
 +}
 +</​code>​
 +++|||||
 +|/​api/​users/​list|Retrieve the users list|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|users|A JSON array of users|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​users/​list?​authToken=426200942D0501285315C82F&​$filter=id:​2$select=id,​accountName,​allowedRights
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​users":​
 +        [
 +            {
 +                "​id":​ 2,
 +                "​accountName":​ "​admin",​
 +                "​allowedRights":​ "​2147483647"​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1393946110,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​users/​actions|Performs an action on the jobs queue|name||Expects an action in the name parameter
 +| | |configure| |Configures an existing user|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​users/​actions?​authToken=426200942D0501285315C82F&​name=configure
 +{
 + "​RequestData":​
 + {
 + "​user":​ {
 + "​id"​ : "​2",​
 + "​allowedPools"​ : "My personal pool, Another pool"
 + }
 +
 + }
 +}
 +</​code>​
 +++|||||
 +| | |add| |Adds a new user|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​users/​actions?​authToken=426200942D0501285315C82F&​name=add
 +{
 + "​RequestData":​
 + {
 + "​user":​ {
 + "​accountName"​ : "​John",​
 + "​groups"​ : "​users",​
 + "​forbiddenRights"​ : "​0",​
 + "​allowedRights"​ : "​0",​
 + "​allowedPools"​ : "My personal pool, Another pool",
 + "​allowedTemplates"​ : "",​
 + "​allowedInstances"​ : "",​
 + "​homeFolderID"​ : -1,
 + "​constrainToHomeFolder"​ : 0,
 + "​substitutionPaths"​ : "",​
 + "​emailAddress"​ : "​john@domain.net"​
 + }
 +
 + }
 +}
 +</​code>​
 +++|||||
 +| | |remove| |Remove an existing user|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​users/​actions?​authToken=426200942D0501285315C82F&​name=remove
 +{
 + "​RequestData":​
 + {
 + "​userId":​ 13
 + }
 +}
 +</​code>​
 +++|||||
 +|/​api/​groups/​list|Retrieve the groups list|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|groups|A JSON array of groups|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​groups/​list?​authToken=426200942D0501285315C82F&​$filter=id:​2$select=id,​groupName,​allowedRights
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​groups":​
 +        [
 +            {
 +                "​id":​ 2,
 +                "​groupName":​ "​Administrators",​
 +                "​allowedRights":​ "​2147483647"​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1393946110,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +++|||||
 +|/​api/​groups/​actions|Performs an action on the jobs queue|name||Expects an action in the name parameter|
 +| | |configure| |Configures an existing group|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​groups/​actions?​authToken=426200942D0501285315C82F&​name=configure
 +{
 + "​RequestData":​
 + {
 + "​group":​ {
 + "​id"​ : "​9",​
 + "​allowedPools"​ : "My pool"
 + }
 +
 + }
 +}
 +</​code>​
 +++|||||
 +| | |add| |Adds a new group|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​groups/​actions?​authToken=426200942D0501285315C82F&​name=add
 +{
 + "​RequestData":​
 + {
 + "​group":​ {
 + "​groupName"​ : "Power users",​
 + "​allowedRights"​ : "​0"​
 + }
 +
 + }
 +}
 +</​code>​
 +++|||||
 +| | |remove| |Remove an existing group|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​groups/​actions?​authToken=426200942D0501285315C82F&​name=remove
 +{
 + "​RequestData":​
 + {
 + "​groupId":​ 13
 + }
 +}
 +</​code>​
 +++|||||
 +===== Repositories URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​repositories/​list|Retrieves the repositories list|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|paths|A JSON array of repositories records|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​repositories/​list?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​paths":​
 +        [
 +            {
 +                "​id":​ 2,
 +                "​name":​ "Main repository",​
 +                "​scope":​ 0,
 +                "​localSidePath":​ "/​mnt/​render/​works",​
 +                "​windowsSidePath":​ "​D:​\\",​
 +                "​linuxSidePath":​ "/​mnt/​render/​works",​
 +                "​macSidePath":​ "/​Volumes/​render/​works"​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394023284,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +
 +</​code>​
 +++|||||
 +|/​api/​repositories/​actions|Performs an action on the repositories queue|name||Expects an action in the name parameter
 +| | |add| |Adds a new repository|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​actions?​authToken=426200942D0501285315C82F&​name=add
 +{
 + "​RequestData":​
 + {
 + "​path"​ : {
 +                        "​name":​ "Main repository",​
 +                        "​scope":​ 0,
 +                        "​localSidePath":​ "/​mnt/​render/​works",​
 +                        "​windowsSidePath":​ "​D:​\\",​
 +                        "​linuxSidePath":​ "/​mnt/​render/​works",​
 +                        "​macSidePath":​ "/​Volumes/​render/​works"​
 +                }
 +        }
 +}
 +</​code>​
 +++|||||
 +| | |remove| |Removes an existing repository|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​actions?​authToken=426200942D0501285315C82F&​name=remove
 +{
 + "​RequestData":​
 + {
 + "​pathId"​ : 3
 + }
 +}
 +</​code>​
 +++|||||
 +| | |configure| |Configures an existing repository|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​pools/​actions?​authToken=426200942D0501285315C82F&​name=configure
 +{
 + "​RequestData":​
 + {
 + "​path"​ : {
 + "​id"​ : 2,
 + "​name":​ "New repository name"
 + }
 + }
 +}
 +</​code>​
 +++|||||
 +|/​api/​repositories/​browse|Retrieves files and folders from a repository|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter:​[path],​[showhiddenfiles],​[isFolder],​[extension]],​$[inlinecount]|paths|A JSON array of files and folders|
 +|++example|\\ \\ 
 +The following request retrieves the root path informations of all the available repositories:​
 +\\ \\ 
 +<​code>​
 +http://​musterserver:​9790/​api/​repositories/​browse?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​paths":​
 +        [
 +            {
 +                "​Name":​ "Main repository",​
 +                "​Path":​ "/​mnt/​render/​works",​
 +                "​isFolder":​ true,
 +                "​CreationDate":​ "",​
 +                "​ModificationDate":​ "",​
 +                "​Extension":​ "",​
 +                "​Size":​ 0,
 +                "​Mimetype":​ ""​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394024763,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +</​code>​
 +
 +The following request retrieves the content of one of the repositories root path:
 +\\ 
 +<​code>​
 +http://​musterserver:​9790/​api/​repositories/​browse?​authToken=426200942D0501285315C82F&​$filter=path:/​mnt/​render/​works
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​paths":​
 +        [
 +            {
 +                "​Name":​ "​myfile.txt",​
 +                "​Path":​ "/​mnt/​render/​works/​myfile.txt",​
 +                "​isFolder":​ false,
 +                "​Extension":​ "​txt",​
 +                "​CreationDate":​ 1194418840,
 +                "​ModificationDate":​ 1194418840,
 +                "​Size":​ 17734,
 +                "​Mimetype":​ "​application/​unknown"​
 +            },
 +            {
 +                "​Name":​ "​Windows",​
 +                "​Path":​ "/​mnt/​render/​works/​Windows",​
 +                "​isFolder":​ true,
 +                "​Extension":​ "",​
 +                "​CreationDate":​ 1247538008,
 +                "​ModificationDate":​ 1391430234,
 +                "​Size":​ 0,
 +                "​Mimetype":​ ""​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394024639,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +
 +</​code>​
 +++|||||
 +
 +===== Mails URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​mails/​list|Retrieves the mailing lists|[$select],​[$top/​$take],​[$skip],​[$orderby],​[$filter],​$[inlinecount]|mails|A JSON array of mails records|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​mails/​list?​authToken=426200942D0501285315C82F
 +</​code>​
 +<​code>​
 +{
 +    "​ResponseData":​
 +    {
 +        "​mails":​
 +        [
 +            {
 +                "​id":​ 3,
 +                "​name":​ "​Broadcast distribution",​
 +                "​address":​ "​john@domain.net;​jack@domain.net"​
 +            }
 +        ]
 +    },
 +    "​ResponseStatus":​
 +    {
 +        "​Code":​ 200,
 +        "​Time":​ 1394024934,
 +        "​Description":​ "​OK"​
 +    }
 +}
 +
 +</​code>​
 +++|||||
 +|/​api/​mails/​actions|Performs an action on the mailing list|name||Expects an action in the name parameter
 +| | |add| |Adds a new mailing list|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​mails/​actions?​authToken=426200942D0501285315C82F&​name=add
 +{
 + "​RequestData":​
 + {
 + "​mail"​ : {
 +                        "​id":​ 4,
 +                        "​name":​ "New mail distribution",​
 +                        "​address":​ "​john@domain.net;​jack@domain.net"​
 +                }
 +        }
 +}
 +</​code>​
 +++|||||
 +| | |remove| |Removes an existing mailing list|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​mails/​actions?​authToken=426200942D0501285315C82F&​name=remove
 +{
 + "​RequestData":​
 + {
 + "​mailId"​ : 3
 + }
 +}
 +</​code>​
 +++|||||
 +| | |configure| |Configures an existing mailing list|
 +|++example|
 +<​code>​
 +http://​musterserver:​9790/​api/​mails/​actions?​authToken=426200942D0501285315C82F&​name=configure
 +{
 + "​RequestData":​
 + {
 + "​mail"​ : {
 + "​id"​ : 3,
 + "​address"​ : "​sjobs@apple.it;​bgates@microsoft.com"​
 + }
 + }
 +}
 +</​code>​
 +++|||||
 +
 +===== Helper URLs =====
 +^URL address^Used to^Expected parameters^ResponseData members^Meaning^
 +|/​api/​keepalive|Keep alive the client authentication token|authToken|Variable number of members|Returns a variable number of members describing the client environment|
 +
 +
 +
 +
 +