--
:api: open-job
:request: OpenJobRequest
:response: OpenJobResponse
--
[role="xpack"]
[id="{upid}-{api}"]
=== Open {anomaly-jobs} API

Opens {anomaly-jobs} in the cluster. It accepts a +{request}+ object and
responds with a +{response}+ object.

[id="{upid}-{api}-request"]
==== Open {anomaly-jobs} request

An +{request}+ object gets created with an existing non-null `jobId`.

["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests-file}[{api}-request]
--------------------------------------------------
<1> Constructing a new request referencing an existing `jobId`
<2> Optionally setting the `timeout` value for how long the
execution should wait for the job to be opened.

[id="{upid}-{api}-response"]
==== Open {anomaly-jobs} response

["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests-file}[{api}-response]
--------------------------------------------------
<1> `isOpened()` from the +{response}+ is always `true` if the job was
opened successfully. (An exception would be thrown instead if the job
was not opened successfully.)
<2> `getNode()` returns the node that the job was assigned to. If the
job is allowed to open lazily and has not yet been assigned to a node
then an empty string is returned. If `getNode()` returns `null` then
the server is an old version that does not return node information.

include::../execution.asciidoc[]
