The /osc/commands/execute
API executes specified commands on the camera. The output is a command object.
Input
Name | Type | Description |
---|---|---|
name
|
String | The command to be executed. |
parameters
|
Object | Command input parameters according to the command definitions specification. Please refer to OSC API Specification for examples. |
Output
Name
Type
Description
name
String
The command to be executed.
state
String
State of the command. Should be one of the following:
-
done
- Complete, results have been returned in this response. -
inProgress
- Execution is still in progress. -
error
- Failed, see error in the response.
id
String (optional)
Command ID. This value is required for commands returning the status
inProgress
. For example, the camera.takePicture
command takes a few seconds due to the need for stitching. See the “Status” section for more details.results
Object (optional)
Command results. This value is required for commands returning state
done
if the command is expected to return results; for example,
“results” : {
“AAA”: “BBB”,
...
}
Please refer to OSC API Specification
for examples.error
Object (optional)
Command error description. This value is required for commands returning state
error;
for example, “error”: { “code”: “missingParameter” }
progress
Object (optional)
Command progress description. This value is required for commands returning state
inProgress
; for example, “progress”: { “completion”: 0.8 }
Error
Error code | Description |
---|---|
unknownCommand
|
Requested command is unknown, e.g. if a v2 client (clientVersion is set to 2, see Options ) requests a deprecated command from API level 1, the request should fail with this error code. |
disabledCommand
|
Command executed is currently disabled, e.g. `takePicture` command is disabled when camera is video mode, processPicture command is disabled when the camera doesn’t support delayProcessing. This error code was added in API level 2. |
cameraInExclusiveUse
|
Camera is already in exclusive use, new session can’t be started. This error code was deprecated in API level 2. |
missingParameter
|
One or more required parameters were not specified. |
invalidParameterName
|
One or more input parameter or option name was unrecognized or unsupported. |
invalidParameterValue
|
The parameter or option names were recognized, but one or more values is invalid; for example, the value is out of range. |
Example |
|
---|---|
Request (API 1) | POST /osc/commands/execute HTTP / 1.1 Host : [camera ip address] : [httpPort] Content-Type : application/json;charset=utf-8 Accept : application/json Content-Length : {CONTENT_LENGTH} X-XSRF-Protected : 1 { "name" : "camera.setOptions" , "parameters" : { "sessionId" : "12ABC3" , "options" : { "iso" : 200 , "exposureCompensation" : -2 } } } |
Request (API 2) | POST /osc/commands/execute HTTP / 1.1 Host : [camera ip address] : [httpPort] Content-Type : application/json;charset=utf-8 Accept : application/json Content-Length : {CONTENT_LENGTH} X-XSRF-Protected : 1 { "name" : "camera.setOptions" , "parameters" : { "options" : { "iso" : 200 , "exposureCompensation" : -2 } } } |
Response | HTTP / 1.1 200 OK Content-Type : application/json;charset=utf-8 Content-Length : {CONTENT_LENGTH} X-Content-Type-Options : nosniff { "name" : "camera.setOptions" , "state" : "done" } |
Request (API 1) | POST /osc/commands/execute HTTP / 1.1 Host : [camera ip address] : [httpPort] Content-Type : application/json;charset=utf-8 Accept : application/json Content-Length : {CONTENT_LENGTH} X-XSRF-Protected : 1 { "name" : "camera.takePicture" , "parameters" : { "sessionId" : "12ABC3" } } |
Request (API 2) | POST /osc/commands/execute HTTP / 1.1 Host : [camera ip address] : [httpPort] Content-Type : application/json;charset=utf-8 Accept : application/json Content-Length : {CONTENT_LENGTH} X-XSRF-Protected : 1 { "name" : "camera.takePicture" } |
Response | HTTP / 1.1 200 OK Content-Type : application/json;charset=utf-8 Content-Length : {CONTENT_LENGTH} X-Content-Type-Options : nosniff { "name" : "camera.takePicture" , "state" : "inProgress" , "id" : "90ABCD" , "progress" : { "completion" : 0 } } |