--
:api: get-job
:request: GetJobRequest
:response: GetJobResponse
--
[id="{upid}-{api}"]
=== Get Job API

The Get Job API provides the ability to get {ml} jobs in the cluster.
It accepts a +{request}+ object and responds
with a +{response}+ object.

[id="{upid}-{api}-request"]
==== Get Job Request

A +{request}+ object gets can have any number of `jobId` or `groupName`
entries. However, they all must be non-null. An empty list is the same as
requesting for all jobs.

["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests-file}[{api}-request]
--------------------------------------------------
<1> Constructing a new request referencing existing `jobIds`, can contain wildcards
<2> Whether to ignore if a wildcard expression matches no jobs.
 (This includes `_all` string or when no jobs have been specified)

[id="{upid}-{api}-response"]
==== Get Job Response

["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests-file}[{api}-response]
--------------------------------------------------
<1> `getCount()` from the +{response}+ indicates the number of jobs found
<2> `getJobs()` is the collection of {ml} `Job` objects found

include::../execution.asciidoc[]
