{"swagger":"2.0","info":{"description":"dexi.io API access for connecting your app to your scraped data.","version":"1.0","title":"@dexiio/public-api"},"host":"api.dexi.io","schemes":["https"],"securityDefinitions":{"X-DexiIO-Access":{"type":"apiKey","name":"X-DexiIO-Access","in":"header"},"X-DexiIO-Account":{"type":"apiKey","name":"X-DexiIO-Account","in":"header"}},"basePath":"/","paths":{"/runs":{"post":{"description":"Create a run by providing its definition. If a run id (an \"_id\" field in the run definition) is provided and a run exists for the id, the run is updated.","produces":["application/json"],"parameters":[{"name":"robotId","in":"query","type":"string","required":false,"description":"Optional. The id of the robot whose run should be updated. If not provided, the robot id of the run is used."}],"x-operationId":"create","tags":["runs"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"put":{"description":"Update run by id. The run is created if not found.","produces":["application/json"],"parameters":[{"name":"robotId","in":"query","type":"string","required":false,"description":"Optional. The id of the robot whose run should be updated. If not provided, the robot id of the run is used."}],"x-operationId":"update","tags":["runs"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"get":{"description":"Get runs of the robot sorted by newest first. If no robot id is provided, all your (account's) runs are returned (taking \"limit\" into account).","produces":["application/json"],"parameters":[{"name":"robotId","in":"query","type":"string","format":"uuid","required":false,"description":"Robot id"},{"name":"offset","in":"query","type":"integer","format":"int32","x-defaultValue":0,"required":false,"description":"Result set offset"},{"name":"limit","in":"query","type":"integer","format":"int32","x-defaultValue":30,"required":false,"description":"Result set size limit"}],"x-operationId":"getRuns","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Runs"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}":{"get":{"description":"Get run information","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"get","tags":["runs"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"delete":{"description":"Delete run. This will also delete all executions of this run.","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"remove","tags":["runs"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/execute":{"post":{"description":"Start new execution of run.","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"connect","in":"query","type":"boolean","x-defaultValue":false,"required":false,"description":"When true, execution will upload its result to configured integrations for this run"},{"name":"groupId","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Unique identifier of the proxy group to be used for the execution. The proxy group id for this execution is valid for four weeks, after which standard proxy selection logic is used."},{"name":"groupName","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Name of the proxy group to be used for the execution. The proxy group name for this execution is valid for four weeks, after which standard proxy selection logic is used."}],"x-operationId":"execute","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Execution"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/execute/wait":{"post":{"description":"Starts new execution of run and outputs the output when it's done. This will also delete the execution from dexi.io immediately after execution. Please note that you need to ensure your HTTP client does not timeout for long executions. Headers will be outputted when the output is ready.","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"connect","in":"query","type":"boolean","x-defaultValue":false,"required":false,"description":"When true execution will upload its result to configured integrations for this run"},{"name":"format","in":"query","type":"string","enum":["json","xml","csv","scsv","csv.gz","json.gz"],"x-defaultValue":"json","required":false,"description":"Specify the format you want the output to be in. Valid values are json, csv, xml, scsv, csv.gz and json.gz"},{"name":"deleteAfter","in":"query","type":"string","enum":["true","success","failure","false"],"x-defaultValue":"true","required":false,"description":"Automatically delete the execution after it succeeded, failed, both (true) or never (false). Defaults to true."},{"name":"groupId","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Unique identifier of the proxy group to be used for the execution. The proxy group id for this execution is valid for four weeks, after which standard proxy selection logic is used."},{"name":"groupName","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Name of the proxy group to be used for the execution. The proxy group name for this execution is valid for four weeks, after which standard proxy selection logic is used."}],"x-operationId":"executeSync","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Result"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/execute/inputs/wait":{"post":{"description":"Starts a new execution of a run using a single input from the body instead of the run itself and outputs the output when it's done. This will also delete the execution from dexi.io immediately after execution. Please note that you need to ensure your HTTP client does not timeout for long executions. Headers will be outputted when the output is ready.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/RunInputs"}},{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"connect","in":"query","type":"boolean","x-defaultValue":false,"required":false,"description":"When true execution will upload it's result to configured integrations for this run"},{"name":"format","in":"query","type":"string","enum":["json","xml","csv","scsv","csv.gz","json.gz"],"x-defaultValue":"json","required":false,"description":"Specify the format you want the output to be in. Valid values are json, csv, xml, scsv, csv.gz and json.gz"},{"name":"deleteAfter","in":"query","type":"string","enum":["true","success","failure","false"],"x-defaultValue":"true","required":false,"description":"Automatically delete the execution after it succeeded, failed, both (true) or never (false). Defaults to true."},{"name":"groupId","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Unique identifier of the proxy group to be used for the execution. The proxy group id for this execution is valid for four weeks, after which standard proxy selection logic is used."},{"name":"groupName","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Name of the proxy group to be used for the execution. The proxy group name for this execution is valid for four weeks, after which standard proxy selection logic is used."}],"x-operationId":"executeWithInputSync","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Result"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/execute/bulk/wait":{"post":{"description":"Starts new execution of run using the input rows from the body instead of the run itself and outputs the output when it's done. This will also delete the execution from dexi.io immediately after execution unless the deleteAfter parameter is false. Please note that you need to ensure your HTTP client does not timeout for long executions. Headers will be outputted when the output is ready.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/BulkInputs"}},{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"connect","in":"query","type":"boolean","x-defaultValue":false,"required":false,"description":"When true execution will upload it's result to configured integrations for this run"},{"name":"format","in":"query","type":"string","enum":["json","xml","csv","scsv","csv.gz","json.gz"],"x-defaultValue":"json","required":false,"description":"Specify the format you want the output to be in. Valid values are json, csv, xml, scsv, csv.gz and json.gz"},{"name":"deleteAfter","in":"query","type":"string","enum":["true","success","failure","false"],"x-defaultValue":"true","required":false,"description":"Automatically delete the execution after it succeeded, failed, both (true) or never (false). Defaults to true."},{"name":"groupId","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Unique identifier of the proxy group to be used for the execution. The proxy group id for this execution is valid for four weeks, after which standard proxy selection logic is used."},{"name":"groupName","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Name of the proxy group to be used for the execution. The proxy group name for this execution is valid for four weeks, after which standard proxy selection logic is used."}],"x-operationId":"executeBulkSync","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Result"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/execute/inputs":{"post":{"description":"Starts a new execution of a run using a single input from the body instead of the run itself.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/RunInputs"}},{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"connect","in":"query","type":"boolean","x-defaultValue":false,"required":false,"description":"When true execution will upload it's result to configured integrations for this run"},{"name":"groupId","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Unique identifier of the proxy group to be used for the execution. The proxy group id for this execution is valid for four weeks, after which standard proxy selection logic is used."},{"name":"groupName","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Name of the proxy group to be used for the execution. The proxy group name for this execution is valid for four weeks, after which standard proxy selection logic is used."}],"x-operationId":"executeWithInput","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Execution"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/execute/bulk":{"post":{"description":"Starts new execution of run using the input rows from the body instead of from the run itself.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/BulkInputs"}},{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"connect","in":"query","type":"boolean","x-defaultValue":false,"required":false,"description":"When true execution will upload it's result to configured integrations for this run"},{"name":"groupId","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Unique identifier of the proxy group to be used for the execution. The proxy group id for this execution is valid for four weeks, after which standard proxy selection logic is used."},{"name":"groupName","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Name of the proxy group to be used for the execution. The proxy group name for this execution is valid for four weeks, after which standard proxy selection logic is used."}],"x-operationId":"executeBulk","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Execution"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/latest/result":{"get":{"description":"Get latest result of run","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"format","in":"query","type":"string","enum":["json","xml","csv","scsv","csv.gz","json.gz"],"x-defaultValue":"json","required":false,"description":"Specify the format you want the output to be in. Valid values are json, csv, xml, scsv, csv.gz and json.gz"},{"name":"state","in":"query","type":"string","enum":["QUEUED","PENDING","RUNNING","FAILED","STOPPED","OK"],"required":false,"description":"State of the execution. "}],"x-operationId":"getLatestResult","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Result"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/executions":{"get":{"description":"Get executions of the run sorted by newest first","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"offset","in":"query","type":"integer","format":"int32","x-defaultValue":0,"required":false,"description":"Result set offset"},{"name":"limit","in":"query","type":"integer","format":"int32","x-defaultValue":30,"required":false,"description":"Result set size limit"},{"name":"startDate","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Optional. The start date format should be yyyy-MM-dd HH:mm:ss"},{"name":"endDate","in":"query","type":"string","x-defaultValue":"","required":false,"description":"Optional. The end date format should be yyyy-MM-dd HH:mm:ss"}],"x-operationId":"getExecutions","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ExecutionResult"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/inputs":{"delete":{"description":"Clear all inputs for run","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"clearInputs","tags":["runs"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"put":{"description":"When \"append\" = false, set the inputs of the run to the list of inputs provided on the body (overwrite them).When \"append\" = true, append to the existing inputs of the run the list of inputs provided on the body.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/BulkInputs"}},{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"append","in":"query","type":"boolean","x-defaultValue":true,"required":false,"description":"Specify \"set\" or \"append\" mode."},{"name":"format","in":"query","type":"string","enum":["json","xml","csv","scsv"],"x-defaultValue":"json","required":false,"description":"Specify the format you want the output to be in. Valid values are json, csv, xml and scsv."}],"x-operationId":"setInputs","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Run"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/schedule":{"get":{"description":"Get execution schedule for the run","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"getRunSchedule","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/RunSchedule"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"put":{"description":"Update execution schedule for the run","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/RunSchedule"}},{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"updateRunSchedule","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/RunSchedule"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"delete":{"description":"Delete execution schedule for the run","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"deleteRunSchedule","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/RunSchedule"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/schedule/activation":{"put":{"description":"Activate/deactivate execution schedule for the run","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"activate","in":"query","type":"boolean","x-defaultValue":true,"required":false,"description":"Specify \"activated\" or \"deactivated\" mode."}],"x-operationId":"runScheduleActivation","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/RunSchedule"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/triggers":{"get":{"description":"Get file information for file-based triggers of a run","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"getTriggerFileInfo","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/TriggerFileInfos"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/triggers/{triggerId}":{"put":{"description":"Update file information for a file-based trigger","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/TriggerFileInfo"}},{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"},{"name":"triggerId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the trigger"}],"x-operationId":"updateTriggerFileInfo","tags":["runs"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/TriggerFileInfo"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/runs/{runId}/input/number":{"get":{"description":"Get the number of inputs added in a single configuration","produces":["application/json"],"parameters":[{"name":"runId","in":"path","type":"string","format":"uuid","required":true,"description":"Primary id of the run"}],"x-operationId":"getInputNumber","tags":["runs"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}":{"get":{"description":"Get execution","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"}],"x-operationId":"get","tags":["executions"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Execution"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"delete":{"description":"Delete execution permanently","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"}],"x-operationId":"remove","tags":["executions"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}/events":{"get":{"description":"Get execution events information.","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"}],"x-operationId":"getEvents","tags":["executions"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ExecutionEvents"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}/result":{"get":{"description":"Get execution result. As a result can be very large it is advised that you use some method of streaming to parse the result and insert it into your data store of choice.","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"},{"name":"format","in":"query","type":"string","enum":["json","xml","csv","scsv","csv.gz","json.gz"],"x-defaultValue":"json","required":false,"description":"Specify the format you want the output to be in. Valid values are json, csv, xml, scsv, csv.gz and json.gz"}],"x-operationId":"getResult","tags":["executions"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Result"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}/file/{fileId}*":{"get":{"description":"Get execution result file contents. Response headers include the content-type of the file. This method is deprecated - See files.getFile.","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"},{"name":"fileId","in":"path","type":"string","required":true,"description":"ID of the file. Must be URL encoded as it can contain paths"}],"x-operationId":"getResultFile","tags":["executions"],"responses":{"200":{"description":"OK","schema":{"type":"string"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}/stop":{"post":{"description":"Stop execution. Note that an execution does not stop immediately.","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"}],"x-operationId":"stop","tags":["executions"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}/retry":{"post":{"description":"Retry failed/stopped results of an execution.","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"}],"x-operationId":"retry","tags":["executions"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}/stats":{"get":{"description":"Get statistics about an execution: basic info, usage stats and result stats.","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"}],"x-operationId":"getStats","tags":["executions"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Stats"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/executions/{executionId}/connect":{"post":{"description":"Upload to integrations.","produces":["application/json"],"parameters":[{"name":"executionId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the execution"}],"x-operationId":"connect","tags":["executions"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/robots":{"post":{"description":"Create a robot by providing its definition. To update a robot, use \"update\". If an id is provided, it is discarded.","produces":["application/json"],"parameters":[],"x-operationId":"create","tags":["robots"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"put":{"description":"Update robot definition by id. The robot is created if not found.","produces":["application/json"],"parameters":[],"x-operationId":"update","tags":["robots"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"get":{"description":"Get list of robots","produces":["application/json"],"parameters":[{"name":"offset","in":"query","type":"integer","format":"int32","x-defaultValue":0,"required":false,"description":"Robots set offset"},{"name":"limit","in":"query","type":"integer","format":"int32","x-defaultValue":30,"required":false,"description":"Robots set size limit"}],"x-operationId":"list","tags":["robots"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/robots/{robotId}":{"get":{"description":"Get robot definition","produces":["application/json"],"parameters":[{"name":"robotId","in":"path","type":"string","required":true,"description":""}],"x-operationId":"get","tags":["robots"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"delete":{"description":"Delete robot. This will also delete all runs and executions of this robot. Deleted robots can only be recovered via the UI.","produces":["application/json"],"parameters":[{"name":"robotId","in":"path","type":"string","required":true,"description":""}],"x-operationId":"remove","tags":["robots"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/robots/{robotId}/disable-versioning":{"put":{"description":"Disable robot versioning. By disabling versioning, you won't be able to restore previous versions of this robot.","produces":["application/json"],"parameters":[{"name":"robotId","in":"path","type":"string","required":true,"description":""},{"name":"disableVersioning","in":"query","type":"boolean","x-defaultValue":false,"required":false,"description":"When true, robot will be updated, and all previous robot versions will be removed."}],"x-operationId":"disableVersioning","tags":["robots"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/datasets/{dataSetId}/rows":{"post":{"description":"Query the rows in your dataset. Empty query returns all.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/DataSetRowQuery"}},{"name":"dataSetId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the dataset"}],"x-operationId":"rows","tags":["datasets"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/DataSetRowSet"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/files/{fileId}*":{"get":{"description":"Get file contents. Response headers include the content-type and content-length of the file","produces":["application/json"],"parameters":[{"name":"fileId","in":"path","type":"string","required":true,"description":"Path or ID of the file"}],"x-operationId":"getFile","tags":["files"],"responses":{"200":{"description":"OK","schema":{"type":"string"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/products/{indexId}/brands":{"get":{"description":"Get brands for index","produces":["application/json"],"parameters":[{"name":"indexId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the indexId"}],"x-operationId":"getBrands","tags":["products"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProductBrands"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":"productManager"}},"/products/{indexId}/brands/{brandId}/models":{"get":{"description":"Get models for brand","produces":["application/json"],"parameters":[{"name":"indexId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the indexId"},{"name":"brandId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the brand"}],"x-operationId":"getModelsForBrand","tags":["products"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProductModels"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":"productManager"}},"/products/{indexId}/models":{"get":{"description":"Get all models for index","produces":["application/json"],"parameters":[{"name":"indexId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the indexId"}],"x-operationId":"getModels","tags":["products"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProductModels"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":"productManager"}},"/products/{indexId}/models/muted":{"put":{"description":"Update muted state for models","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/ProductMutedSet"}},{"name":"indexId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the indexId"}],"x-operationId":"setMutedModels","tags":["products"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":"productManager"}},"/products/{indexId}/brands/muted":{"put":{"description":"Update muted state for brands","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/ProductMutedSet"}},{"name":"indexId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the indexId"}],"x-operationId":"setMutedBrands","tags":["products"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":"productManager"}},"/transformer/{transformerId}/process/single":{"post":{"description":"Apply transformation to a single row of data","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/InputData"}},{"name":"transformerId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the transformerId"}],"x-operationId":"transformRow","tags":["transformer"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/OutputData"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":"transformer"}},"/clientip/":{"get":{"description":"","produces":["application/json"],"parameters":[],"x-operationId":"get","tags":["clientip"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/proxygroups":{"post":{"description":"Create a proxy group. If you pass a property `proxies` with an array of proxies as value to the Proxy Group object definition, those proxies will be created/ added to the proxy group.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/CreateProxyGroupWithProxies"}}],"x-operationId":"createProxyGroup","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CreateProxyGroupWithProxies"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"get":{"description":"List with proxy groups.","produces":["application/json"],"parameters":[{"name":"offset","in":"query","type":"integer","format":"int32","x-defaultValue":0,"required":false,"description":"Proxy Groups set offset"},{"name":"limit","in":"query","type":"integer","format":"int32","x-defaultValue":30,"required":false,"description":"Proxy Groups set size limit"}],"x-operationId":"getProxyGroups","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProxyGroupList"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/proxygroups/{proxyGroupId}":{"get":{"description":"Get proxy group by Id","produces":["application/json"],"parameters":[{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"}],"x-operationId":"getProxyGroup","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProxyGroup"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"put":{"description":"Update proxy group.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/ProxyGroup"}},{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"}],"x-operationId":"updateProxyGroup","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProxyGroup"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"delete":{"description":"Delete proxy group. This will also delete all proxies defined under the proxy group. ","produces":["application/json"],"parameters":[{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"}],"x-operationId":"removeProxyGroup","tags":["proxygroups"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/proxygroups/{proxyGroupId}/proxies/":{"post":{"description":"Add proxies to a proxy group.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/AddProxies"}},{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"}],"x-operationId":"createProxies","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/AddProxiesResponse"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"get":{"description":"Get proxies by proxy group.","produces":["application/json"],"parameters":[{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"},{"name":"offset","in":"query","type":"integer","format":"int32","x-defaultValue":0,"required":false,"description":"Proxies set offset"},{"name":"limit","in":"query","type":"integer","format":"int32","x-defaultValue":0,"required":false,"description":"Proxies set size limit"}],"x-operationId":"getProxyGroupProxies","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProxyGroupProxiesList"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}},"/proxygroups/{proxyGroupId}/proxies/{proxyId}":{"get":{"description":"Get single proxy configuration.","produces":["application/json"],"parameters":[{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"},{"name":"proxyId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy"}],"x-operationId":"getProxy","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Proxy"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"put":{"description":"Update a proxy.","produces":["application/json"],"parameters":[{"in":"body","name":"body","required":true,"schema":{"$ref":"#/definitions/AddProxy"}},{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"},{"name":"proxyId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy"}],"x-operationId":"updateProxy","tags":["proxygroups"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Proxy"}}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null},"delete":{"description":"Delete a proxy.","produces":["application/json"],"parameters":[{"name":"proxyGroupId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy Group"},{"name":"proxyId","in":"path","type":"string","format":"uuid","required":true,"description":"UUID of the Proxy"}],"x-operationId":"deleteProxy","tags":["proxygroups"],"responses":{"200":{"description":"OK"}},"security":[{"X-DexiIO-Access":[],"X-DexiIO-Account":[]}],"x-featureId":null}}},"definitions":{"Run":{"properties":{"_id":{"type":"string","format":"uuid","description":"Primary id"},"name":{"type":"string","description":"Run name"}},"description":"Runs are configurations of how a robot should be executed.","x-exampleOutput":{"json":{"_id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","name":"Awesome run"}},"x-featureId":null},"Runs":{"properties":{"rows":{"type":"array","items":{"type":"object","properties":{"_id":{"type":"string","format":"uuid","description":"Run id"},"name":{"type":"string","description":"Run name"},"robotId":{"type":"string","format":"uuid","description":"Robot id"},"robotName":{"type":"string","description":"Robot name"}}},"description":"The found runs"},"offset":{"type":"integer","description":"Current offset"},"totalRows":{"type":"integer","description":"Total number of rows"}},"description":"A result set for runs.","x-exampleOutput":{"json":{"rows":[{"_id":"b64a8397-2159-4466-a907-cc615d6530de","name":"Default","robotId":"c5bed178-aca5-45a4-9cde-8ade1292778c","robotName":"My Cool Robot!"},{"_id":"734e74b1-abf4-4581-bac8-dabe8084463b","name":"Configuration 1","robotId":"c5bed178-aca5-45a4-9cde-8ade1292778c","robotName":"My Cool Robot!"},{"_id":"d80aff79-c867-4b33-b4d2-5276e9591189","name":"Configuration 2","robotId":"c5bed178-aca5-45a4-9cde-8ade1292778c","robotName":"My Cool Robot!"},{"_id":"c130fd1f-e00a-4e50-9fe8-0a64d5033851","name":"Test","robotId":"c5bed178-aca5-45a4-9cde-8ade1292778c","robotName":"My Cool Robot!"},{"_id":"3bdb31fb-f85d-4267-b89e-571c7963a1a6","name":"Default","robotId":"f94b8232-5ac1-48e5-948c-dcbe8a3a3a46","robotName":"github.com"},{"_id":"734e74b1-abf4-4581-bac8-dabe8084463b","name":"Tester","robotId":"f94b8232-5ac1-48e5-948c-dcbe8a3a3a46","robotName":"github.com"}],"offset":0,"totalRows":6}},"x-featureId":null},"RunInputs":{"properties":{},"additionalProperties":true,"description":"A map of input values","x-exampleOutput":{"json":{"my_input_field":"My input value","my_other_input_field":234}},"x-featureId":null},"BulkInputs":{"type":"array","additionalProperties":true,"items":{"type":"object","properties":{},"description":"The input values themselves."},"description":"A list of maps with input values","x-exampleOutput":{"json":[{"my_input_field":"My 1st value","my_other_input_field":1111},{"my_input_field":"My 2nd value","my_other_input_field":2222},{"my_input_field":"My 3rd value","my_other_input_field":3333}]},"x-featureId":null},"TriggerFileInfos":{"type":"array","items":{"type":"object","properties":{"triggerId":{"type":"string","description":"The id of the trigger."},"eventType":{"type":"string","description":"The type of trigger event."},"handlerName":{"type":"string","description":"The name of the trigger."},"filenameFormat":{"type":"string","description":"The format for the file name."},"format":{"type":"string","description":"The file type/format."},"path":{"type":"string","description":"The path of the file."}}},"description":"The file information related to file-based triggers","x-exampleOutput":{"json":[{"triggerId":"d8549718-c96a-4cda-859b-ba176205b6c1","eventType":"EXECUTION_COMPLETE","handlerName":"Save file to Google Drive","filenameFormat":"%type%_%name%_%year%%month%%date%_%hour%%minute%","format":"csv","path":"/"}]},"x-featureId":null},"TriggerFileInfo":{"properties":{"triggerId":{"type":"string","description":"The id of the trigger."},"eventType":{"type":"string","description":"The type of trigger event."},"handlerName":{"type":"string","description":"The name of the trigger."},"filenameFormat":{"type":"string","description":"The format for the file name."},"format":{"type":"string","description":"The file type/format."},"path":{"type":"string","description":"The path of the file."}},"description":"The file information related to a file-based trigger","x-exampleOutput":{"json":{"triggerId":"d8549718-c96a-4cda-859b-ba176205b6c1","eventType":"EXECUTION_COMPLETE","handlerName":"Save file to Google Drive","filenameFormat":"%type%_%name%_%year%%month%%date%_%hour%%minute%","format":"csv","path":"/"}},"x-featureId":null},"RunSchedule":{"properties":{"scheduleActive":{"type":"boolean","description":"When true, scheduled execution of this run is enabled."},"schedule":{"type":"string","description":"The cron expression that determines the frequency and time of the execution."},"schedulingTimeZone":{"type":"string","description":"The Time Zone for the specified schedule."},"scheduleStart":{"type":"integer","description":"UTC Unix timestamp in milliseconds of when the schedule becomes available. If empty schedule is available right away."},"scheduleEnd":{"type":"integer","description":"UTC Unix timestamp in milliseconds of when the schedule becomes unavailable. If empty schedule never stops."}},"description":"The scheduling information related to the robot run","x-exampleOutput":{"json":{"scheduleActive":true,"schedule":"*/2 * * * ?","schedulingTimeZone":"UTC","scheduleStart":1683568000000,"scheduleEnd":1683990000000}},"x-featureId":null},"Execution":{"properties":{"_id":{"type":"string","format":"uuid","description":"Primary id"},"state":{"type":"string","description":"State of the execution.","x-defaultValue":"PENDING","enum":["QUEUED","PENDING","RUNNING","FAILED","STOPPED","OK"]},"starts":{"type":"integer","format":"int64","description":"UTC Unix timestamp in milliseconds of when the execution was or will be started."},"finished":{"type":"integer","format":"int64","description":"UTC Unix timestamp in milliseconds of when the execution was finished."},"robotId":{"type":"string","format":"uuid","description":"The id of the robot."},"runId":{"type":"string","format":"uuid","description":"The id of the run."}},"description":"An execution of a run (configuration).","x-exampleOutput":{"json":{"_id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","state":"RUNNING","starts":1424361401458,"finished":null}},"x-featureId":null},"Event":{"properties":{"system":{"type":"boolean","description":"Whether or not event is triggered by the system."},"userId":{"type":"string","description":"The id of the user who triggered the event when system is not the trigger."},"message":{"type":"string","description":"The message of the event."},"created":{"type":"integer","format":"int64","description":"UTC Unix timestamp in milliseconds of the event."}},"description":"The event of an execution.","x-exampleOutput":{"json":{"system":false,"userId":"043791c7-2a42-431b-b9db-60c7ba2f1ab5","message":"Execution was created and queued","created":1424361401458}},"x-featureId":null},"ExecutionEvents":{"properties":{"_id":{"type":"string","format":"uuid","description":"Primary id"},"state":{"type":"string","description":"State of the execution.","x-defaultValue":"PENDING","enum":["QUEUED","PENDING","RUNNING","FAILED","STOPPED","OK"]},"starts":{"type":"integer","format":"int64","description":"UTC Unix timestamp in milliseconds of when the execution was or will be started."},"finished":{"type":"integer","format":"int64","description":"UTC Unix timestamp in milliseconds of when the execution was finished."},"robotId":{"type":"string","format":"uuid","description":"The id of the robot."},"runId":{"type":"string","format":"uuid","description":"The id of the run."},"events":{"type":"array","items":{"$ref":"#/definitions/Event"},"description":"The execution events."}},"description":"Execution information along with its events.","x-exampleOutput":{"json":{"_id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","state":"RUNNING","starts":1424361401458,"finished":null,"events":[{"system":false,"userId":"043791c7-2a42-431b-b9db-60c7ba2f1ab5","message":"Execution was created and queued","created":1424361401458}]}},"x-featureId":null},"Result":{"properties":{"headers":{"type":"array","items":{"type":"string"},"description":"Header names."},"rows":{"type":"array","items":{"type":"array","items":{"type":"string"}},"description":"The row values themselves."},"totalRows":{"type":"integer","description":"Total number of rows"}},"description":"An execution result. The JSON is structured to minimize the transfer overhead.","x-exampleOutput":{"json":{"headers":["field_a","field_b","field_c"],"rows":[["value 1",123.212,true],["value 2",542,false],["value 3",342,false],["value 4",5452,false],["value 5",32,true]],"totalRows":5},"csv":"\"field_a\",\"field_b\",\"field_c\"\n\"value 1\",123.212,false\n\"value 2\",542,false\n\"value 3\",342,false\n\"value 4\",5452,false\n\"value 5\",32,true\n"},"x-featureId":null},"ExecutionResult":{"properties":{"rows":{"type":"array","items":{"$ref":"#/definitions/Execution"},"description":"The found executions"},"offset":{"type":"integer","description":"Current offset"},"totalRows":{"type":"integer","description":"Total number of rows"}},"description":"A result set for executions.","x-exampleOutput":{"json":{"rows":[{"_id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","state":"RUNNING","starts":1424361401458,"finished":null},{"_id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","state":"FAILED","starts":1424361401458,"finished":1424404663548},{"_id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","state":"RUNNING","starts":1424361401458,"finished":null},{"_id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","state":"OK","starts":1424361401458,"finished":1424377113422}],"offset":0,"totalRows":120}},"x-featureId":null},"Stats":{"properties":{"created":{"type":"integer","description":"UTC Unix timestamp of the time the execution was created."},"createdBy":{"type":"string","format":"uuid","description":"The id of the user who created the execution."},"createdByName":{"type":"string","description":"The name of the user who created the execution."},"lastModified":{"type":"integer","description":"UTC Unix timestamp of the time the execution was last modified."},"modifiedBy":{"type":"string","format":"uuid","description":"The id of the user who last modified the execution."},"modifiedByName":{"type":"string","description":"The name of the user who last modified the execution."},"robotId":{"type":"string","format":"uuid","description":"The id of the robot."},"robotName":{"type":"string","description":"The name of the robot."},"runId":{"type":"string","format":"uuid","description":"The id of the run."},"runName":{"type":"string","description":"The name of the run."},"state":{"type":"string","description":"The current state of the execution."},"starts":{"type":"integer","description":"UTC Unix timestamp of the time the execution was started."},"finished":{"type":"integer","description":"UTC Unix timestamp of the time the execution finished (null if still active)."},"pageVisits":{"type":"integer","description":"The number of page visits."},"requests":{"type":"integer","description":"The number of requests."},"timeUsed":{"type":"integer","description":"The amount of time the execution has run (on a worker) (ms)."},"trafficUsed":{"type":"integer","description":"The traffic used by the execution (bytes)."},"resultsCurrent":{"type":"integer","description":"The current number of results."},"resultsFailed":{"type":"string","description":"The number of failed results."},"resultsTotal":{"type":"string","description":"The total number of results."},"timeTaken":{"type":"string","description":"The amount of time since the execution was started (ms)."},"eta":{"type":"integer","description":"UTC Unix timestamp of the time the execution is expected to finish (null for single-input executions)."},"concurrency":{"type":"integer","description":"Max number of concurrent running results (as configured on the run)."}},"description":"Statistics about an execution.","x-exampleOutput":{"json":{"created":1489747081697,"createdBy":"f136bd2f-b5ef-4363-85d2-87f697195c27","createdByName":"Hubert J. Farnsworth","lastModified":1489747081697,"modifiedBy":"f136bd2f-b5ef-4363-85d2-87f697195c27","modifiedByName":"Hubert J. Farnsworth","robotId":"dbf191bf-3339-4f61-9d28-6251b7b634ff","robotName":"Extractor Robot 1","runId":"ffe8a638-98e4-4214-963f-bf00e85079be","runName":"Configuration 1","state":"OK","starts":1489747082137,"finished":1489747620020,"archived":false,"pageVisits":14,"requests":141,"timeUsed":513969,"trafficUsed":6785189,"resultsCurrent":7,"resultsFailed":2,"resultsTotal":7,"resultsOk":5,"timeTaken":537883,"eta":null,"concurrency":1}},"x-featureId":null},"DataSetRowQuery":{"properties":{"offset":{"type":"integer","x-defaultValue":"0","description":"The offset of the rows to return. Defaults to 0."},"limit":{"type":"integer","x-defaultValue":"30","description":"The number of results to return. Defaults to 30."},"query":{"type":"object","description":"The query itself - a key/value map of field name and query options. If you are querying nested fields write the full path using dots","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["EQ","LT","GT","BETWEEN","IN","CONTAINS","STARTS_WITH","ENDS_WITH","FUZZY","EMPTY","NOTEMPTY"],"description":"The type of query to be made on the given field.\n
EQ : Equals $value\n
LT : Lower Than $value\n
GT : Greater Than $value
BETWEEN : Between $from and $to
IN : In $values List
CONTAINS : String contains $value
STARTS_WITH : String starts with $value
ENDS_WITH : String ends with $value
FUZZY : Fuzzy match $value using Levensthein distance
EMPTY : Field is empty
NOTEMPTY : Field is not empty"},"from":{"description":"The FROM value in BETWEEN queries. Ignored otherwise."},"to":{"description":"The TO value in BETWEEN queries. Ignored otherwise."},"value":{"description":"The query value for EQ, LT, GT, CONTAINS, STARTS_WITH, ENDS_WITH, FUZZY. Ignored otherwise."},"values":{"type":"array","description":"The list of values for IN queries. Ignored otherwise.","items":{}}}}}},"description":"A data set query object","x-exampleOutput":{"json":{"offset":100,"limit":50,"query":{"name":{"type":"EQ","value":"Some Name"},"age":{"type":"BETWEEN","from":18,"to":22},"job.title":{"type":"IN","values":["Developer","Engineer"]},"job.startDate":{"type":"GT","value":1489747081697}}}},"x-featureId":null},"DataSetRowSet":{"properties":{"offset":{"type":"integer","description":"Offset of result set"},"totalRows":{"type":"integer","description":"Total number of rows in dataset result"},"rows":{"type":"array","description":"Rows of the result","items":{"type":"object","properties":{"_id":{"type":"string","description":"Unique ID of the row"},"created":{"type":"integer","description":"Unix timestamp from when the row was created in milliseconds"},"lastModified":{"type":"integer","description":"Unix timestamp from when the row was last modified in milliseconds"},"values":{"type":"object","description":"The actual values of the row - map of field/value","additionalProperties":true}}}}},"description":"Data set rows","x-exampleOutput":{"json":{"offset":0,"totalRows":3,"rows":[{"_id":"a535dfdc-b84f-11e4-b6cc-001f5b3cb724","created":1489747081697,"lastModified":1489747081697,"verified":false,"values":{"fieldA":"Value A","fieldB":1234,"fieldC":{"boolField":false}}},{"_id":"a535dfdc-b84f-11e4-b6cc-001f5b3cb724","created":1489747081697,"lastModified":1489747081697,"verified":false,"values":{"fieldA":"Value A","fieldB":1234,"fieldC":{"boolField":false}}},{"_id":"a535dfdc-b84f-11e4-b6cc-001f5b3cb724","created":1489747081697,"lastModified":1489747081697,"verified":false,"values":{"fieldA":"Value A","fieldB":1234,"fieldC":{"boolField":false}}}]}},"x-featureId":null},"ProductBrands":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the brand"},"name":{"type":"string","description":"Brand name"},"muted":{"type":"boolean","description":"Whether brand is muted"}}},"description":"A list of product brands in the product manager. ","x-exampleOutput":{"json":[{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","name":"Apple","muted":false},{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","name":"Samsung","muted":false},{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","name":"Nokia","muted":true}]},"x-featureId":"productManager"},"ProductModels":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of the model"},"name":{"type":"string","description":"Model name"},"brandId":{"type":"string","description":"Unique ID of the associated brand"},"muted":{"type":"boolean","description":"Whether model is muted"}}},"description":"A list of product models in the product manager. ","x-exampleOutput":{"json":[{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","name":"iPhone XR","brandId":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","muted":false},{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","name":"iPhone XR","brandId":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","muted":false},{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","name":"iPhone XR","brandId":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","muted":false}]},"x-featureId":"productManager"},"ProductMutedSet":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Unique ID of model or brand"},"muted":{"type":"boolean","description":"Whether model is muted"}}},"description":"A list of ids and muted values - used to update muted states of brands and models in bulk","x-exampleOutput":{"json":[{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","muted":false},{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","muted":false},{"id":"c535dfdc-b84f-11e4-b6cc-001f5b3cb724","muted":false}]},"x-featureId":"productManager"},"InputData":{"properties":{},"additionalProperties":true,"description":"A map of input values","x-exampleOutput":{"json":{"my_input_field":"My input value","my_other_input_field":234}},"x-featureId":"transformer"},"OutputData":{"properties":{},"additionalProperties":true,"description":"A map of output values","x-exampleOutput":{"json":{"my_input_field":"My input value","my_other_input_field":234}},"x-featureId":"transformer"},"ProxyGroup":{"type":"object","properties":{"name":{"type":"string","description":"The name of the proxy group."},"type":{"type":"string","description":"The type of the proxies that belog to the proxy group.","enum":["OTHER","DATACENTER","RESIDENTIAL","MOBILE"]},"tagNames":{"type":"array","items":{"type":"string"},"description":"Array of strings (labels defined at the Proxy Group level)."},"provider":{"type":"string","description":"The provider can be BrightData, OxyLabs or Custom (in this case the user should provide the username, password, host and port for each proxy).","enum":["CUSTOM","OXYLABS","BRIGHTDATA"]},"options":{"type":"object","properties":{"username":{"type":"string","description":"The BrightData or OxyLabs username"},"password":{"type":"string","description":"The BrightData or OxyLabs password"},"useSessions":{"type":"string","description":"Session IP persistence. Only for BrightData "},"key":{"type":"string","description":"OxyLabs Key"}},"description":"Required only if the provider is OxyLabs or BrightDta."},"_id":{"type":"string","description":"The proxy group ID. Not required when you create a proxy group."}},"description":"A proxy group object definition.","x-exampleOutput":{"json":{"name":"Test Proxy Group","type":"DATACENTER","tagNames":["France","Europe"],"provider":"OXYLABS","options":{"key":"452kn4643n6i","username":"TestUsername","password":"Password123"}}},"x-featureId":null},"CreateProxyGroupWithProxies":{"type":"object","properties":{"name":{"type":"string","description":"The name of the proxy group."},"type":{"type":"string","description":"The type of the proxies that belog to the proxy group.","enum":["OTHER","DATACENTER","RESIDENTIAL","MOBILE"]},"tagNames":{"type":"array","items":{"type":"string"},"description":"Array of strings (labels defined at the Proxy Group level)."},"provider":{"type":"string","description":"The provider can be BrightData, OxyLabs or Custom (in this case the user should provide the username, password, host and port for each proxy).","enum":["CUSTOM","OXYLABS","BRIGHTDATA"]},"options":{"type":"object","properties":{"username":{"type":"string","description":"The BrightData or OxyLabs username"},"password":{"type":"string","description":"The BrightData or OxyLabs password"},"useSessions":{"type":"string","description":"Session IP persistence. Only for BrightData "},"key":{"type":"string","description":"OxyLabs Key"}},"description":"Required only if the provider is OxyLabs or BrightDta."},"_id":{"type":"string","description":"The proxy group ID. Not required when you create a proxy group."},"proxies":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string","description":"The hostname or IP address of the proxy server."},"username":{"type":"string","description":"The username of the proxy server."},"password":{"type":"string","description":"The password of the proxy server."},"port":{"type":"integer","description":"The port number of the proxy server."},"type":{"type":"string","enum":["HTTP","HTTPS"],"description":"The proxy type."},"tunnel":{"type":"boolean","description":"Should this proxy use tunneling (HTTP CONNECT) for all sites?"},"rotates":{"type":"boolean","description":"Does this proxy rotate IPs itself?"},"alive":{"type":"boolean","description":"Is this proxy alive? (Not mandatory when creating proxy)"},"valid":{"type":"boolean","description":"Is this proxy valid? (Not mandatory when creating proxy)"},"forceAlive":{"type":"boolean","description":"Keep this proxy alive."},"_id":{"type":"string","description":"The proxy ID. Not required when you create a proxy."},"ipAddress":{"type":"string","description":"The proxy`s IP address"},"groupId":{"type":"string","description":"The proxy group Id"}}},"description":"Applies only when you create a Proxy Group. It creates a Proxy Group (and adds proxies if a proxy list is provided)."}},"description":"A proxy group with proxies - object definition.","x-exampleOutput":{"json":{"name":"Test Proxy Group","type":"DATACENTER","tagNames":["France","Europe"],"provider":"CUSTOM","proxies":[{"host":"64.123.168.23","username":"testUsername","password":"testPassword","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"forceAlive":true},{"host":"64.123.168.24","username":"testUsername","password":"testPassword","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"forceAlive":true}]}},"x-featureId":null},"ProxyGroupList":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The name of the proxy group."},"type":{"type":"string","description":"The type of the proxies that belog to the proxy group.","enum":["OTHER","DATACENTER","RESIDENTIAL","MOBILE"]},"tagNames":{"type":"array","items":{"type":"string"},"description":"Array of strings (labels defined at the Proxy Group level)."},"provider":{"type":"string","description":"The provider can be BrightData, OxyLabs or Custom (in this case the user should provide the username, password, host and port for each proxy).","enum":["CUSTOM","OXYLABS","BRIGHTDATA"]},"options":{"type":"object","properties":{"username":{"type":"string","description":"The BrightData or OxyLabs username"},"password":{"type":"string","description":"The BrightData or OxyLabs password"},"useSessions":{"type":"string","description":"Session IP persistence. Only for BrightData "},"key":{"type":"string","description":"OxyLabs Key"}},"description":"Required only if the provider is OxyLabs or BrightDta."},"_id":{"type":"string","description":"The proxy group ID. Not required when you create a proxy group."}}},"description":"Array with proxy groups."},"offset":{"type":"integer","description":"Current offset"},"totalRows":{"type":"integer","description":"Total number of proxy groups"}},"description":"List with Proxy Groups.","x-exampleOutput":{"json":{"rows":[{"name":"Brightdata US zone","type":"DATACENTER","tagNames":["Label 1","Label 2"],"provider":"BRIGHTDATA","options":{"username":"testUsername","password":"*******","useSessions":true},"_id":"5675df-c7f0-4347-bcd6-3t345f"},{"name":"Oxylab uk zone","type":"DATACENTER","tagNames":["UK","London"],"provider":"OXYLABS","options":{"key":"4653476dhch","username":"testUsername","password":"*******"},"_id":"346sdfy-8866-4c9b-bb87-363ffedh"}],"offset":0,"totalRows":2}},"x-featureId":null},"AddProxy":{"properties":{"host":{"type":"string","description":"The hostname or IP address of the proxy server."},"username":{"type":"string","description":"The username of the proxy server."},"password":{"type":"string","description":"The password of the proxy server."},"port":{"type":"integer","description":"The port number of the proxy server."},"type":{"type":"string","enum":["HTTP","HTTPS"],"description":"The proxy type."},"tunnel":{"type":"boolean","description":"Should this proxy use tunneling (HTTP CONNECT) for all sites?"},"rotates":{"type":"boolean","description":"Does this proxy rotate IPs itself?"},"alive":{"type":"boolean","description":"Is this proxy alive? (Not mandatory when creating proxy)"},"valid":{"type":"boolean","description":"Is this proxy valid? (Not mandatory when creating proxy)"},"forceAlive":{"type":"boolean","description":"Keep this proxy alive."},"_id":{"type":"string","description":"The proxy ID. Not required when you create a proxy."}},"description":"Create Proxy object structure.","x-exampleOutput":{"json":{"host":"64.123.168.23","username":"testUsername","password":"testPassword","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"forceAlive":true}},"x-featureId":null},"Proxy":{"properties":{"host":{"type":"string","description":"The hostname or IP address of the proxy server."},"username":{"type":"string","description":"The username of the proxy server."},"password":{"type":"string","description":"The password of the proxy server."},"port":{"type":"integer","description":"The port number of the proxy server."},"type":{"type":"string","enum":["HTTP","HTTPS"],"description":"The proxy type."},"tunnel":{"type":"boolean","description":"Should this proxy use tunneling (HTTP CONNECT) for all sites?"},"rotates":{"type":"boolean","description":"Does this proxy rotate IPs itself?"},"alive":{"type":"boolean","description":"Is this proxy alive? (Not mandatory when creating proxy)"},"valid":{"type":"boolean","description":"Is this proxy valid? (Not mandatory when creating proxy)"},"forceAlive":{"type":"boolean","description":"Keep this proxy alive."},"_id":{"type":"string","description":"The proxy ID. Not required when you create a proxy."},"ipAddress":{"type":"string","description":"The proxy`s IP address"},"groupId":{"type":"string","description":"The proxy group Id"}},"description":"Proxy object structure.","x-exampleOutput":{"json":{"host":"64.34.117.111","username":"*******","password":"*******","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"alive":true,"valid":true,"forceAlive":false,"_id":"57tg54-4f98-4ab2-9cc7-4346r","ipAddress":"64.34.117.111","groupId":"5476tr-b351-4848-8253-5464yfge"}},"x-featureId":null},"AddProxies":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string","description":"The hostname or IP address of the proxy server."},"username":{"type":"string","description":"The username of the proxy server."},"password":{"type":"string","description":"The password of the proxy server."},"port":{"type":"integer","description":"The port number of the proxy server."},"type":{"type":"string","enum":["HTTP","HTTPS"],"description":"The proxy type."},"tunnel":{"type":"boolean","description":"Should this proxy use tunneling (HTTP CONNECT) for all sites?"},"rotates":{"type":"boolean","description":"Does this proxy rotate IPs itself?"},"alive":{"type":"boolean","description":"Is this proxy alive? (Not mandatory when creating proxy)"},"valid":{"type":"boolean","description":"Is this proxy valid? (Not mandatory when creating proxy)"},"forceAlive":{"type":"boolean","description":"Keep this proxy alive."},"_id":{"type":"string","description":"The proxy ID. Not required when you create a proxy."}}},"description":"A list with the new proxies.","x-exampleOutput":{"json":[{"host":"123.123.23.126","username":"*******","password":"*******","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"alive":true,"valid":true,"forceAlive":true,"_id":"7609-sdfhsh-4a52-b148-dfhf4456","ipAddress":"123.123.23.126","groupId":"9677l8-b351-4848-8253-2036ae431502"},{"host":"213.231.33.128","username":"*******","password":"*******","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"alive":true,"valid":true,"forceAlive":false,"_id":"8790p-sdfhsh-4a52-b148-xh4ew3","ipAddress":"213.231.33.128","groupId":"897875uy-b351-4848-8253-2036ae431502"}]},"x-featureId":null},"AddProxiesResponse":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string","description":"The hostname or IP address of the proxy server."},"username":{"type":"string","description":"The username of the proxy server."},"password":{"type":"string","description":"The password of the proxy server."},"port":{"type":"integer","description":"The port number of the proxy server."},"type":{"type":"string","enum":["HTTP","HTTPS"],"description":"The proxy type."},"tunnel":{"type":"boolean","description":"Should this proxy use tunneling (HTTP CONNECT) for all sites?"},"rotates":{"type":"boolean","description":"Does this proxy rotate IPs itself?"},"alive":{"type":"boolean","description":"Is this proxy alive? (Not mandatory when creating proxy)"},"valid":{"type":"boolean","description":"Is this proxy valid? (Not mandatory when creating proxy)"},"forceAlive":{"type":"boolean","description":"Keep this proxy alive."},"_id":{"type":"string","description":"The proxy ID. Not required when you create a proxy."},"ipAddress":{"type":"string","description":"The proxy`s IP address"},"groupId":{"type":"string","description":"The proxy group Id"}}},"description":"List with the new Proxies.","x-exampleOutput":[{"host":"123.123.23.126","username":"*******","password":"*******","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"alive":true,"valid":true,"forceAlive":true,"_id":"7609-sdfhsh-4a52-b148-dfhf4456","ipAddress":"123.123.23.126","groupId":"9677l8-b351-4848-8253-2036ae431502"},{"host":"213.231.33.128","username":"*******","password":"*******","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"alive":true,"valid":true,"forceAlive":false,"_id":"8790p-sdfhsh-4a52-b148-xh4ew3","ipAddress":"213.231.33.128","groupId":"897875uy-b351-4848-8253-2036ae431502"}],"x-featureId":null},"ProxyGroupProxiesList":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string","description":"The hostname or IP address of the proxy server."},"username":{"type":"string","description":"The username of the proxy server."},"password":{"type":"string","description":"The password of the proxy server."},"port":{"type":"integer","description":"The port number of the proxy server."},"type":{"type":"string","enum":["HTTP","HTTPS"],"description":"The proxy type."},"tunnel":{"type":"boolean","description":"Should this proxy use tunneling (HTTP CONNECT) for all sites?"},"rotates":{"type":"boolean","description":"Does this proxy rotate IPs itself?"},"alive":{"type":"boolean","description":"Is this proxy alive? (Not mandatory when creating proxy)"},"valid":{"type":"boolean","description":"Is this proxy valid? (Not mandatory when creating proxy)"},"forceAlive":{"type":"boolean","description":"Keep this proxy alive."},"_id":{"type":"string","description":"The proxy ID. Not required when you create a proxy."},"ipAddress":{"type":"string","description":"The proxy`s IP address"},"groupId":{"type":"string","description":"The proxy group Id"}}},"description":"Array with proxy groups."},"offset":{"type":"integer","description":"Current offset"},"totalRows":{"type":"integer","description":"Total number of proxy groups"}},"description":"List with Proxies that belong to the same Proxy Group.","x-exampleOutput":{"json":{"rows":[{"host":"123.123.23.126","username":"*******","password":"*******","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"alive":true,"valid":true,"forceAlive":true,"_id":"7609-sdfhsh-4a52-b148-dfhf4456","ipAddress":"123.123.23.126","groupId":"9677l8-b351-4848-8253-2036ae431502"},{"host":"213.231.33.128","username":"*******","password":"*******","port":60000,"type":"HTTP","tunnel":true,"rotates":false,"alive":true,"valid":true,"forceAlive":false,"_id":"8790p-sdfhsh-4a52-b148-xh4ew3","ipAddress":"213.231.33.128","groupId":"897875uy-b351-4848-8253-2036ae431502"}],"offset":0,"totalRows":2}},"x-featureId":null}}}