[[reference-shared-types-mget]]

////////
===========================================================================================================================
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
||        ██████╗ ███████╗ █████╗ ██████╗ ███╗   ███╗███████╗                                                            ||
||        ██╔══██╗██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝                                                            ||
||        ██████╔╝█████╗  ███████║██║  ██║██╔████╔██║█████╗                                                              ||
||        ██╔══██╗██╔══╝  ██╔══██║██║  ██║██║╚██╔╝██║██╔══╝                                                              ||
||        ██║  ██║███████╗██║  ██║██████╔╝██║ ╚═╝ ██║███████╗                                                            ||
||        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚══════╝                                                            ||
||                                                                                                                       ||
||                                                                                                                       ||
||    This file is autogenerated, DO NOT send pull requests that changes this file directly.                             ||
||    You should update the script that does the generation, which can be found in:                                      ||
||    https://github.com/elastic/elastic-client-generator-js                                                             ||
||                                                                                                                       ||
||    You can run the script with the following command:                                                                 ||
||       npm run elasticsearch -- --version <version>                                                                    ||
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
===========================================================================================================================
////////



== Shared Mget types


[discrete]
[[MgetMultiGetError]]
=== MgetMultiGetError

[pass]
++++
<pre>
++++
interface MgetMultiGetError {
  error: <<ErrorCause>>
  _id: <<Id>>
  _index: <<IndexName>>
}
[pass]
++++
</pre>
++++

[discrete]
[[MgetOperation]]
=== MgetOperation

[pass]
++++
<pre>
++++
interface MgetOperation {
  pass:[/**] @property _id The unique document ID. */
  _id: <<Id>>
  pass:[/**] @property _index The index that contains the document. */
  _index?: <<IndexName>>
  pass:[/**] @property routing The key for the primary shard the document resides on. Required if routing is used during indexing. */
  routing?: <<Routing>>
  pass:[/**] @property _source If `false`, excludes all _source fields. */
  _source?: <<SearchSourceConfig>>
  pass:[/**] @property stored_fields The stored fields you want to retrieve. */
  stored_fields?: <<Fields>>
  version?: <<VersionNumber>>
  version_type?: <<VersionType>>
}
[pass]
++++
</pre>
++++

[discrete]
[[MgetRequest]]
=== MgetRequest

[pass]
++++
<pre>
++++
interface MgetRequest extends <<RequestBase>> {
  index?: <<IndexName>>
  force_synthetic_source?: boolean
  preference?: string
  realtime?: boolean
  refresh?: boolean
  routing?: <<Routing>>
  _source?: <<SearchSourceConfigParam>>
  _source_excludes?: <<Fields>>
  _source_includes?: <<Fields>>
  stored_fields?: <<Fields>>
  docs?: <<MgetOperation>>[]
  ids?: <<Ids>>
}
[pass]
++++
</pre>
++++

[discrete]
[[MgetResponse]]
=== MgetResponse

[pass]
++++
<pre>
++++
interface MgetResponse<TDocument = unknown> {
  docs: <<MgetResponseItem>><TDocument>[]
}
[pass]
++++
</pre>
++++

[discrete]
[[MgetResponseItem]]
=== MgetResponseItem

[pass]
++++
<pre>
++++
type MgetResponseItem<TDocument = unknown> = <<GetGetResult>><TDocument> | <<MgetMultiGetError>>
[pass]
++++
</pre>
++++
