File Coverage

blib/lib/OpenSearch/Client/Core/3_0/Role/API.pm
Criterion Covered Total %
statement 10 11 90.9
branch n/a
condition 1 5 20.0
subroutine 4 4 100.0
pod 0 1 0.0
total 15 21 71.4


line stmt bran cond sub pod time code
1             # OpenSearch::Client is an unofficial client for OpenSearch.
2             # It is derived from Search::Elasticsearch version 7.714
3             # License details from the original work are contained in the
4             # NOTICE file distributed with this work.
5             #
6             #-----------------------------------------------------------------------
7             # OpenSearch::Client
8             #-----------------------------------------------------------------------
9             # Copyright 2026 Mark Dootson
10             #
11             # Licensed under the Apache License, Version 2.0 (the "License");
12             # you may not use this file except in compliance with the License.
13             # You may obtain a copy of the License at
14             #
15             # http://www.apache.org/licenses/LICENSE-2.0
16             #
17             # Unless required by applicable law or agreed to in writing, software
18             # distributed under the License is distributed on an "AS IS" BASIS,
19             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20             # See the License for the specific language governing permissions and
21             # limitations under the License.
22              
23             package OpenSearch::Client::Core::3_0::Role::API;
24             $OpenSearch::Client::Core::3_0::Role::API::VERSION = '3.007002';
25              
26 55     55   94576 use Moo::Role;
  55         97  
  55         359  
27             with 'OpenSearch::Client::Role::API';
28              
29 55     55   22740 use OpenSearch::Client::Util qw(throw);
  55         119  
  55         337  
30 55     55   13581 use namespace::clean;
  55         89  
  55         273  
31              
32             has 'api_version' => ( is => 'ro', default => '3_0' );
33              
34             our %API;
35              
36             sub api {
37 55   50 55 0 327 my $name = $_[1] || return \%API;
38 0   0       return $API{$name}
39             || throw( 'Internal', "Unknown api name ($name)" );
40             }
41              
42             %API = (
43            
44             'bulk_helper.metadata_qs' => { params => {
45             '_source' => '_source',
46             '_source_excludes' => '_source_excludes',
47             '_source_includes' => '_source_includes',
48             'index' => 'index',
49             'pipeline' => 'pipeline',
50             'refresh' => 'refresh',
51             'require_alias' => 'require_alias',
52             'routing' => 'routing',
53             'timeout' => 'timeout',
54             'type' => 'type',
55             'wait_for_active_shards' => 'wait_for_active_shards',
56              
57             'source' => '_source',
58             'source_excludes' => '_source_excludes',
59             'source_includes' => '_source_includes',
60             '_index' => 'index',
61             '_pipeline' => 'pipeline',
62             '_refresh' => 'refresh',
63             '_require_alias' => 'require_alias',
64             '_routing' => 'routing',
65             '_timeout' => 'timeout',
66             '_type' => 'type',
67             '_wait_for_active_shards' => 'wait_for_active_shards',
68             # Common API query parameters
69             'error_trace' => 'error_trace',
70             'filter_path' => 'filter_path',
71             'human' => 'human',
72             'pretty' => 'pretty',
73             # 'source' => 'source', # not for
74             }},
75            
76             'bulk_helper.metadata_action' => { params => {
77             _index => '_index',
78             _id => '_id',
79             _require_alias => '_require_alias',
80             routing => 'routing',
81             version => 'version',
82             version_type => 'version_type',
83             if_seq_no => 'if_seq_no',
84             if_primary_term => 'if_primary_term',
85             pipeline => 'pipeline',
86             index => '_index',
87             id => '_id',
88             require_alias => '_require_alias',
89             _routing => 'routing',
90             _version => 'version',
91             _version_type => 'version_type',
92             _if_seq_no => 'if_seq_no',
93             _if_primary_term => 'if_primary_term',
94             _pipeline => 'pipeline',
95             }},
96            
97             'bulk_helper.action_data_types' => { params => {
98             _index => 'string',
99             _id => 'string',
100             _require_alias => 'boolean',
101             routing => 'string',
102             version => 'number',
103             version_type => 'string',
104             if_seq_no => 'number',
105             if_primary_term => 'number',
106             pipeline => 'string',
107             }},
108            
109             'bulk_helper.update_data_types' => { params => {
110             doc => 'REF',
111             doc_as_upsert => 'boolean',
112             upsert => 'REF',
113             script => 'REF',
114             params => 'REF',
115             scripted_upsert => 'boolean',
116             }},
117            
118             ## AUTO GENERATED API START
119              
120              
121             '_core.bulk' => {
122             body => { required => 1 },
123             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/bulk/',
124             method => 'POST',
125             parts => { index => {}},
126             paths => [
127             [ { index => 0 }, "{index}", "_bulk" ],
128             [ {}, "_bulk" ]
129             ],
130             qs => {
131             # Endpoint specific query parameters
132             '_source' => 'list',
133             '_source_excludes' => 'list',
134             '_source_includes' => 'list',
135             'index' => 'string',
136             'pipeline' => 'string',
137             'refresh' => 'boolean|string',
138             'require_alias' => 'boolean',
139             'routing' => 'string',
140             'timeout' => 'string',
141             'type' => 'string',
142             'wait_for_active_shards' => 'string',
143             # Common API query parameters
144             'error_trace' => 'boolean',
145             'filter_path' => 'list',
146             'human' => 'boolean',
147             'pretty' => 'boolean',
148             'source' => 'string',
149             },
150             serialize => 'bulk',
151             },
152              
153             '_core.bulk_stream' => {
154             body => { required => 1 },
155             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/bulk-streaming/',
156             method => 'POST',
157             parts => { index => {}},
158             paths => [
159             [ { index => 0 }, "{index}", "_bulk", "stream" ],
160             [ {}, "_bulk", "stream" ]
161             ],
162             qs => {
163             # Endpoint specific query parameters
164             '_source' => 'list',
165             '_source_excludes' => 'list',
166             '_source_includes' => 'list',
167             'batch_interval' => 'string',
168             'batch_size' => 'number',
169             'pipeline' => 'string',
170             'refresh' => 'boolean|string',
171             'require_alias' => 'boolean',
172             'routing' => 'list',
173             'timeout' => 'string',
174             'type' => 'string',
175             'wait_for_active_shards' => 'string',
176             # Common API query parameters
177             'error_trace' => 'boolean',
178             'filter_path' => 'list',
179             'human' => 'boolean',
180             'pretty' => 'boolean',
181             'source' => 'string',
182             },
183             serialize => 'bulk',
184             },
185              
186             '_core.clear_scroll' => {
187             body => {},
188             doc => 'https://opensearch.org/docs/latest/api-reference/scroll/',
189             method => 'DELETE',
190             parts => { scroll_id => { multi => 1 }},
191             paths => [
192             [ { scroll_id => 2 }, "_search", "scroll", "{scroll_id}" ],
193             [ {}, "_search", "scroll" ]
194             ],
195             qs => {
196             # Common API query parameters
197             'error_trace' => 'boolean',
198             'filter_path' => 'list',
199             'human' => 'boolean',
200             'pretty' => 'boolean',
201             'source' => 'string',
202             },
203             },
204              
205             '_core.count' => {
206             body => {},
207             doc => 'https://opensearch.org/docs/latest/api-reference/count/',
208             ## ENDPOINT HAS ALTERNATE METHOD
209             method => 'detect',
210             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
211             parts => { index => { multi => 1 }},
212             paths => [
213             [ { index => 0 }, "{index}", "_count" ],
214             [ {}, "_count" ]
215             ],
216             qs => {
217             # Endpoint specific query parameters
218             'allow_no_indices' => 'boolean',
219             'analyze_wildcard' => 'boolean',
220             'analyzer' => 'string',
221             'default_operator' => 'string',
222             'df' => 'string',
223             'expand_wildcards' => 'list',
224             'ignore_throttled' => 'boolean',
225             'ignore_unavailable' => 'boolean',
226             'lenient' => 'boolean',
227             'min_score' => 'number',
228             'preference' => 'string',
229             'q' => 'string',
230             'routing' => 'list',
231             'terminate_after' => 'number',
232             # Common API query parameters
233             'error_trace' => 'boolean',
234             'filter_path' => 'list',
235             'human' => 'boolean',
236             'pretty' => 'boolean',
237             'source' => 'string',
238             },
239             },
240              
241             '_core.create' => {
242             body => { required => 1 },
243             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/index-document/',
244             method => 'POST',
245             parts => { id => { required => 1 }, index => { required => 1 }},
246             paths => [[ { index => 0, id => 2 }, "{index}", "_create", "{id}" ]],
247             qs => {
248             # Endpoint specific query parameters
249             'pipeline' => 'string',
250             'refresh' => 'boolean|string',
251             'routing' => 'list',
252             'timeout' => 'string',
253             'version' => 'number',
254             'version_type' => 'string',
255             'wait_for_active_shards' => 'string',
256             # Common API query parameters
257             'error_trace' => 'boolean',
258             'filter_path' => 'list',
259             'human' => 'boolean',
260             'pretty' => 'boolean',
261             'source' => 'string',
262             },
263             },
264              
265             '_core.create_pit' => {
266             doc => 'https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#create-a-pit',
267             method => 'POST',
268             parts => { index => { multi => 1, required => 1 }},
269             paths => [[ { index => 0 }, "{index}", "_search", "point_in_time" ]],
270             qs => {
271             # Endpoint specific query parameters
272             'allow_partial_pit_creation' => 'boolean',
273             'expand_wildcards' => 'list',
274             'keep_alive' => 'string',
275             'preference' => 'string',
276             'routing' => 'list',
277             # Common API query parameters
278             'error_trace' => 'boolean',
279             'filter_path' => 'list',
280             'human' => 'boolean',
281             'pretty' => 'boolean',
282             'source' => 'string',
283             },
284             },
285              
286             '_core.delete' => {
287             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/delete-document/',
288             method => 'DELETE',
289             parts => { id => { required => 1 }, index => { required => 1 }},
290             paths => [[ { index => 0, id => 2 }, "{index}", "_doc", "{id}" ]],
291             qs => {
292             # Endpoint specific query parameters
293             'if_primary_term' => 'number',
294             'if_seq_no' => 'number',
295             'refresh' => 'boolean|string',
296             'routing' => 'list',
297             'timeout' => 'string',
298             'version' => 'number',
299             'version_type' => 'string',
300             'wait_for_active_shards' => 'string',
301             # Common API query parameters
302             'error_trace' => 'boolean',
303             'filter_path' => 'list',
304             'human' => 'boolean',
305             'pretty' => 'boolean',
306             'source' => 'string',
307             },
308             },
309              
310             '_core.delete_all_pits' => {
311             doc => 'https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#delete-pits',
312             method => 'DELETE',
313             parts => {},
314             paths => [[ {}, "_search", "point_in_time", "_all" ]],
315             qs => {
316             # Common API query parameters
317             'error_trace' => 'boolean',
318             'filter_path' => 'list',
319             'human' => 'boolean',
320             'pretty' => 'boolean',
321             'source' => 'string',
322             },
323             },
324              
325             '_core.delete_by_query' => {
326             body => {},
327             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/delete-by-query/',
328             method => 'POST',
329             parts => { index => { multi => 1, required => 1 }},
330             paths => [[ { index => 0 }, "{index}", "_delete_by_query" ]],
331             qs => {
332             # Endpoint specific query parameters
333             '_source' => 'list',
334             '_source_excludes' => 'list',
335             '_source_includes' => 'list',
336             'allow_no_indices' => 'boolean',
337             'analyze_wildcard' => 'boolean',
338             'analyzer' => 'string',
339             'conflicts' => 'string',
340             'default_operator' => 'string',
341             'df' => 'string',
342             'expand_wildcards' => 'list',
343             'from' => 'number',
344             'ignore_unavailable' => 'boolean',
345             'lenient' => 'boolean',
346             'max_docs' => 'number',
347             'preference' => 'string',
348             'q' => 'string',
349             'refresh' => 'boolean|string',
350             'request_cache' => 'boolean',
351             'requests_per_second' => 'number',
352             'routing' => 'list',
353             'scroll' => 'string',
354             'scroll_size' => 'number',
355             'search_timeout' => 'string',
356             'search_type' => 'string',
357             'size' => 'number',
358             'slices' => 'number|string',
359             'sort' => 'list',
360             'stats' => 'list',
361             'terminate_after' => 'number',
362             'timeout' => 'string',
363             'version' => 'boolean',
364             'wait_for_active_shards' => 'string',
365             'wait_for_completion' => 'boolean',
366             # Common API query parameters
367             'error_trace' => 'boolean',
368             'filter_path' => 'list',
369             'human' => 'boolean',
370             'pretty' => 'boolean',
371             'source' => 'string',
372             },
373             },
374              
375             '_core.delete_by_query_rethrottle' => {
376             doc => 'https://docs.opensearch.org/latest/api-reference/',
377             method => 'POST',
378             parts => { task_id => { required => 1 }},
379             paths => [[ { task_id => 1 }, "_delete_by_query", "{task_id}", "_rethrottle" ]],
380             qs => {
381             # Endpoint specific query parameters
382             'requests_per_second' => 'number',
383             # Common API query parameters
384             'error_trace' => 'boolean',
385             'filter_path' => 'list',
386             'human' => 'boolean',
387             'pretty' => 'boolean',
388             'source' => 'string',
389             },
390             },
391              
392             '_core.delete_pit' => {
393             body => {},
394             doc => 'https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#delete-pits',
395             method => 'DELETE',
396             parts => {},
397             paths => [[ {}, "_search", "point_in_time" ]],
398             qs => {
399             # Common API query parameters
400             'error_trace' => 'boolean',
401             'filter_path' => 'list',
402             'human' => 'boolean',
403             'pretty' => 'boolean',
404             'source' => 'string',
405             },
406             },
407              
408             '_core.delete_script' => {
409             doc => 'https://opensearch.org/docs/latest/api-reference/script-apis/delete-script/',
410             method => 'DELETE',
411             parts => { id => { required => 1 }},
412             paths => [[ { id => 1 }, "_scripts", "{id}" ]],
413             qs => {
414             # Endpoint specific query parameters
415             'cluster_manager_timeout' => 'string',
416             'master_timeout' => 'string',
417             'timeout' => 'string',
418             # Common API query parameters
419             'error_trace' => 'boolean',
420             'filter_path' => 'list',
421             'human' => 'boolean',
422             'pretty' => 'boolean',
423             'source' => 'string',
424             },
425             },
426              
427             '_core.exists' => {
428             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/',
429             method => 'HEAD',
430             parts => { id => { required => 1 }, index => { required => 1 }},
431             paths => [[ { index => 0, id => 2 }, "{index}", "_doc", "{id}" ]],
432             qs => {
433             # Endpoint specific query parameters
434             '_source' => 'list',
435             '_source_excludes' => 'list',
436             '_source_includes' => 'list',
437             'preference' => 'string',
438             'realtime' => 'boolean',
439             'refresh' => 'boolean|string',
440             'routing' => 'list',
441             'stored_fields' => 'list',
442             'version' => 'number',
443             'version_type' => 'string',
444             # Common API query parameters
445             'error_trace' => 'boolean',
446             'filter_path' => 'list',
447             'human' => 'boolean',
448             'pretty' => 'boolean',
449             'source' => 'string',
450             },
451             },
452              
453             '_core.exists_source' => {
454             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/',
455             method => 'HEAD',
456             parts => { id => { required => 1 }, index => { required => 1 }},
457             paths => [[ { index => 0, id => 2 }, "{index}", "_source", "{id}" ]],
458             qs => {
459             # Endpoint specific query parameters
460             '_source' => 'list',
461             '_source_excludes' => 'list',
462             '_source_includes' => 'list',
463             'preference' => 'string',
464             'realtime' => 'boolean',
465             'refresh' => 'boolean|string',
466             'routing' => 'list',
467             'version' => 'number',
468             'version_type' => 'string',
469             # Common API query parameters
470             'error_trace' => 'boolean',
471             'filter_path' => 'list',
472             'human' => 'boolean',
473             'pretty' => 'boolean',
474             'source' => 'string',
475             },
476             },
477              
478             '_core.explain' => {
479             body => {},
480             doc => 'https://opensearch.org/docs/latest/api-reference/explain/',
481             ## ENDPOINT HAS ALTERNATE METHOD
482             method => 'detect',
483             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
484             parts => { id => { required => 1 }, index => { required => 1 }},
485             paths => [[ { index => 0, id => 2 }, "{index}", "_explain", "{id}" ]],
486             qs => {
487             # Endpoint specific query parameters
488             '_source' => 'list',
489             '_source_excludes' => 'list',
490             '_source_includes' => 'list',
491             'analyze_wildcard' => 'boolean',
492             'analyzer' => 'string',
493             'default_operator' => 'string',
494             'df' => 'string',
495             'lenient' => 'boolean',
496             'preference' => 'string',
497             'q' => 'string',
498             'routing' => 'list',
499             'stored_fields' => 'list',
500             # Common API query parameters
501             'error_trace' => 'boolean',
502             'filter_path' => 'list',
503             'human' => 'boolean',
504             'pretty' => 'boolean',
505             'source' => 'string',
506             },
507             },
508              
509             '_core.field_caps' => {
510             body => {},
511             doc => 'https://opensearch.org/docs/latest/field-types/supported-field-types/alias/#using-aliases-in-field-capabilities-api-operations',
512             ## ENDPOINT HAS ALTERNATE METHOD
513             method => 'detect',
514             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
515             parts => { index => { multi => 1 }},
516             paths => [
517             [ { index => 0 }, "{index}", "_field_caps" ],
518             [ {}, "_field_caps" ]
519             ],
520             qs => {
521             # Endpoint specific query parameters
522             'allow_no_indices' => 'boolean',
523             'expand_wildcards' => 'list',
524             'fields' => 'list',
525             'ignore_unavailable' => 'boolean',
526             'include_unmapped' => 'boolean',
527             # Common API query parameters
528             'error_trace' => 'boolean',
529             'filter_path' => 'list',
530             'human' => 'boolean',
531             'pretty' => 'boolean',
532             'source' => 'string',
533             },
534             },
535              
536             '_core.get' => {
537             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/',
538             method => 'GET',
539             parts => { id => { required => 1 }, index => { required => 1 }},
540             paths => [[ { index => 0, id => 2 }, "{index}", "_doc", "{id}" ]],
541             qs => {
542             # Endpoint specific query parameters
543             '_source' => 'list',
544             '_source_excludes' => 'list',
545             '_source_includes' => 'list',
546             'preference' => 'string',
547             'realtime' => 'boolean',
548             'refresh' => 'boolean|string',
549             'routing' => 'list',
550             'stored_fields' => 'list',
551             'version' => 'number',
552             'version_type' => 'string',
553             # Common API query parameters
554             'error_trace' => 'boolean',
555             'filter_path' => 'list',
556             'human' => 'boolean',
557             'pretty' => 'boolean',
558             'source' => 'string',
559             },
560             },
561              
562             '_core.get_all_pits' => {
563             doc => 'https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#list-all-pits',
564             method => 'GET',
565             parts => {},
566             paths => [[ {}, "_search", "point_in_time", "_all" ]],
567             qs => {
568             # Common API query parameters
569             'error_trace' => 'boolean',
570             'filter_path' => 'list',
571             'human' => 'boolean',
572             'pretty' => 'boolean',
573             'source' => 'string',
574             },
575             },
576              
577             '_core.get_script' => {
578             doc => 'https://opensearch.org/docs/latest/api-reference/script-apis/get-stored-script/',
579             method => 'GET',
580             parts => { id => { required => 1 }},
581             paths => [[ { id => 1 }, "_scripts", "{id}" ]],
582             qs => {
583             # Endpoint specific query parameters
584             'cluster_manager_timeout' => 'string',
585             'master_timeout' => 'string',
586             # Common API query parameters
587             'error_trace' => 'boolean',
588             'filter_path' => 'list',
589             'human' => 'boolean',
590             'pretty' => 'boolean',
591             'source' => 'string',
592             },
593             },
594              
595             '_core.get_script_context' => {
596             doc => 'https://opensearch.org/docs/latest/api-reference/script-apis/get-script-contexts/',
597             method => 'GET',
598             parts => {},
599             paths => [[ {}, "_script_context" ]],
600             qs => {
601             # Common API query parameters
602             'error_trace' => 'boolean',
603             'filter_path' => 'list',
604             'human' => 'boolean',
605             'pretty' => 'boolean',
606             'source' => 'string',
607             },
608             },
609              
610             '_core.get_script_languages' => {
611             doc => 'https://opensearch.org/docs/latest/api-reference/script-apis/get-script-language/',
612             method => 'GET',
613             parts => {},
614             paths => [[ {}, "_script_language" ]],
615             qs => {
616             # Common API query parameters
617             'error_trace' => 'boolean',
618             'filter_path' => 'list',
619             'human' => 'boolean',
620             'pretty' => 'boolean',
621             'source' => 'string',
622             },
623             },
624              
625             '_core.get_source' => {
626             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/',
627             method => 'GET',
628             parts => { id => { required => 1 }, index => { required => 1 }},
629             paths => [[ { index => 0, id => 2 }, "{index}", "_source", "{id}" ]],
630             qs => {
631             # Endpoint specific query parameters
632             '_source' => 'list',
633             '_source_excludes' => 'list',
634             '_source_includes' => 'list',
635             'preference' => 'string',
636             'realtime' => 'boolean',
637             'refresh' => 'boolean|string',
638             'routing' => 'list',
639             'version' => 'number',
640             'version_type' => 'string',
641             # Common API query parameters
642             'error_trace' => 'boolean',
643             'filter_path' => 'list',
644             'human' => 'boolean',
645             'pretty' => 'boolean',
646             'source' => 'string',
647             },
648             },
649              
650             '_core.index' => {
651             body => {},
652             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/index-document/',
653             ## ENDPOINT HAS ALTERNATE METHOD
654             method => 'detect',
655             detect => { method => 'POST', alternate => 'PUT', check => { body => 0, paths => 1 } },
656             parts => { id => {}, index => { required => 1 }},
657             paths => [
658             [ { index => 0, id => 2 }, "{index}", "_doc", "{id}" ],
659             [ { index => 0 }, "{index}", "_doc" ]
660             ],
661             qs => {
662             # Endpoint specific query parameters
663             'if_primary_term' => 'number',
664             'if_seq_no' => 'number',
665             'op_type' => 'string',
666             'pipeline' => 'string',
667             'refresh' => 'boolean|string',
668             'require_alias' => 'boolean',
669             'routing' => 'list',
670             'timeout' => 'string',
671             'version' => 'number',
672             'version_type' => 'string',
673             'wait_for_active_shards' => 'string',
674             # Common API query parameters
675             'error_trace' => 'boolean',
676             'filter_path' => 'list',
677             'human' => 'boolean',
678             'pretty' => 'boolean',
679             'source' => 'string',
680             },
681             },
682              
683             '_core.info' => {
684             doc => 'https://docs.opensearch.org/latest/api-reference/',
685             method => 'GET',
686             parts => {},
687             paths => [[ {}, "" ]],
688             qs => {},
689             },
690              
691             '_core.mget' => {
692             body => { required => 1 },
693             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/multi-get/',
694             method => 'POST',
695             parts => { index => {}},
696             paths => [
697             [ { index => 0 }, "{index}", "_mget" ],
698             [ {}, "_mget" ]
699             ],
700             qs => {
701             # Endpoint specific query parameters
702             '_source' => 'list',
703             '_source_excludes' => 'list',
704             '_source_includes' => 'list',
705             'preference' => 'string',
706             'realtime' => 'boolean',
707             'refresh' => 'boolean|string',
708             'routing' => 'list',
709             'stored_fields' => 'list',
710             # Common API query parameters
711             'error_trace' => 'boolean',
712             'filter_path' => 'list',
713             'human' => 'boolean',
714             'pretty' => 'boolean',
715             'source' => 'string',
716             },
717             },
718              
719             '_core.msearch' => {
720             body => { required => 1 },
721             doc => 'https://opensearch.org/docs/latest/api-reference/multi-search/',
722             method => 'POST',
723             parts => { index => { multi => 1 }},
724             paths => [
725             [ { index => 0 }, "{index}", "_msearch" ],
726             [ {}, "_msearch" ]
727             ],
728             qs => {
729             # Endpoint specific query parameters
730             'allow_partial_results' => 'boolean',
731             'ccs_minimize_roundtrips' => 'boolean',
732             'max_concurrent_searches' => 'number',
733             'max_concurrent_shard_requests' => 'number',
734             'pre_filter_shard_size' => 'number',
735             'rest_total_hits_as_int' => 'boolean',
736             'search_type' => 'string',
737             'typed_keys' => 'boolean',
738             # Common API query parameters
739             'error_trace' => 'boolean',
740             'filter_path' => 'list',
741             'human' => 'boolean',
742             'pretty' => 'boolean',
743             'source' => 'string',
744             },
745             serialize => 'bulk',
746             },
747              
748             '_core.msearch_template' => {
749             body => { required => 1 },
750             doc => 'https://opensearch.org/docs/latest/search-plugins/search-template/',
751             method => 'POST',
752             parts => { index => { multi => 1 }},
753             paths => [
754             [ { index => 0 }, "{index}", "_msearch", "template" ],
755             [ {}, "_msearch", "template" ]
756             ],
757             qs => {
758             # Endpoint specific query parameters
759             'ccs_minimize_roundtrips' => 'boolean',
760             'max_concurrent_searches' => 'number',
761             'rest_total_hits_as_int' => 'boolean',
762             'search_type' => 'string',
763             'typed_keys' => 'boolean',
764             # Common API query parameters
765             'error_trace' => 'boolean',
766             'filter_path' => 'list',
767             'human' => 'boolean',
768             'pretty' => 'boolean',
769             'source' => 'string',
770             },
771             serialize => 'bulk',
772             },
773              
774             '_core.mtermvectors' => {
775             body => {},
776             doc => 'https://docs.opensearch.org/latest/api-reference/',
777             ## ENDPOINT HAS ALTERNATE METHOD
778             method => 'detect',
779             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
780             parts => { index => {}},
781             paths => [
782             [ { index => 0 }, "{index}", "_mtermvectors" ],
783             [ {}, "_mtermvectors" ]
784             ],
785             qs => {
786             # Endpoint specific query parameters
787             'field_statistics' => 'boolean',
788             'fields' => 'list',
789             'ids' => 'list',
790             'offsets' => 'boolean',
791             'payloads' => 'boolean',
792             'positions' => 'boolean',
793             'preference' => 'string',
794             'realtime' => 'boolean',
795             'routing' => 'list',
796             'term_statistics' => 'boolean',
797             'version' => 'number',
798             'version_type' => 'string',
799             # Common API query parameters
800             'error_trace' => 'boolean',
801             'filter_path' => 'list',
802             'human' => 'boolean',
803             'pretty' => 'boolean',
804             'source' => 'string',
805             },
806             },
807              
808             '_core.ping' => {
809             doc => 'https://docs.opensearch.org/latest/api-reference/',
810             method => 'HEAD',
811             parts => {},
812             paths => [[ {}, "" ]],
813             qs => {
814             # Common API query parameters
815             'error_trace' => 'boolean',
816             'filter_path' => 'list',
817             'human' => 'boolean',
818             'pretty' => 'boolean',
819             'source' => 'string',
820             },
821             },
822              
823             '_core.put_script' => {
824             body => { required => 1 },
825             doc => 'https://opensearch.org/docs/latest/api-reference/script-apis/create-stored-script/',
826             method => 'PUT',
827             parts => { context => {}, id => { required => 1 }},
828             paths => [
829             [ { id => 1, context => 2 }, "_scripts", "{id}", "{context}" ],
830             [ { id => 1 }, "_scripts", "{id}" ]
831             ],
832             qs => {
833             # Endpoint specific query parameters
834             'cluster_manager_timeout' => 'string',
835             'context' => 'string',
836             'master_timeout' => 'string',
837             'timeout' => 'string',
838             # Common API query parameters
839             'error_trace' => 'boolean',
840             'filter_path' => 'list',
841             'human' => 'boolean',
842             'pretty' => 'boolean',
843             'source' => 'string',
844             },
845             },
846              
847             '_core.rank_eval' => {
848             body => { required => 1 },
849             doc => 'https://opensearch.org/docs/latest/api-reference/rank-eval/',
850             method => 'POST',
851             parts => { index => { multi => 1 }},
852             paths => [
853             [ { index => 0 }, "{index}", "_rank_eval" ],
854             [ {}, "_rank_eval" ]
855             ],
856             qs => {
857             # Endpoint specific query parameters
858             'allow_no_indices' => 'boolean',
859             'expand_wildcards' => 'list',
860             'ignore_unavailable' => 'boolean',
861             'search_type' => 'string',
862             # Common API query parameters
863             'error_trace' => 'boolean',
864             'filter_path' => 'list',
865             'human' => 'boolean',
866             'pretty' => 'boolean',
867             'source' => 'string',
868             },
869             },
870              
871             '_core.reindex' => {
872             body => {},
873             doc => 'https://opensearch.org/docs/latest/im-plugin/reindex-data/',
874             method => 'POST',
875             parts => {},
876             paths => [[ {}, "_reindex" ]],
877             qs => {
878             # Endpoint specific query parameters
879             'max_docs' => 'number',
880             'refresh' => 'boolean|string',
881             'requests_per_second' => 'number',
882             'require_alias' => 'boolean',
883             'scroll' => 'string',
884             'slices' => 'number|string',
885             'timeout' => 'string',
886             'wait_for_active_shards' => 'string',
887             'wait_for_completion' => 'boolean',
888             # Common API query parameters
889             'error_trace' => 'boolean',
890             'filter_path' => 'list',
891             'human' => 'boolean',
892             'pretty' => 'boolean',
893             'source' => 'string',
894             },
895             },
896              
897             '_core.reindex_rethrottle' => {
898             doc => 'https://docs.opensearch.org/latest/api-reference/',
899             method => 'POST',
900             parts => { task_id => { required => 1 }},
901             paths => [[ { task_id => 1 }, "_reindex", "{task_id}", "_rethrottle" ]],
902             qs => {
903             # Endpoint specific query parameters
904             'requests_per_second' => 'number',
905             # Common API query parameters
906             'error_trace' => 'boolean',
907             'filter_path' => 'list',
908             'human' => 'boolean',
909             'pretty' => 'boolean',
910             'source' => 'string',
911             },
912             },
913              
914             '_core.render_search_template' => {
915             body => {},
916             doc => 'https://opensearch.org/docs/latest/search-plugins/search-template/',
917             ## ENDPOINT HAS ALTERNATE METHOD
918             method => 'detect',
919             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
920             parts => { id => {}},
921             paths => [
922             [ { id => 2 }, "_render", "template", "{id}" ],
923             [ {}, "_render", "template" ]
924             ],
925             qs => {
926             # Common API query parameters
927             'error_trace' => 'boolean',
928             'filter_path' => 'list',
929             'human' => 'boolean',
930             'pretty' => 'boolean',
931             'source' => 'string',
932             },
933             },
934              
935             '_core.scripts_painless_execute' => {
936             body => {},
937             doc => 'https://opensearch.org/docs/latest/api-reference/script-apis/exec-script/',
938             ## ENDPOINT HAS ALTERNATE METHOD
939             method => 'detect',
940             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
941             parts => {},
942             paths => [[ {}, "_scripts", "painless", "_execute" ]],
943             qs => {
944             # Common API query parameters
945             'error_trace' => 'boolean',
946             'filter_path' => 'list',
947             'human' => 'boolean',
948             'pretty' => 'boolean',
949             'source' => 'string',
950             },
951             },
952              
953             '_core.scroll' => {
954             body => {},
955             doc => 'https://opensearch.org/docs/latest/api-reference/scroll/#path-and-http-methods',
956             ## ENDPOINT HAS ALTERNATE METHOD
957             method => 'detect',
958             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
959             parts => { scroll_id => {}},
960             paths => [
961             [ { scroll_id => 2 }, "_search", "scroll", "{scroll_id}" ],
962             [ {}, "_search", "scroll" ]
963             ],
964             qs => {
965             # Endpoint specific query parameters
966             'rest_total_hits_as_int' => 'boolean',
967             'scroll' => 'string',
968             'scroll_id' => 'string',
969             # Common API query parameters
970             'error_trace' => 'boolean',
971             'filter_path' => 'list',
972             'human' => 'boolean',
973             'pretty' => 'boolean',
974             'source' => 'string',
975             },
976             },
977              
978             '_core.search' => {
979             body => {},
980             doc => 'https://opensearch.org/docs/latest/api-reference/search/',
981             ## ENDPOINT HAS ALTERNATE METHOD
982             method => 'detect',
983             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
984             parts => { index => { multi => 1 }},
985             paths => [
986             [ { index => 0 }, "{index}", "_search" ],
987             [ {}, "_search" ]
988             ],
989             qs => {
990             # Endpoint specific query parameters
991             '_source' => 'list',
992             '_source_excludes' => 'list',
993             '_source_includes' => 'list',
994             'allow_no_indices' => 'boolean',
995             'allow_partial_search_results' => 'boolean',
996             'analyze_wildcard' => 'boolean',
997             'analyzer' => 'string',
998             'batched_reduce_size' => 'number',
999             'cancel_after_time_interval' => 'string',
1000             'ccs_minimize_roundtrips' => 'boolean',
1001             'default_operator' => 'string',
1002             'df' => 'string',
1003             'docvalue_fields' => 'list',
1004             'expand_wildcards' => 'list',
1005             'explain' => 'boolean',
1006             'from' => 'number',
1007             'ignore_throttled' => 'boolean',
1008             'ignore_unavailable' => 'boolean',
1009             'include_named_queries_score' => 'boolean',
1010             'index' => 'list',
1011             'lenient' => 'boolean',
1012             'max_concurrent_shard_requests' => 'number',
1013             'phase_took' => 'boolean',
1014             'pre_filter_shard_size' => 'number',
1015             'preference' => 'string',
1016             'q' => 'string',
1017             'request_cache' => 'boolean',
1018             'rest_total_hits_as_int' => 'boolean',
1019             'routing' => 'list',
1020             'scroll' => 'string',
1021             'search_pipeline' => 'string',
1022             'search_type' => 'string',
1023             'seq_no_primary_term' => 'boolean',
1024             'size' => 'number',
1025             'sort' => 'list',
1026             'stats' => 'list',
1027             'stored_fields' => 'list',
1028             'suggest_field' => 'string',
1029             'suggest_mode' => 'string',
1030             'suggest_size' => 'number',
1031             'suggest_text' => 'string',
1032             'terminate_after' => 'number',
1033             'timeout' => 'string',
1034             'track_scores' => 'boolean',
1035             'track_total_hits' => 'boolean|number',
1036             'typed_keys' => 'boolean',
1037             'verbose_pipeline' => 'boolean',
1038             'version' => 'boolean',
1039             # Common API query parameters
1040             'error_trace' => 'boolean',
1041             'filter_path' => 'list',
1042             'human' => 'boolean',
1043             'pretty' => 'boolean',
1044             'source' => 'string',
1045             },
1046             },
1047              
1048             '_core.search_shards' => {
1049             body => {},
1050             doc => 'https://docs.opensearch.org/latest/api-reference/',
1051             ## ENDPOINT HAS ALTERNATE METHOD
1052             method => 'detect',
1053             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
1054             parts => { index => { multi => 1 }},
1055             paths => [
1056             [ { index => 0 }, "{index}", "_search_shards" ],
1057             [ {}, "_search_shards" ]
1058             ],
1059             qs => {
1060             # Endpoint specific query parameters
1061             'allow_no_indices' => 'boolean',
1062             'expand_wildcards' => 'list',
1063             'ignore_unavailable' => 'boolean',
1064             'local' => 'boolean',
1065             'preference' => 'string',
1066             'routing' => 'list',
1067             # Common API query parameters
1068             'error_trace' => 'boolean',
1069             'filter_path' => 'list',
1070             'human' => 'boolean',
1071             'pretty' => 'boolean',
1072             'source' => 'string',
1073             },
1074             },
1075              
1076             '_core.search_template' => {
1077             body => { required => 1 },
1078             doc => 'https://opensearch.org/docs/latest/search-plugins/search-template/',
1079             method => 'POST',
1080             parts => { index => { multi => 1 }},
1081             paths => [
1082             [ { index => 0 }, "{index}", "_search", "template" ],
1083             [ {}, "_search", "template" ]
1084             ],
1085             qs => {
1086             # Endpoint specific query parameters
1087             'allow_no_indices' => 'boolean',
1088             'ccs_minimize_roundtrips' => 'boolean',
1089             'expand_wildcards' => 'list',
1090             'explain' => 'boolean',
1091             'ignore_throttled' => 'boolean',
1092             'ignore_unavailable' => 'boolean',
1093             'phase_took' => 'boolean',
1094             'preference' => 'string',
1095             'profile' => 'boolean',
1096             'rest_total_hits_as_int' => 'boolean',
1097             'routing' => 'list',
1098             'scroll' => 'string',
1099             'search_pipeline' => 'string',
1100             'search_type' => 'string',
1101             'typed_keys' => 'boolean',
1102             # Common API query parameters
1103             'error_trace' => 'boolean',
1104             'filter_path' => 'list',
1105             'human' => 'boolean',
1106             'pretty' => 'boolean',
1107             'source' => 'string',
1108             },
1109             },
1110              
1111             '_core.termvectors' => {
1112             body => {},
1113             doc => 'https://docs.opensearch.org/latest/api-reference/',
1114             ## ENDPOINT HAS ALTERNATE METHOD
1115             method => 'detect',
1116             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
1117             parts => { id => {}, index => { required => 1 }},
1118             paths => [
1119             [ { index => 0, id => 2 }, "{index}", "_termvectors", "{id}" ],
1120             [ { index => 0 }, "{index}", "_termvectors" ]
1121             ],
1122             qs => {
1123             # Endpoint specific query parameters
1124             'field_statistics' => 'boolean',
1125             'fields' => 'list',
1126             'offsets' => 'boolean',
1127             'payloads' => 'boolean',
1128             'positions' => 'boolean',
1129             'preference' => 'string',
1130             'realtime' => 'boolean',
1131             'routing' => 'list',
1132             'term_statistics' => 'boolean',
1133             'version' => 'number',
1134             'version_type' => 'string',
1135             # Common API query parameters
1136             'error_trace' => 'boolean',
1137             'filter_path' => 'list',
1138             'human' => 'boolean',
1139             'pretty' => 'boolean',
1140             'source' => 'string',
1141             },
1142             },
1143              
1144             '_core.update' => {
1145             body => {},
1146             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/update-document/',
1147             method => 'POST',
1148             parts => { id => { required => 1 }, index => { required => 1 }},
1149             paths => [[ { index => 0, id => 2 }, "{index}", "_update", "{id}" ]],
1150             qs => {
1151             # Endpoint specific query parameters
1152             '_source' => 'list',
1153             '_source_excludes' => 'list',
1154             '_source_includes' => 'list',
1155             'if_primary_term' => 'number',
1156             'if_seq_no' => 'number',
1157             'lang' => 'string',
1158             'refresh' => 'boolean|string',
1159             'require_alias' => 'boolean',
1160             'retry_on_conflict' => 'number',
1161             'routing' => 'list',
1162             'timeout' => 'string',
1163             'wait_for_active_shards' => 'string',
1164             # Common API query parameters
1165             'error_trace' => 'boolean',
1166             'filter_path' => 'list',
1167             'human' => 'boolean',
1168             'pretty' => 'boolean',
1169             'source' => 'string',
1170             },
1171             },
1172              
1173             '_core.update_by_query' => {
1174             body => {},
1175             doc => 'https://opensearch.org/docs/latest/api-reference/document-apis/update-by-query/',
1176             method => 'POST',
1177             parts => { index => { multi => 1, required => 1 }},
1178             paths => [[ { index => 0 }, "{index}", "_update_by_query" ]],
1179             qs => {
1180             # Endpoint specific query parameters
1181             '_source' => 'list',
1182             '_source_excludes' => 'list',
1183             '_source_includes' => 'list',
1184             'allow_no_indices' => 'boolean',
1185             'analyze_wildcard' => 'boolean',
1186             'analyzer' => 'string',
1187             'conflicts' => 'string',
1188             'default_operator' => 'string',
1189             'df' => 'string',
1190             'expand_wildcards' => 'list',
1191             'from' => 'number',
1192             'ignore_unavailable' => 'boolean',
1193             'lenient' => 'boolean',
1194             'max_docs' => 'number',
1195             'pipeline' => 'string',
1196             'preference' => 'string',
1197             'q' => 'string',
1198             'refresh' => 'boolean|string',
1199             'request_cache' => 'boolean',
1200             'requests_per_second' => 'number',
1201             'routing' => 'list',
1202             'scroll' => 'string',
1203             'scroll_size' => 'number',
1204             'search_timeout' => 'string',
1205             'search_type' => 'string',
1206             'size' => 'number',
1207             'slices' => 'number|string',
1208             'sort' => 'list',
1209             'stats' => 'list',
1210             'terminate_after' => 'number',
1211             'timeout' => 'string',
1212             'version' => 'boolean',
1213             'wait_for_active_shards' => 'string',
1214             'wait_for_completion' => 'boolean',
1215             # Common API query parameters
1216             'error_trace' => 'boolean',
1217             'filter_path' => 'list',
1218             'human' => 'boolean',
1219             'pretty' => 'boolean',
1220             'source' => 'string',
1221             },
1222             },
1223              
1224             '_core.update_by_query_rethrottle' => {
1225             doc => 'https://docs.opensearch.org/latest/api-reference/',
1226             method => 'POST',
1227             parts => { task_id => { required => 1 }},
1228             paths => [[ { task_id => 1 }, "_update_by_query", "{task_id}", "_rethrottle" ]],
1229             qs => {
1230             # Endpoint specific query parameters
1231             'requests_per_second' => 'number',
1232             # Common API query parameters
1233             'error_trace' => 'boolean',
1234             'filter_path' => 'list',
1235             'human' => 'boolean',
1236             'pretty' => 'boolean',
1237             'source' => 'string',
1238             },
1239             },
1240              
1241             'asynchronous_search.delete' => {
1242             doc => 'https://opensearch.org/docs/latest/search-plugins/async/index/#delete-searches-and-results',
1243             method => 'DELETE',
1244             parts => { id => { required => 1 }},
1245             paths => [[ { id => 2 }, "_plugins", "_asynchronous_search", "{id}" ]],
1246             qs => {
1247             # Common API query parameters
1248             'error_trace' => 'boolean',
1249             'filter_path' => 'list',
1250             'human' => 'boolean',
1251             'pretty' => 'boolean',
1252             'source' => 'string',
1253             },
1254             },
1255              
1256             'asynchronous_search.get' => {
1257             doc => 'https://opensearch.org/docs/latest/search-plugins/async/index/#get-partial-results',
1258             method => 'GET',
1259             parts => { id => { required => 1 }},
1260             paths => [[ { id => 2 }, "_plugins", "_asynchronous_search", "{id}" ]],
1261             qs => {
1262             # Common API query parameters
1263             'error_trace' => 'boolean',
1264             'filter_path' => 'list',
1265             'human' => 'boolean',
1266             'pretty' => 'boolean',
1267             'source' => 'string',
1268             },
1269             },
1270              
1271             'asynchronous_search.search' => {
1272             body => {},
1273             doc => 'https://opensearch.org/docs/latest/search-plugins/async/index/#rest-api',
1274             method => 'POST',
1275             parts => {},
1276             paths => [[ {}, "_plugins", "_asynchronous_search" ]],
1277             qs => {
1278             # Endpoint specific query parameters
1279             'index' => 'string',
1280             'keep_alive' => 'string',
1281             'keep_on_completion' => 'boolean',
1282             'wait_for_completion_timeout' => 'string',
1283             # Common API query parameters
1284             'error_trace' => 'boolean',
1285             'filter_path' => 'list',
1286             'human' => 'boolean',
1287             'pretty' => 'boolean',
1288             'source' => 'string',
1289             },
1290             },
1291              
1292             'asynchronous_search.stats' => {
1293             doc => 'https://opensearch.org/docs/latest/search-plugins/async/index/#monitor-stats',
1294             method => 'GET',
1295             parts => {},
1296             paths => [[ {}, "_plugins", "_asynchronous_search", "stats" ]],
1297             qs => {
1298             # Common API query parameters
1299             'error_trace' => 'boolean',
1300             'filter_path' => 'list',
1301             'human' => 'boolean',
1302             'pretty' => 'boolean',
1303             'source' => 'string',
1304             },
1305             },
1306              
1307             'cat.aliases' => {
1308             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-aliases/',
1309             method => 'GET',
1310             parts => { name => { multi => 1 }},
1311             paths => [
1312             [ { name => 2 }, "_cat", "aliases", "{name}" ],
1313             [ {}, "_cat", "aliases" ]
1314             ],
1315             qs => {
1316             # Endpoint specific query parameters
1317             'expand_wildcards' => 'list',
1318             'format' => 'string',
1319             'h' => 'list',
1320             'help' => 'boolean',
1321             'local' => 'boolean',
1322             's' => 'list',
1323             'v' => 'boolean',
1324             # Common API query parameters
1325             'error_trace' => 'boolean',
1326             'filter_path' => 'list',
1327             'human' => 'boolean',
1328             'pretty' => 'boolean',
1329             'source' => 'string',
1330             },
1331             },
1332              
1333             'cat.all_pit_segments' => {
1334             doc => 'https://opensearch.org/docs/latest/search-plugins/point-in-time-api/',
1335             method => 'GET',
1336             parts => {},
1337             paths => [[ {}, "_cat", "pit_segments", "_all" ]],
1338             qs => {
1339             # Endpoint specific query parameters
1340             'bytes' => 'string',
1341             'format' => 'string',
1342             'h' => 'list',
1343             'help' => 'boolean',
1344             's' => 'list',
1345             'v' => 'boolean',
1346             # Common API query parameters
1347             'error_trace' => 'boolean',
1348             'filter_path' => 'list',
1349             'human' => 'boolean',
1350             'pretty' => 'boolean',
1351             'source' => 'string',
1352             },
1353             },
1354              
1355             'cat.allocation' => {
1356             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-allocation/',
1357             method => 'GET',
1358             parts => { node_id => { multi => 1 }},
1359             paths => [
1360             [ { node_id => 2 }, "_cat", "allocation", "{node_id}" ],
1361             [ {}, "_cat", "allocation" ]
1362             ],
1363             qs => {
1364             # Endpoint specific query parameters
1365             'bytes' => 'string',
1366             'cluster_manager_timeout' => 'string',
1367             'format' => 'string',
1368             'h' => 'list',
1369             'help' => 'boolean',
1370             'local' => 'boolean',
1371             'master_timeout' => 'string',
1372             's' => 'list',
1373             'v' => 'boolean',
1374             # Common API query parameters
1375             'error_trace' => 'boolean',
1376             'filter_path' => 'list',
1377             'human' => 'boolean',
1378             'pretty' => 'boolean',
1379             'source' => 'string',
1380             },
1381             },
1382              
1383             'cat.cluster_manager' => {
1384             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-cluster_manager/',
1385             method => 'GET',
1386             parts => {},
1387             paths => [[ {}, "_cat", "cluster_manager" ]],
1388             qs => {
1389             # Endpoint specific query parameters
1390             'cluster_manager_timeout' => 'string',
1391             'format' => 'string',
1392             'h' => 'list',
1393             'help' => 'boolean',
1394             'local' => 'boolean',
1395             'master_timeout' => 'string',
1396             's' => 'list',
1397             'v' => 'boolean',
1398             # Common API query parameters
1399             'error_trace' => 'boolean',
1400             'filter_path' => 'list',
1401             'human' => 'boolean',
1402             'pretty' => 'boolean',
1403             'source' => 'string',
1404             },
1405             },
1406              
1407             'cat.count' => {
1408             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-count/',
1409             method => 'GET',
1410             parts => { index => { multi => 1 }},
1411             paths => [
1412             [ { index => 2 }, "_cat", "count", "{index}" ],
1413             [ {}, "_cat", "count" ]
1414             ],
1415             qs => {
1416             # Endpoint specific query parameters
1417             'format' => 'string',
1418             'h' => 'list',
1419             'help' => 'boolean',
1420             's' => 'list',
1421             'v' => 'boolean',
1422             # Common API query parameters
1423             'error_trace' => 'boolean',
1424             'filter_path' => 'list',
1425             'human' => 'boolean',
1426             'pretty' => 'boolean',
1427             'source' => 'string',
1428             },
1429             },
1430              
1431             'cat.fielddata' => {
1432             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-field-data/',
1433             method => 'GET',
1434             parts => { fields => { multi => 1 }},
1435             paths => [
1436             [ { fields => 2 }, "_cat", "fielddata", "{fields}" ],
1437             [ {}, "_cat", "fielddata" ]
1438             ],
1439             qs => {
1440             # Endpoint specific query parameters
1441             'bytes' => 'string',
1442             'fields' => 'list',
1443             'format' => 'string',
1444             'h' => 'list',
1445             'help' => 'boolean',
1446             's' => 'list',
1447             'v' => 'boolean',
1448             # Common API query parameters
1449             'error_trace' => 'boolean',
1450             'filter_path' => 'list',
1451             'human' => 'boolean',
1452             'pretty' => 'boolean',
1453             'source' => 'string',
1454             },
1455             },
1456              
1457             'cat.health' => {
1458             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-health/',
1459             method => 'GET',
1460             parts => {},
1461             paths => [[ {}, "_cat", "health" ]],
1462             qs => {
1463             # Endpoint specific query parameters
1464             'format' => 'string',
1465             'h' => 'list',
1466             'help' => 'boolean',
1467             's' => 'list',
1468             'time' => 'string',
1469             'ts' => 'boolean',
1470             'v' => 'boolean',
1471             # Common API query parameters
1472             'error_trace' => 'boolean',
1473             'filter_path' => 'list',
1474             'human' => 'boolean',
1475             'pretty' => 'boolean',
1476             'source' => 'string',
1477             },
1478             },
1479              
1480             'cat.help' => {
1481             doc => 'https://opensearch.org/docs/latest/api-reference/cat/index/',
1482             method => 'GET',
1483             parts => {},
1484             paths => [[ {}, "_cat" ]],
1485             qs => {
1486             # Common API query parameters
1487             'error_trace' => 'boolean',
1488             'filter_path' => 'list',
1489             'human' => 'boolean',
1490             'pretty' => 'boolean',
1491             'source' => 'string',
1492             },
1493             },
1494              
1495             'cat.indices' => {
1496             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-indices/',
1497             method => 'GET',
1498             parts => { index => { multi => 1 }},
1499             paths => [
1500             [ { index => 2 }, "_cat", "indices", "{index}" ],
1501             [ {}, "_cat", "indices" ]
1502             ],
1503             qs => {
1504             # Endpoint specific query parameters
1505             'bytes' => 'string',
1506             'cluster_manager_timeout' => 'string',
1507             'expand_wildcards' => 'list',
1508             'format' => 'string',
1509             'h' => 'list',
1510             'health' => 'string',
1511             'help' => 'boolean',
1512             'include_unloaded_segments' => 'boolean',
1513             'local' => 'boolean',
1514             'master_timeout' => 'string',
1515             'pri' => 'boolean',
1516             's' => 'list',
1517             'time' => 'string',
1518             'v' => 'boolean',
1519             # Common API query parameters
1520             'error_trace' => 'boolean',
1521             'filter_path' => 'list',
1522             'human' => 'boolean',
1523             'pretty' => 'boolean',
1524             'source' => 'string',
1525             },
1526             },
1527              
1528             'cat.master' => {
1529             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-cluster_manager/',
1530             method => 'GET',
1531             parts => {},
1532             paths => [[ {}, "_cat", "master" ]],
1533             qs => {
1534             # Endpoint specific query parameters
1535             'cluster_manager_timeout' => 'string',
1536             'format' => 'string',
1537             'h' => 'list',
1538             'help' => 'boolean',
1539             'local' => 'boolean',
1540             'master_timeout' => 'string',
1541             's' => 'list',
1542             'v' => 'boolean',
1543             # Common API query parameters
1544             'error_trace' => 'boolean',
1545             'filter_path' => 'list',
1546             'human' => 'boolean',
1547             'pretty' => 'boolean',
1548             'source' => 'string',
1549             },
1550             },
1551              
1552             'cat.nodeattrs' => {
1553             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-nodeattrs/',
1554             method => 'GET',
1555             parts => {},
1556             paths => [[ {}, "_cat", "nodeattrs" ]],
1557             qs => {
1558             # Endpoint specific query parameters
1559             'cluster_manager_timeout' => 'string',
1560             'format' => 'string',
1561             'h' => 'list',
1562             'help' => 'boolean',
1563             'local' => 'boolean',
1564             'master_timeout' => 'string',
1565             's' => 'list',
1566             'v' => 'boolean',
1567             # Common API query parameters
1568             'error_trace' => 'boolean',
1569             'filter_path' => 'list',
1570             'human' => 'boolean',
1571             'pretty' => 'boolean',
1572             'source' => 'string',
1573             },
1574             },
1575              
1576             'cat.nodes' => {
1577             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-nodes/',
1578             method => 'GET',
1579             parts => {},
1580             paths => [[ {}, "_cat", "nodes" ]],
1581             qs => {
1582             # Endpoint specific query parameters
1583             'bytes' => 'string',
1584             'cluster_manager_timeout' => 'string',
1585             'format' => 'string',
1586             'full_id' => 'boolean',
1587             'h' => 'list',
1588             'help' => 'boolean',
1589             'local' => 'boolean',
1590             'master_timeout' => 'string',
1591             's' => 'list',
1592             'time' => 'string',
1593             'v' => 'boolean',
1594             # Common API query parameters
1595             'error_trace' => 'boolean',
1596             'filter_path' => 'list',
1597             'human' => 'boolean',
1598             'pretty' => 'boolean',
1599             'source' => 'string',
1600             },
1601             },
1602              
1603             'cat.pending_tasks' => {
1604             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-pending-tasks/',
1605             method => 'GET',
1606             parts => {},
1607             paths => [[ {}, "_cat", "pending_tasks" ]],
1608             qs => {
1609             # Endpoint specific query parameters
1610             'cluster_manager_timeout' => 'string',
1611             'format' => 'string',
1612             'h' => 'list',
1613             'help' => 'boolean',
1614             'local' => 'boolean',
1615             'master_timeout' => 'string',
1616             's' => 'list',
1617             'time' => 'string',
1618             'v' => 'boolean',
1619             # Common API query parameters
1620             'error_trace' => 'boolean',
1621             'filter_path' => 'list',
1622             'human' => 'boolean',
1623             'pretty' => 'boolean',
1624             'source' => 'string',
1625             },
1626             },
1627              
1628             'cat.pit_segments' => {
1629             body => {},
1630             doc => 'https://opensearch.org/docs/latest/search-plugins/point-in-time-api/',
1631             method => 'GET',
1632             parts => {},
1633             paths => [[ {}, "_cat", "pit_segments" ]],
1634             qs => {
1635             # Endpoint specific query parameters
1636             'bytes' => 'string',
1637             'format' => 'string',
1638             'h' => 'list',
1639             'help' => 'boolean',
1640             's' => 'list',
1641             'v' => 'boolean',
1642             # Common API query parameters
1643             'error_trace' => 'boolean',
1644             'filter_path' => 'list',
1645             'human' => 'boolean',
1646             'pretty' => 'boolean',
1647             'source' => 'string',
1648             },
1649             },
1650              
1651             'cat.plugins' => {
1652             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-plugins/',
1653             method => 'GET',
1654             parts => {},
1655             paths => [[ {}, "_cat", "plugins" ]],
1656             qs => {
1657             # Endpoint specific query parameters
1658             'cluster_manager_timeout' => 'string',
1659             'format' => 'string',
1660             'h' => 'list',
1661             'help' => 'boolean',
1662             'local' => 'boolean',
1663             'master_timeout' => 'string',
1664             's' => 'list',
1665             'v' => 'boolean',
1666             # Common API query parameters
1667             'error_trace' => 'boolean',
1668             'filter_path' => 'list',
1669             'human' => 'boolean',
1670             'pretty' => 'boolean',
1671             'source' => 'string',
1672             },
1673             },
1674              
1675             'cat.recovery' => {
1676             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-plugins/',
1677             method => 'GET',
1678             parts => { index => { multi => 1 }},
1679             paths => [
1680             [ { index => 2 }, "_cat", "recovery", "{index}" ],
1681             [ {}, "_cat", "recovery" ]
1682             ],
1683             qs => {
1684             # Endpoint specific query parameters
1685             'active_only' => 'boolean',
1686             'bytes' => 'string',
1687             'detailed' => 'boolean',
1688             'format' => 'string',
1689             'h' => 'list',
1690             'help' => 'boolean',
1691             'index' => 'list',
1692             's' => 'list',
1693             'time' => 'string',
1694             'v' => 'boolean',
1695             # Common API query parameters
1696             'error_trace' => 'boolean',
1697             'filter_path' => 'list',
1698             'human' => 'boolean',
1699             'pretty' => 'boolean',
1700             'source' => 'string',
1701             },
1702             },
1703              
1704             'cat.repositories' => {
1705             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-repositories/',
1706             method => 'GET',
1707             parts => {},
1708             paths => [[ {}, "_cat", "repositories" ]],
1709             qs => {
1710             # Endpoint specific query parameters
1711             'cluster_manager_timeout' => 'string',
1712             'format' => 'string',
1713             'h' => 'list',
1714             'help' => 'boolean',
1715             'local' => 'boolean',
1716             'master_timeout' => 'string',
1717             's' => 'list',
1718             'v' => 'boolean',
1719             # Common API query parameters
1720             'error_trace' => 'boolean',
1721             'filter_path' => 'list',
1722             'human' => 'boolean',
1723             'pretty' => 'boolean',
1724             'source' => 'string',
1725             },
1726             },
1727              
1728             'cat.segment_replication' => {
1729             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-segment-replication/',
1730             method => 'GET',
1731             parts => { index => { multi => 1 }},
1732             paths => [
1733             [ { index => 2 }, "_cat", "segment_replication", "{index}" ],
1734             [ {}, "_cat", "segment_replication" ]
1735             ],
1736             qs => {
1737             # Endpoint specific query parameters
1738             'active_only' => 'boolean',
1739             'allow_no_indices' => 'boolean',
1740             'bytes' => 'string',
1741             'completed_only' => 'boolean',
1742             'detailed' => 'boolean',
1743             'expand_wildcards' => 'list',
1744             'format' => 'string',
1745             'h' => 'list',
1746             'help' => 'boolean',
1747             'ignore_throttled' => 'boolean',
1748             'ignore_unavailable' => 'boolean',
1749             'index' => 'list',
1750             's' => 'list',
1751             'shards' => 'list',
1752             'time' => 'string',
1753             'timeout' => 'string',
1754             'v' => 'boolean',
1755             # Common API query parameters
1756             'error_trace' => 'boolean',
1757             'filter_path' => 'list',
1758             'human' => 'boolean',
1759             'pretty' => 'boolean',
1760             'source' => 'string',
1761             },
1762             },
1763              
1764             'cat.segments' => {
1765             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-segments/',
1766             method => 'GET',
1767             parts => { index => { multi => 1 }},
1768             paths => [
1769             [ { index => 2 }, "_cat", "segments", "{index}" ],
1770             [ {}, "_cat", "segments" ]
1771             ],
1772             qs => {
1773             # Endpoint specific query parameters
1774             'bytes' => 'string',
1775             'cluster_manager_timeout' => 'string',
1776             'format' => 'string',
1777             'h' => 'list',
1778             'help' => 'boolean',
1779             'master_timeout' => 'string',
1780             's' => 'list',
1781             'v' => 'boolean',
1782             # Common API query parameters
1783             'error_trace' => 'boolean',
1784             'filter_path' => 'list',
1785             'human' => 'boolean',
1786             'pretty' => 'boolean',
1787             'source' => 'string',
1788             },
1789             },
1790              
1791             'cat.shards' => {
1792             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-shards/',
1793             method => 'GET',
1794             parts => { index => { multi => 1 }},
1795             paths => [
1796             [ { index => 2 }, "_cat", "shards", "{index}" ],
1797             [ {}, "_cat", "shards" ]
1798             ],
1799             qs => {
1800             # Endpoint specific query parameters
1801             'bytes' => 'string',
1802             'cluster_manager_timeout' => 'string',
1803             'format' => 'string',
1804             'h' => 'list',
1805             'help' => 'boolean',
1806             'local' => 'boolean',
1807             'master_timeout' => 'string',
1808             's' => 'list',
1809             'time' => 'string',
1810             'v' => 'boolean',
1811             # Common API query parameters
1812             'error_trace' => 'boolean',
1813             'filter_path' => 'list',
1814             'human' => 'boolean',
1815             'pretty' => 'boolean',
1816             'source' => 'string',
1817             },
1818             },
1819              
1820             'cat.snapshots' => {
1821             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-snapshots/',
1822             method => 'GET',
1823             parts => { repository => { multi => 1 }},
1824             paths => [
1825             [ { repository => 2 }, "_cat", "snapshots", "{repository}" ],
1826             [ {}, "_cat", "snapshots" ]
1827             ],
1828             qs => {
1829             # Endpoint specific query parameters
1830             'cluster_manager_timeout' => 'string',
1831             'format' => 'string',
1832             'h' => 'list',
1833             'help' => 'boolean',
1834             'ignore_unavailable' => 'boolean',
1835             'master_timeout' => 'string',
1836             'repository' => 'list',
1837             's' => 'list',
1838             'time' => 'string',
1839             'v' => 'boolean',
1840             # Common API query parameters
1841             'error_trace' => 'boolean',
1842             'filter_path' => 'list',
1843             'human' => 'boolean',
1844             'pretty' => 'boolean',
1845             'source' => 'string',
1846             },
1847             },
1848              
1849             'cat.tasks' => {
1850             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-tasks/',
1851             method => 'GET',
1852             parts => {},
1853             paths => [[ {}, "_cat", "tasks" ]],
1854             qs => {
1855             # Endpoint specific query parameters
1856             'actions' => 'list',
1857             'detailed' => 'boolean',
1858             'format' => 'string',
1859             'h' => 'list',
1860             'help' => 'boolean',
1861             'nodes' => 'list',
1862             'parent_task_id' => 'string',
1863             's' => 'list',
1864             'time' => 'string',
1865             'v' => 'boolean',
1866             # Common API query parameters
1867             'error_trace' => 'boolean',
1868             'filter_path' => 'list',
1869             'human' => 'boolean',
1870             'pretty' => 'boolean',
1871             'source' => 'string',
1872             },
1873             },
1874              
1875             'cat.templates' => {
1876             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-templates/',
1877             method => 'GET',
1878             parts => { name => {}},
1879             paths => [
1880             [ { name => 2 }, "_cat", "templates", "{name}" ],
1881             [ {}, "_cat", "templates" ]
1882             ],
1883             qs => {
1884             # Endpoint specific query parameters
1885             'cluster_manager_timeout' => 'string',
1886             'format' => 'string',
1887             'h' => 'list',
1888             'help' => 'boolean',
1889             'local' => 'boolean',
1890             'master_timeout' => 'string',
1891             's' => 'list',
1892             'v' => 'boolean',
1893             # Common API query parameters
1894             'error_trace' => 'boolean',
1895             'filter_path' => 'list',
1896             'human' => 'boolean',
1897             'pretty' => 'boolean',
1898             'source' => 'string',
1899             },
1900             },
1901              
1902             'cat.thread_pool' => {
1903             doc => 'https://opensearch.org/docs/latest/api-reference/cat/cat-thread-pool/',
1904             method => 'GET',
1905             parts => { thread_pool_patterns => { multi => 1 }},
1906             paths => [
1907             [ { thread_pool_patterns => 2 }, "_cat", "thread_pool", "{thread_pool_patterns}" ],
1908             [ {}, "_cat", "thread_pool" ]
1909             ],
1910             qs => {
1911             # Endpoint specific query parameters
1912             'cluster_manager_timeout' => 'string',
1913             'format' => 'string',
1914             'h' => 'list',
1915             'help' => 'boolean',
1916             'local' => 'boolean',
1917             'master_timeout' => 'string',
1918             's' => 'list',
1919             'size' => 'number',
1920             'v' => 'boolean',
1921             # Common API query parameters
1922             'error_trace' => 'boolean',
1923             'filter_path' => 'list',
1924             'human' => 'boolean',
1925             'pretty' => 'boolean',
1926             'source' => 'string',
1927             },
1928             },
1929              
1930             'cluster.allocation_explain' => {
1931             body => {},
1932             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-allocation/',
1933             ## ENDPOINT HAS ALTERNATE METHOD
1934             method => 'detect',
1935             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
1936             parts => {},
1937             paths => [[ {}, "_cluster", "allocation", "explain" ]],
1938             qs => {
1939             # Endpoint specific query parameters
1940             'include_disk_info' => 'boolean',
1941             'include_yes_decisions' => 'boolean',
1942             # Common API query parameters
1943             'error_trace' => 'boolean',
1944             'filter_path' => 'list',
1945             'human' => 'boolean',
1946             'pretty' => 'boolean',
1947             'source' => 'string',
1948             },
1949             },
1950              
1951             'cluster.delete_component_template' => {
1952             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
1953             method => 'DELETE',
1954             parts => { name => { required => 1 }},
1955             paths => [[ { name => 1 }, "_component_template", "{name}" ]],
1956             qs => {
1957             # Endpoint specific query parameters
1958             'cluster_manager_timeout' => 'string',
1959             'master_timeout' => 'string',
1960             'timeout' => 'string',
1961             # Common API query parameters
1962             'error_trace' => 'boolean',
1963             'filter_path' => 'list',
1964             'human' => 'boolean',
1965             'pretty' => 'boolean',
1966             'source' => 'string',
1967             },
1968             },
1969              
1970             'cluster.delete_decommission_awareness' => {
1971             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone',
1972             method => 'DELETE',
1973             parts => {},
1974             paths => [[ {}, "_cluster", "decommission", "awareness" ]],
1975             qs => {
1976             # Common API query parameters
1977             'error_trace' => 'boolean',
1978             'filter_path' => 'list',
1979             'human' => 'boolean',
1980             'pretty' => 'boolean',
1981             'source' => 'string',
1982             },
1983             },
1984              
1985             'cluster.delete_voting_config_exclusions' => {
1986             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
1987             method => 'DELETE',
1988             parts => {},
1989             paths => [[ {}, "_cluster", "voting_config_exclusions" ]],
1990             qs => {
1991             # Endpoint specific query parameters
1992             'wait_for_removal' => 'boolean',
1993             # Common API query parameters
1994             'error_trace' => 'boolean',
1995             'filter_path' => 'list',
1996             'human' => 'boolean',
1997             'pretty' => 'boolean',
1998             'source' => 'string',
1999             },
2000             },
2001              
2002             'cluster.delete_weighted_routing' => {
2003             body => {},
2004             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-deleting-weights',
2005             method => 'DELETE',
2006             parts => {},
2007             paths => [[ {}, "_cluster", "routing", "awareness", "weights" ]],
2008             qs => {
2009             # Common API query parameters
2010             'error_trace' => 'boolean',
2011             'filter_path' => 'list',
2012             'human' => 'boolean',
2013             'pretty' => 'boolean',
2014             'source' => 'string',
2015             },
2016             },
2017              
2018             'cluster.exists_component_template' => {
2019             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
2020             method => 'HEAD',
2021             parts => { name => { required => 1 }},
2022             paths => [[ { name => 1 }, "_component_template", "{name}" ]],
2023             qs => {
2024             # Endpoint specific query parameters
2025             'cluster_manager_timeout' => 'string',
2026             'local' => 'boolean',
2027             'master_timeout' => 'string',
2028             # Common API query parameters
2029             'error_trace' => 'boolean',
2030             'filter_path' => 'list',
2031             'human' => 'boolean',
2032             'pretty' => 'boolean',
2033             'source' => 'string',
2034             },
2035             },
2036              
2037             'cluster.get_component_template' => {
2038             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
2039             method => 'GET',
2040             parts => { name => {}},
2041             paths => [
2042             [ { name => 1 }, "_component_template", "{name}" ],
2043             [ {}, "_component_template" ]
2044             ],
2045             qs => {
2046             # Endpoint specific query parameters
2047             'cluster_manager_timeout' => 'string',
2048             'flat_settings' => 'boolean',
2049             'local' => 'boolean',
2050             'master_timeout' => 'string',
2051             # Common API query parameters
2052             'error_trace' => 'boolean',
2053             'filter_path' => 'list',
2054             'human' => 'boolean',
2055             'pretty' => 'boolean',
2056             'source' => 'string',
2057             },
2058             },
2059              
2060             'cluster.get_decommission_awareness' => {
2061             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-getting-zone-decommission-status',
2062             method => 'GET',
2063             parts => { awareness_attribute_name => { required => 1 }},
2064             paths => [[ { awareness_attribute_name => 3 }, "_cluster", "decommission", "awareness", "{awareness_attribute_name}", "_status" ]],
2065             qs => {
2066             # Common API query parameters
2067             'error_trace' => 'boolean',
2068             'filter_path' => 'list',
2069             'human' => 'boolean',
2070             'pretty' => 'boolean',
2071             'source' => 'string',
2072             },
2073             },
2074              
2075             'cluster.get_settings' => {
2076             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-settings/',
2077             method => 'GET',
2078             parts => {},
2079             paths => [[ {}, "_cluster", "settings" ]],
2080             qs => {
2081             # Endpoint specific query parameters
2082             'cluster_manager_timeout' => 'string',
2083             'flat_settings' => 'boolean',
2084             'include_defaults' => 'boolean',
2085             'master_timeout' => 'string',
2086             'timeout' => 'string',
2087             # Common API query parameters
2088             'error_trace' => 'boolean',
2089             'filter_path' => 'list',
2090             'human' => 'boolean',
2091             'pretty' => 'boolean',
2092             'source' => 'string',
2093             },
2094             },
2095              
2096             'cluster.get_weighted_routing' => {
2097             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-getting-weights-for-all-zones',
2098             method => 'GET',
2099             parts => { attribute => { required => 1 }},
2100             paths => [[ { attribute => 3 }, "_cluster", "routing", "awareness", "{attribute}", "weights" ]],
2101             qs => {
2102             # Common API query parameters
2103             'error_trace' => 'boolean',
2104             'filter_path' => 'list',
2105             'human' => 'boolean',
2106             'pretty' => 'boolean',
2107             'source' => 'string',
2108             },
2109             },
2110              
2111             'cluster.health' => {
2112             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-health/',
2113             method => 'GET',
2114             parts => { index => { multi => 1 }},
2115             paths => [
2116             [ { index => 2 }, "_cluster", "health", "{index}" ],
2117             [ {}, "_cluster", "health" ]
2118             ],
2119             qs => {
2120             # Endpoint specific query parameters
2121             'awareness_attribute' => 'string',
2122             'cluster_manager_timeout' => 'string',
2123             'expand_wildcards' => 'list',
2124             'level' => 'string',
2125             'local' => 'boolean',
2126             'master_timeout' => 'string',
2127             'timeout' => 'string',
2128             'wait_for_active_shards' => 'string',
2129             'wait_for_events' => 'string',
2130             'wait_for_no_initializing_shards' => 'boolean',
2131             'wait_for_no_relocating_shards' => 'boolean',
2132             'wait_for_nodes' => 'number|string',
2133             'wait_for_status' => 'string',
2134             # Common API query parameters
2135             'error_trace' => 'boolean',
2136             'filter_path' => 'list',
2137             'human' => 'boolean',
2138             'pretty' => 'boolean',
2139             'source' => 'string',
2140             },
2141             },
2142              
2143             'cluster.pending_tasks' => {
2144             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
2145             method => 'GET',
2146             parts => {},
2147             paths => [[ {}, "_cluster", "pending_tasks" ]],
2148             qs => {
2149             # Endpoint specific query parameters
2150             'cluster_manager_timeout' => 'string',
2151             'local' => 'boolean',
2152             'master_timeout' => 'string',
2153             # Common API query parameters
2154             'error_trace' => 'boolean',
2155             'filter_path' => 'list',
2156             'human' => 'boolean',
2157             'pretty' => 'boolean',
2158             'source' => 'string',
2159             },
2160             },
2161              
2162             'cluster.post_voting_config_exclusions' => {
2163             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
2164             method => 'POST',
2165             parts => {},
2166             paths => [[ {}, "_cluster", "voting_config_exclusions" ]],
2167             qs => {
2168             # Endpoint specific query parameters
2169             'node_ids' => 'list',
2170             'node_names' => 'list',
2171             'timeout' => 'string',
2172             # Common API query parameters
2173             'error_trace' => 'boolean',
2174             'filter_path' => 'list',
2175             'human' => 'boolean',
2176             'pretty' => 'boolean',
2177             'source' => 'string',
2178             },
2179             },
2180              
2181             'cluster.put_component_template' => {
2182             body => { required => 1 },
2183             doc => 'https://opensearch.org/docs/latest/im-plugin/index-templates/#use-component-templates-to-create-an-index-template',
2184             method => 'PUT',
2185             parts => { name => { required => 1 }},
2186             paths => [[ { name => 1 }, "_component_template", "{name}" ]],
2187             qs => {
2188             # Endpoint specific query parameters
2189             'cluster_manager_timeout' => 'string',
2190             'create' => 'boolean',
2191             'master_timeout' => 'string',
2192             'timeout' => 'string',
2193             # Common API query parameters
2194             'error_trace' => 'boolean',
2195             'filter_path' => 'list',
2196             'human' => 'boolean',
2197             'pretty' => 'boolean',
2198             'source' => 'string',
2199             },
2200             },
2201              
2202             'cluster.put_decommission_awareness' => {
2203             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone',
2204             method => 'PUT',
2205             parts => { awareness_attribute_name => { required => 1 }, awareness_attribute_value => { required => 1 }},
2206             paths => [[ { awareness_attribute_name => 3, awareness_attribute_value => 4 }, "_cluster", "decommission", "awareness", "{awareness_attribute_name}", "{awareness_attribute_value}" ]],
2207             qs => {
2208             # Common API query parameters
2209             'error_trace' => 'boolean',
2210             'filter_path' => 'list',
2211             'human' => 'boolean',
2212             'pretty' => 'boolean',
2213             'source' => 'string',
2214             },
2215             },
2216              
2217             'cluster.put_settings' => {
2218             body => {},
2219             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-settings/',
2220             method => 'PUT',
2221             parts => {},
2222             paths => [[ {}, "_cluster", "settings" ]],
2223             qs => {
2224             # Endpoint specific query parameters
2225             'cluster_manager_timeout' => 'string',
2226             'flat_settings' => 'boolean',
2227             'master_timeout' => 'string',
2228             'timeout' => 'string',
2229             # Common API query parameters
2230             'error_trace' => 'boolean',
2231             'filter_path' => 'list',
2232             'human' => 'boolean',
2233             'pretty' => 'boolean',
2234             'source' => 'string',
2235             },
2236             },
2237              
2238             'cluster.put_weighted_routing' => {
2239             body => {},
2240             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-weighted-round-robin-search',
2241             method => 'PUT',
2242             parts => { attribute => { required => 1 }},
2243             paths => [[ { attribute => 3 }, "_cluster", "routing", "awareness", "{attribute}", "weights" ]],
2244             qs => {
2245             # Common API query parameters
2246             'error_trace' => 'boolean',
2247             'filter_path' => 'list',
2248             'human' => 'boolean',
2249             'pretty' => 'boolean',
2250             'source' => 'string',
2251             },
2252             },
2253              
2254             'cluster.remote_info' => {
2255             doc => 'https://opensearch.org/docs/latest/api-reference/remote-info/',
2256             method => 'GET',
2257             parts => {},
2258             paths => [[ {}, "_remote", "info" ]],
2259             qs => {
2260             # Common API query parameters
2261             'error_trace' => 'boolean',
2262             'filter_path' => 'list',
2263             'human' => 'boolean',
2264             'pretty' => 'boolean',
2265             'source' => 'string',
2266             },
2267             },
2268              
2269             'cluster.reroute' => {
2270             body => {},
2271             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
2272             method => 'POST',
2273             parts => {},
2274             paths => [[ {}, "_cluster", "reroute" ]],
2275             qs => {
2276             # Endpoint specific query parameters
2277             'cluster_manager_timeout' => 'string',
2278             'dry_run' => 'boolean',
2279             'explain' => 'boolean',
2280             'master_timeout' => 'string',
2281             'metric' => 'list',
2282             'retry_failed' => 'boolean',
2283             'timeout' => 'string',
2284             # Common API query parameters
2285             'error_trace' => 'boolean',
2286             'filter_path' => 'list',
2287             'human' => 'boolean',
2288             'pretty' => 'boolean',
2289             'source' => 'string',
2290             },
2291             },
2292              
2293             'cluster.state' => {
2294             doc => 'https://docs.opensearch.org/latest/api-reference/cluster-api/index/',
2295             method => 'GET',
2296             parts => { index => { multi => 1 }, metric => { multi => 1 }},
2297             paths => [
2298             [ { metric => 2, index => 3 }, "_cluster", "state", "{metric}", "{index}" ],
2299             [ { metric => 2 }, "_cluster", "state", "{metric}" ],
2300             [ {}, "_cluster", "state" ]
2301             ],
2302             qs => {
2303             # Endpoint specific query parameters
2304             'allow_no_indices' => 'boolean',
2305             'cluster_manager_timeout' => 'string',
2306             'expand_wildcards' => 'list',
2307             'flat_settings' => 'boolean',
2308             'ignore_unavailable' => 'boolean',
2309             'local' => 'boolean',
2310             'master_timeout' => 'string',
2311             'wait_for_metadata_version' => 'number',
2312             'wait_for_timeout' => 'string',
2313             # Common API query parameters
2314             'error_trace' => 'boolean',
2315             'filter_path' => 'list',
2316             'human' => 'boolean',
2317             'pretty' => 'boolean',
2318             'source' => 'string',
2319             },
2320             },
2321              
2322             'cluster.stats' => {
2323             doc => 'https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/',
2324             method => 'GET',
2325             parts => { index_metric => { multi => 1 }, metric => { multi => 1 }, node_id => { multi => 1 }},
2326             paths => [
2327             [ { metric => 2, index_metric => 3, node_id => 5 }, "_cluster", "stats", "{metric}", "{index_metric}", "nodes", "{node_id}" ],
2328             [ { metric => 2, node_id => 4 }, "_cluster", "stats", "{metric}", "nodes", "{node_id}" ],
2329             [ { node_id => 3 }, "_cluster", "stats", "nodes", "{node_id}" ],
2330             [ {}, "_cluster", "stats" ]
2331             ],
2332             qs => {
2333             # Endpoint specific query parameters
2334             'flat_settings' => 'boolean',
2335             'timeout' => 'string',
2336             # Common API query parameters
2337             'error_trace' => 'boolean',
2338             'filter_path' => 'list',
2339             'human' => 'boolean',
2340             'pretty' => 'boolean',
2341             'source' => 'string',
2342             },
2343             },
2344              
2345             'dangling_indices.delete_dangling_index' => {
2346             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/dangling-index/',
2347             method => 'DELETE',
2348             parts => { index_uuid => { required => 1 }},
2349             paths => [[ { index_uuid => 1 }, "_dangling", "{index_uuid}" ]],
2350             qs => {
2351             # Endpoint specific query parameters
2352             'accept_data_loss' => 'boolean',
2353             'cluster_manager_timeout' => 'string',
2354             'master_timeout' => 'string',
2355             'timeout' => 'string',
2356             # Common API query parameters
2357             'error_trace' => 'boolean',
2358             'filter_path' => 'list',
2359             'human' => 'boolean',
2360             'pretty' => 'boolean',
2361             'source' => 'string',
2362             },
2363             },
2364              
2365             'dangling_indices.import_dangling_index' => {
2366             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/dangling-index/',
2367             method => 'POST',
2368             parts => { index_uuid => { required => 1 }},
2369             paths => [[ { index_uuid => 1 }, "_dangling", "{index_uuid}" ]],
2370             qs => {
2371             # Endpoint specific query parameters
2372             'accept_data_loss' => 'boolean',
2373             'cluster_manager_timeout' => 'string',
2374             'master_timeout' => 'string',
2375             'timeout' => 'string',
2376             # Common API query parameters
2377             'error_trace' => 'boolean',
2378             'filter_path' => 'list',
2379             'human' => 'boolean',
2380             'pretty' => 'boolean',
2381             'source' => 'string',
2382             },
2383             },
2384              
2385             'dangling_indices.list_dangling_indices' => {
2386             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/dangling-index/',
2387             method => 'GET',
2388             parts => {},
2389             paths => [[ {}, "_dangling" ]],
2390             qs => {
2391             # Common API query parameters
2392             'error_trace' => 'boolean',
2393             'filter_path' => 'list',
2394             'human' => 'boolean',
2395             'pretty' => 'boolean',
2396             'source' => 'string',
2397             },
2398             },
2399              
2400             'flow_framework.create' => {
2401             body => {},
2402             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/create-workflow/',
2403             method => 'POST',
2404             parts => {},
2405             paths => [[ {}, "_plugins", "_flow_framework", "workflow" ]],
2406             qs => {
2407             # Endpoint specific query parameters
2408             'provision' => 'boolean',
2409             'reprovision' => 'boolean',
2410             'update_fields' => 'boolean',
2411             'use_case' => 'string',
2412             'validation' => 'string',
2413             # Common API query parameters
2414             'error_trace' => 'boolean',
2415             'filter_path' => 'list',
2416             'human' => 'boolean',
2417             'pretty' => 'boolean',
2418             'source' => 'string',
2419             },
2420             },
2421              
2422             'flow_framework.delete' => {
2423             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/delete-workflow/',
2424             method => 'DELETE',
2425             parts => { workflow_id => { required => 1 }},
2426             paths => [[ { workflow_id => 3 }, "_plugins", "_flow_framework", "workflow", "{workflow_id}" ]],
2427             qs => {
2428             # Endpoint specific query parameters
2429             'clear_status' => 'boolean',
2430             # Common API query parameters
2431             'error_trace' => 'boolean',
2432             'filter_path' => 'list',
2433             'human' => 'boolean',
2434             'pretty' => 'boolean',
2435             'source' => 'string',
2436             },
2437             },
2438              
2439             'flow_framework.deprovision' => {
2440             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/deprovision-workflow/',
2441             method => 'POST',
2442             parts => { workflow_id => { required => 1 }},
2443             paths => [[ { workflow_id => 3 }, "_plugins", "_flow_framework", "workflow", "{workflow_id}", "_deprovision" ]],
2444             qs => {
2445             # Endpoint specific query parameters
2446             'allow_delete' => 'string',
2447             # Common API query parameters
2448             'error_trace' => 'boolean',
2449             'filter_path' => 'list',
2450             'human' => 'boolean',
2451             'pretty' => 'boolean',
2452             'source' => 'string',
2453             },
2454             },
2455              
2456             'flow_framework.get' => {
2457             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/get-workflow/',
2458             method => 'GET',
2459             parts => { workflow_id => { required => 1 }},
2460             paths => [[ { workflow_id => 3 }, "_plugins", "_flow_framework", "workflow", "{workflow_id}" ]],
2461             qs => {
2462             # Common API query parameters
2463             'error_trace' => 'boolean',
2464             'filter_path' => 'list',
2465             'human' => 'boolean',
2466             'pretty' => 'boolean',
2467             'source' => 'string',
2468             },
2469             },
2470              
2471             'flow_framework.get_status' => {
2472             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/get-workflow-status/',
2473             method => 'GET',
2474             parts => { workflow_id => { required => 1 }},
2475             paths => [[ { workflow_id => 3 }, "_plugins", "_flow_framework", "workflow", "{workflow_id}", "_status" ]],
2476             qs => {
2477             # Endpoint specific query parameters
2478             'all' => 'boolean',
2479             # Common API query parameters
2480             'error_trace' => 'boolean',
2481             'filter_path' => 'list',
2482             'human' => 'boolean',
2483             'pretty' => 'boolean',
2484             'source' => 'string',
2485             },
2486             },
2487              
2488             'flow_framework.get_steps' => {
2489             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/get-workflow-steps/',
2490             method => 'GET',
2491             parts => {},
2492             paths => [[ {}, "_plugins", "_flow_framework", "workflow", "_steps" ]],
2493             qs => {
2494             # Endpoint specific query parameters
2495             'workflow_step' => 'string',
2496             # Common API query parameters
2497             'error_trace' => 'boolean',
2498             'filter_path' => 'list',
2499             'human' => 'boolean',
2500             'pretty' => 'boolean',
2501             'source' => 'string',
2502             },
2503             },
2504              
2505             'flow_framework.provision' => {
2506             body => {},
2507             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/provision-workflow/',
2508             method => 'POST',
2509             parts => { workflow_id => { required => 1 }},
2510             paths => [[ { workflow_id => 3 }, "_plugins", "_flow_framework", "workflow", "{workflow_id}", "_provision" ]],
2511             qs => {
2512             # Common API query parameters
2513             'error_trace' => 'boolean',
2514             'filter_path' => 'list',
2515             'human' => 'boolean',
2516             'pretty' => 'boolean',
2517             'source' => 'string',
2518             },
2519             },
2520              
2521             'flow_framework.search' => {
2522             body => { required => 1 },
2523             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/provision-workflow/',
2524             method => 'POST',
2525             parts => {},
2526             paths => [[ {}, "_plugins", "_flow_framework", "workflow", "_search" ]],
2527             qs => {
2528             # Common API query parameters
2529             'error_trace' => 'boolean',
2530             'filter_path' => 'list',
2531             'human' => 'boolean',
2532             'pretty' => 'boolean',
2533             'source' => 'string',
2534             },
2535             },
2536              
2537             'flow_framework.search_state' => {
2538             body => { required => 1 },
2539             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/search-workflow-state/',
2540             method => 'POST',
2541             parts => {},
2542             paths => [[ {}, "_plugins", "_flow_framework", "workflow", "state", "_search" ]],
2543             qs => {
2544             # Common API query parameters
2545             'error_trace' => 'boolean',
2546             'filter_path' => 'list',
2547             'human' => 'boolean',
2548             'pretty' => 'boolean',
2549             'source' => 'string',
2550             },
2551             },
2552              
2553             'flow_framework.update' => {
2554             body => {},
2555             doc => 'https://opensearch.org/docs/latest/automating-configurations/api/create-workflow/',
2556             method => 'PUT',
2557             parts => { workflow_id => { required => 1 }},
2558             paths => [[ { workflow_id => 3 }, "_plugins", "_flow_framework", "workflow", "{workflow_id}" ]],
2559             qs => {
2560             # Endpoint specific query parameters
2561             'provision' => 'boolean',
2562             'reprovision' => 'boolean',
2563             'update_fields' => 'boolean',
2564             'use_case' => 'string',
2565             'validation' => 'string',
2566             # Common API query parameters
2567             'error_trace' => 'boolean',
2568             'filter_path' => 'list',
2569             'human' => 'boolean',
2570             'pretty' => 'boolean',
2571             'source' => 'string',
2572             },
2573             },
2574              
2575             'geospatial.delete_ip2geo_datasource' => {
2576             doc => 'https://docs.opensearch.org/docs/latest/ingest-pipelines/processors/ip2geo/#deleting-the-ip2geo-data-source',
2577             method => 'DELETE',
2578             parts => { name => { required => 1 }},
2579             paths => [[ { name => 4 }, "_plugins", "geospatial", "ip2geo", "datasource", "{name}" ]],
2580             qs => {
2581             # Common API query parameters
2582             'error_trace' => 'boolean',
2583             'filter_path' => 'list',
2584             'human' => 'boolean',
2585             'pretty' => 'boolean',
2586             'source' => 'string',
2587             },
2588             },
2589              
2590             'geospatial.geojson_upload_post' => {
2591             body => {},
2592             doc => 'https://docs.opensearch.org/docs/latest/ingest-pipelines/processors/ip2geo',
2593             method => 'POST',
2594             parts => {},
2595             paths => [[ {}, "_plugins", "geospatial", "geojson", "_upload" ]],
2596             qs => {
2597             # Common API query parameters
2598             'error_trace' => 'boolean',
2599             'filter_path' => 'list',
2600             'human' => 'boolean',
2601             'pretty' => 'boolean',
2602             'source' => 'string',
2603             },
2604             },
2605              
2606             'geospatial.geojson_upload_put' => {
2607             body => {},
2608             doc => 'https://docs.opensearch.org/docs/latest/ingest-pipelines/processors/ip2geo',
2609             method => 'PUT',
2610             parts => {},
2611             paths => [[ {}, "_plugins", "geospatial", "geojson", "_upload" ]],
2612             qs => {
2613             # Common API query parameters
2614             'error_trace' => 'boolean',
2615             'filter_path' => 'list',
2616             'human' => 'boolean',
2617             'pretty' => 'boolean',
2618             'source' => 'string',
2619             },
2620             },
2621              
2622             'geospatial.get_ip2geo_datasource' => {
2623             doc => 'https://docs.opensearch.org/docs/latest/ingest-pipelines/processors/ip2geo/#sending-a-get-request',
2624             method => 'GET',
2625             parts => { name => { multi => 1 }},
2626             paths => [
2627             [ { name => 4 }, "_plugins", "geospatial", "ip2geo", "datasource", "{name}" ],
2628             [ {}, "_plugins", "geospatial", "ip2geo", "datasource" ]
2629             ],
2630             qs => {
2631             # Common API query parameters
2632             'error_trace' => 'boolean',
2633             'filter_path' => 'list',
2634             'human' => 'boolean',
2635             'pretty' => 'boolean',
2636             'source' => 'string',
2637             },
2638             },
2639              
2640             'geospatial.get_upload_stats' => {
2641             doc => 'https://docs.opensearch.org/docs/latest/ingest-pipelines/processors/ip2geo',
2642             method => 'GET',
2643             parts => {},
2644             paths => [[ {}, "_plugins", "geospatial", "_upload", "stats" ]],
2645             qs => {
2646             # Common API query parameters
2647             'error_trace' => 'boolean',
2648             'filter_path' => 'list',
2649             'human' => 'boolean',
2650             'pretty' => 'boolean',
2651             'source' => 'string',
2652             },
2653             },
2654              
2655             'geospatial.put_ip2geo_datasource' => {
2656             body => {},
2657             doc => 'https://docs.opensearch.org/docs/latest/ingest-pipelines/processors/ip2geo/#data-source-options',
2658             method => 'PUT',
2659             parts => { name => { required => 1 }},
2660             paths => [[ { name => 4 }, "_plugins", "geospatial", "ip2geo", "datasource", "{name}" ]],
2661             qs => {
2662             # Common API query parameters
2663             'error_trace' => 'boolean',
2664             'filter_path' => 'list',
2665             'human' => 'boolean',
2666             'pretty' => 'boolean',
2667             'source' => 'string',
2668             },
2669             },
2670              
2671             'geospatial.put_ip2geo_datasource_settings' => {
2672             body => {},
2673             doc => 'https://docs.opensearch.org/docs/latest/ingest-pipelines/processors/ip2geo/#updating-an-ip2geo-data-source',
2674             method => 'PUT',
2675             parts => { name => { required => 1 }},
2676             paths => [[ { name => 4 }, "_plugins", "geospatial", "ip2geo", "datasource", "{name}", "_settings" ]],
2677             qs => {
2678             # Common API query parameters
2679             'error_trace' => 'boolean',
2680             'filter_path' => 'list',
2681             'human' => 'boolean',
2682             'pretty' => 'boolean',
2683             'source' => 'string',
2684             },
2685             },
2686              
2687             'indices.add_block' => {
2688             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
2689             method => 'PUT',
2690             parts => { block => { required => 1 }, index => { multi => 1, required => 1 }},
2691             paths => [[ { index => 0, block => 2 }, "{index}", "_block", "{block}" ]],
2692             qs => {
2693             # Endpoint specific query parameters
2694             'allow_no_indices' => 'boolean',
2695             'cluster_manager_timeout' => 'string',
2696             'expand_wildcards' => 'list',
2697             'ignore_unavailable' => 'boolean',
2698             'master_timeout' => 'string',
2699             'timeout' => 'string',
2700             # Common API query parameters
2701             'error_trace' => 'boolean',
2702             'filter_path' => 'list',
2703             'human' => 'boolean',
2704             'pretty' => 'boolean',
2705             'source' => 'string',
2706             },
2707             },
2708              
2709             'indices.analyze' => {
2710             body => {},
2711             doc => 'https://opensearch.org/docs/latest/api-reference/analyze-apis/perform-text-analysis/',
2712             ## ENDPOINT HAS ALTERNATE METHOD
2713             method => 'detect',
2714             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
2715             parts => { index => {}},
2716             paths => [
2717             [ { index => 0 }, "{index}", "_analyze" ],
2718             [ {}, "_analyze" ]
2719             ],
2720             qs => {
2721             # Endpoint specific query parameters
2722             'index' => 'string',
2723             # Common API query parameters
2724             'error_trace' => 'boolean',
2725             'filter_path' => 'list',
2726             'human' => 'boolean',
2727             'pretty' => 'boolean',
2728             'source' => 'string',
2729             },
2730             },
2731              
2732             'indices.clear_cache' => {
2733             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/clear-index-cache/',
2734             method => 'POST',
2735             parts => { index => { multi => 1 }},
2736             paths => [
2737             [ { index => 0 }, "{index}", "_cache", "clear" ],
2738             [ {}, "_cache", "clear" ]
2739             ],
2740             qs => {
2741             # Endpoint specific query parameters
2742             'allow_no_indices' => 'boolean',
2743             'expand_wildcards' => 'list',
2744             'fielddata' => 'boolean',
2745             'fields' => 'list',
2746             'file' => 'boolean',
2747             'ignore_unavailable' => 'boolean',
2748             'index' => 'list',
2749             'query' => 'boolean',
2750             'request' => 'boolean',
2751             # Common API query parameters
2752             'error_trace' => 'boolean',
2753             'filter_path' => 'list',
2754             'human' => 'boolean',
2755             'pretty' => 'boolean',
2756             'source' => 'string',
2757             },
2758             },
2759              
2760             'indices.clone' => {
2761             body => {},
2762             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/clone/',
2763             method => 'POST',
2764             parts => { index => { required => 1 }, target => { required => 1 }},
2765             paths => [[ { index => 0, target => 2 }, "{index}", "_clone", "{target}" ]],
2766             qs => {
2767             # Endpoint specific query parameters
2768             'cluster_manager_timeout' => 'string',
2769             'master_timeout' => 'string',
2770             'task_execution_timeout' => 'string',
2771             'timeout' => 'string',
2772             'wait_for_active_shards' => 'string',
2773             'wait_for_completion' => 'boolean',
2774             # Common API query parameters
2775             'error_trace' => 'boolean',
2776             'filter_path' => 'list',
2777             'human' => 'boolean',
2778             'pretty' => 'boolean',
2779             'source' => 'string',
2780             },
2781             },
2782              
2783             'indices.close' => {
2784             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/close-index/',
2785             method => 'POST',
2786             parts => { index => { multi => 1, required => 1 }},
2787             paths => [[ { index => 0 }, "{index}", "_close" ]],
2788             qs => {
2789             # Endpoint specific query parameters
2790             'allow_no_indices' => 'boolean',
2791             'cluster_manager_timeout' => 'string',
2792             'expand_wildcards' => 'list',
2793             'ignore_unavailable' => 'boolean',
2794             'master_timeout' => 'string',
2795             'timeout' => 'string',
2796             'wait_for_active_shards' => 'string',
2797             # Common API query parameters
2798             'error_trace' => 'boolean',
2799             'filter_path' => 'list',
2800             'human' => 'boolean',
2801             'pretty' => 'boolean',
2802             'source' => 'string',
2803             },
2804             },
2805              
2806             'indices.create' => {
2807             body => {},
2808             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/create-index/',
2809             method => 'PUT',
2810             parts => { index => { required => 1 }},
2811             paths => [[ { index => 0 }, "{index}" ]],
2812             qs => {
2813             # Endpoint specific query parameters
2814             'cluster_manager_timeout' => 'string',
2815             'master_timeout' => 'string',
2816             'timeout' => 'string',
2817             'wait_for_active_shards' => 'string',
2818             # Common API query parameters
2819             'error_trace' => 'boolean',
2820             'filter_path' => 'list',
2821             'human' => 'boolean',
2822             'pretty' => 'boolean',
2823             'source' => 'string',
2824             },
2825             },
2826              
2827             'indices.create_data_stream' => {
2828             body => {},
2829             doc => 'https://opensearch.org/docs/latest/im-plugin/data-streams/',
2830             method => 'PUT',
2831             parts => { name => { required => 1 }},
2832             paths => [[ { name => 1 }, "_data_stream", "{name}" ]],
2833             qs => {
2834             # Common API query parameters
2835             'error_trace' => 'boolean',
2836             'filter_path' => 'list',
2837             'human' => 'boolean',
2838             'pretty' => 'boolean',
2839             'source' => 'string',
2840             },
2841             },
2842              
2843             'indices.data_streams_stats' => {
2844             doc => 'https://opensearch.org/docs/latest/im-plugin/data-streams/',
2845             method => 'GET',
2846             parts => { name => { multi => 1 }},
2847             paths => [
2848             [ { name => 1 }, "_data_stream", "{name}", "_stats" ],
2849             [ {}, "_data_stream", "_stats" ]
2850             ],
2851             qs => {
2852             # Common API query parameters
2853             'error_trace' => 'boolean',
2854             'filter_path' => 'list',
2855             'human' => 'boolean',
2856             'pretty' => 'boolean',
2857             'source' => 'string',
2858             },
2859             },
2860              
2861             'indices.delete' => {
2862             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/delete-index/',
2863             method => 'DELETE',
2864             parts => { index => { multi => 1, required => 1 }},
2865             paths => [[ { index => 0 }, "{index}" ]],
2866             qs => {
2867             # Endpoint specific query parameters
2868             'allow_no_indices' => 'boolean',
2869             'cluster_manager_timeout' => 'string',
2870             'expand_wildcards' => 'list',
2871             'ignore_unavailable' => 'boolean',
2872             'master_timeout' => 'string',
2873             'timeout' => 'string',
2874             # Common API query parameters
2875             'error_trace' => 'boolean',
2876             'filter_path' => 'list',
2877             'human' => 'boolean',
2878             'pretty' => 'boolean',
2879             'source' => 'string',
2880             },
2881             },
2882              
2883             'indices.delete_alias' => {
2884             doc => 'https://opensearch.org/docs/latest/im-plugin/index-alias/#delete-aliases',
2885             method => 'DELETE',
2886             parts => { index => { multi => 1, required => 1 }, name => { multi => 1, required => 1 }},
2887             paths => [
2888             [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ],
2889             [ { index => 0, name => 2 }, "{index}", "_aliases", "{name}" ]
2890             ],
2891             qs => {
2892             # Endpoint specific query parameters
2893             'cluster_manager_timeout' => 'string',
2894             'master_timeout' => 'string',
2895             'timeout' => 'string',
2896             # Common API query parameters
2897             'error_trace' => 'boolean',
2898             'filter_path' => 'list',
2899             'human' => 'boolean',
2900             'pretty' => 'boolean',
2901             'source' => 'string',
2902             },
2903             },
2904              
2905             'indices.delete_data_stream' => {
2906             doc => 'https://opensearch.org/docs/latest/im-plugin/data-streams/',
2907             method => 'DELETE',
2908             parts => { name => { multi => 1, required => 1 }},
2909             paths => [[ { name => 1 }, "_data_stream", "{name}" ]],
2910             qs => {
2911             # Common API query parameters
2912             'error_trace' => 'boolean',
2913             'filter_path' => 'list',
2914             'human' => 'boolean',
2915             'pretty' => 'boolean',
2916             'source' => 'string',
2917             },
2918             },
2919              
2920             'indices.delete_index_template' => {
2921             doc => 'https://opensearch.org/docs/latest/im-plugin/index-templates/#delete-a-template',
2922             method => 'DELETE',
2923             parts => { name => { required => 1 }},
2924             paths => [[ { name => 1 }, "_index_template", "{name}" ]],
2925             qs => {
2926             # Endpoint specific query parameters
2927             'cluster_manager_timeout' => 'string',
2928             'master_timeout' => 'string',
2929             'timeout' => 'string',
2930             # Common API query parameters
2931             'error_trace' => 'boolean',
2932             'filter_path' => 'list',
2933             'human' => 'boolean',
2934             'pretty' => 'boolean',
2935             'source' => 'string',
2936             },
2937             },
2938              
2939             'indices.delete_template' => {
2940             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
2941             method => 'DELETE',
2942             parts => { name => { required => 1 }},
2943             paths => [[ { name => 1 }, "_template", "{name}" ]],
2944             qs => {
2945             # Endpoint specific query parameters
2946             'cluster_manager_timeout' => 'string',
2947             'master_timeout' => 'string',
2948             'timeout' => 'string',
2949             # Common API query parameters
2950             'error_trace' => 'boolean',
2951             'filter_path' => 'list',
2952             'human' => 'boolean',
2953             'pretty' => 'boolean',
2954             'source' => 'string',
2955             },
2956             },
2957              
2958             'indices.exists' => {
2959             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/exists/',
2960             method => 'HEAD',
2961             parts => { index => { multi => 1, required => 1 }},
2962             paths => [[ { index => 0 }, "{index}" ]],
2963             qs => {
2964             # Endpoint specific query parameters
2965             'allow_no_indices' => 'boolean',
2966             'cluster_manager_timeout' => 'string',
2967             'expand_wildcards' => 'list',
2968             'flat_settings' => 'boolean',
2969             'ignore_unavailable' => 'boolean',
2970             'include_defaults' => 'boolean',
2971             'local' => 'boolean',
2972             # Common API query parameters
2973             'error_trace' => 'boolean',
2974             'filter_path' => 'list',
2975             'human' => 'boolean',
2976             'pretty' => 'boolean',
2977             'source' => 'string',
2978             },
2979             },
2980              
2981             'indices.exists_alias' => {
2982             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
2983             method => 'HEAD',
2984             parts => { index => { multi => 1 }, name => { multi => 1, required => 1 }},
2985             paths => [
2986             [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ],
2987             [ { name => 1 }, "_alias", "{name}" ]
2988             ],
2989             qs => {
2990             # Endpoint specific query parameters
2991             'allow_no_indices' => 'boolean',
2992             'expand_wildcards' => 'list',
2993             'ignore_unavailable' => 'boolean',
2994             'local' => 'boolean',
2995             # Common API query parameters
2996             'error_trace' => 'boolean',
2997             'filter_path' => 'list',
2998             'human' => 'boolean',
2999             'pretty' => 'boolean',
3000             'source' => 'string',
3001             },
3002             },
3003              
3004             'indices.exists_index_template' => {
3005             doc => 'https://opensearch.org/docs/latest/im-plugin/index-templates/',
3006             method => 'HEAD',
3007             parts => { name => { required => 1 }},
3008             paths => [[ { name => 1 }, "_index_template", "{name}" ]],
3009             qs => {
3010             # Endpoint specific query parameters
3011             'cluster_manager_timeout' => 'string',
3012             'flat_settings' => 'boolean',
3013             'local' => 'boolean',
3014             'master_timeout' => 'string',
3015             # Common API query parameters
3016             'error_trace' => 'boolean',
3017             'filter_path' => 'list',
3018             'human' => 'boolean',
3019             'pretty' => 'boolean',
3020             'source' => 'string',
3021             },
3022             },
3023              
3024             'indices.exists_template' => {
3025             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3026             method => 'HEAD',
3027             parts => { name => { multi => 1, required => 1 }},
3028             paths => [[ { name => 1 }, "_template", "{name}" ]],
3029             qs => {
3030             # Endpoint specific query parameters
3031             'cluster_manager_timeout' => 'string',
3032             'flat_settings' => 'boolean',
3033             'local' => 'boolean',
3034             'master_timeout' => 'string',
3035             # Common API query parameters
3036             'error_trace' => 'boolean',
3037             'filter_path' => 'list',
3038             'human' => 'boolean',
3039             'pretty' => 'boolean',
3040             'source' => 'string',
3041             },
3042             },
3043              
3044             'indices.flush' => {
3045             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3046             ## ENDPOINT HAS ALTERNATE METHOD
3047             method => 'detect',
3048             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
3049             parts => { index => { multi => 1 }},
3050             paths => [
3051             [ { index => 0 }, "{index}", "_flush" ],
3052             [ {}, "_flush" ]
3053             ],
3054             qs => {
3055             # Endpoint specific query parameters
3056             'allow_no_indices' => 'boolean',
3057             'expand_wildcards' => 'list',
3058             'force' => 'boolean',
3059             'ignore_unavailable' => 'boolean',
3060             'wait_if_ongoing' => 'boolean',
3061             # Common API query parameters
3062             'error_trace' => 'boolean',
3063             'filter_path' => 'list',
3064             'human' => 'boolean',
3065             'pretty' => 'boolean',
3066             'source' => 'string',
3067             },
3068             },
3069              
3070             'indices.forcemerge' => {
3071             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3072             method => 'POST',
3073             parts => { index => { multi => 1 }},
3074             paths => [
3075             [ { index => 0 }, "{index}", "_forcemerge" ],
3076             [ {}, "_forcemerge" ]
3077             ],
3078             qs => {
3079             # Endpoint specific query parameters
3080             'allow_no_indices' => 'boolean',
3081             'expand_wildcards' => 'list',
3082             'flush' => 'boolean',
3083             'ignore_unavailable' => 'boolean',
3084             'max_num_segments' => 'number',
3085             'only_expunge_deletes' => 'boolean',
3086             'primary_only' => 'boolean',
3087             'wait_for_completion' => 'boolean',
3088             # Common API query parameters
3089             'error_trace' => 'boolean',
3090             'filter_path' => 'list',
3091             'human' => 'boolean',
3092             'pretty' => 'boolean',
3093             'source' => 'string',
3094             },
3095             },
3096              
3097             'indices.get' => {
3098             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/get-index/',
3099             method => 'GET',
3100             parts => { index => { multi => 1, required => 1 }},
3101             paths => [[ { index => 0 }, "{index}" ]],
3102             qs => {
3103             # Endpoint specific query parameters
3104             'allow_no_indices' => 'boolean',
3105             'cluster_manager_timeout' => 'string',
3106             'expand_wildcards' => 'list',
3107             'flat_settings' => 'boolean',
3108             'ignore_unavailable' => 'boolean',
3109             'include_defaults' => 'boolean',
3110             'local' => 'boolean',
3111             'master_timeout' => 'string',
3112             # Common API query parameters
3113             'error_trace' => 'boolean',
3114             'filter_path' => 'list',
3115             'human' => 'boolean',
3116             'pretty' => 'boolean',
3117             'source' => 'string',
3118             },
3119             },
3120              
3121             'indices.get_alias' => {
3122             doc => 'https://opensearch.org/docs/latest/im-plugin/index-alias/',
3123             method => 'GET',
3124             parts => { index => { multi => 1 }, name => { multi => 1 }},
3125             paths => [
3126             [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ],
3127             [ { name => 1 }, "_alias", "{name}" ],
3128             [ { index => 0 }, "{index}", "_alias" ],
3129             [ {}, "_alias" ]
3130             ],
3131             qs => {
3132             # Endpoint specific query parameters
3133             'allow_no_indices' => 'boolean',
3134             'expand_wildcards' => 'list',
3135             'ignore_unavailable' => 'boolean',
3136             'local' => 'boolean',
3137             # Common API query parameters
3138             'error_trace' => 'boolean',
3139             'filter_path' => 'list',
3140             'human' => 'boolean',
3141             'pretty' => 'boolean',
3142             'source' => 'string',
3143             },
3144             },
3145              
3146             'indices.get_data_stream' => {
3147             doc => 'https://opensearch.org/docs/latest/im-plugin/data-streams/',
3148             method => 'GET',
3149             parts => { name => { multi => 1 }},
3150             paths => [
3151             [ { name => 1 }, "_data_stream", "{name}" ],
3152             [ {}, "_data_stream" ]
3153             ],
3154             qs => {
3155             # Common API query parameters
3156             'error_trace' => 'boolean',
3157             'filter_path' => 'list',
3158             'human' => 'boolean',
3159             'pretty' => 'boolean',
3160             'source' => 'string',
3161             },
3162             },
3163              
3164             'indices.get_field_mapping' => {
3165             doc => 'https://opensearch.org/docs/latest/field-types/index/',
3166             method => 'GET',
3167             parts => { fields => { multi => 1, required => 1 }, index => { multi => 1 }},
3168             paths => [
3169             [ { index => 0, fields => 3 }, "{index}", "_mapping", "field", "{fields}" ],
3170             [ { fields => 2 }, "_mapping", "field", "{fields}" ]
3171             ],
3172             qs => {
3173             # Endpoint specific query parameters
3174             'allow_no_indices' => 'boolean',
3175             'expand_wildcards' => 'list',
3176             'ignore_unavailable' => 'boolean',
3177             'include_defaults' => 'boolean',
3178             'local' => 'boolean',
3179             # Common API query parameters
3180             'error_trace' => 'boolean',
3181             'filter_path' => 'list',
3182             'human' => 'boolean',
3183             'pretty' => 'boolean',
3184             'source' => 'string',
3185             },
3186             },
3187              
3188             'indices.get_index_template' => {
3189             doc => 'https://opensearch.org/docs/latest/im-plugin/index-templates/',
3190             method => 'GET',
3191             parts => { name => {}},
3192             paths => [
3193             [ { name => 1 }, "_index_template", "{name}" ],
3194             [ {}, "_index_template" ]
3195             ],
3196             qs => {
3197             # Endpoint specific query parameters
3198             'cluster_manager_timeout' => 'string',
3199             'flat_settings' => 'boolean',
3200             'local' => 'boolean',
3201             'master_timeout' => 'string',
3202             # Common API query parameters
3203             'error_trace' => 'boolean',
3204             'filter_path' => 'list',
3205             'human' => 'boolean',
3206             'pretty' => 'boolean',
3207             'source' => 'string',
3208             },
3209             },
3210              
3211             'indices.get_mapping' => {
3212             doc => 'https://opensearch.org/docs/latest/field-types/index/#get-a-mapping',
3213             method => 'GET',
3214             parts => { index => { multi => 1 }},
3215             paths => [
3216             [ { index => 0 }, "{index}", "_mapping" ],
3217             [ {}, "_mapping" ]
3218             ],
3219             qs => {
3220             # Endpoint specific query parameters
3221             'allow_no_indices' => 'boolean',
3222             'cluster_manager_timeout' => 'string',
3223             'expand_wildcards' => 'list',
3224             'ignore_unavailable' => 'boolean',
3225             'index' => 'list',
3226             'local' => 'boolean',
3227             'master_timeout' => 'string',
3228             # Common API query parameters
3229             'error_trace' => 'boolean',
3230             'filter_path' => 'list',
3231             'human' => 'boolean',
3232             'pretty' => 'boolean',
3233             'source' => 'string',
3234             },
3235             },
3236              
3237             'indices.get_settings' => {
3238             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/get-settings/',
3239             method => 'GET',
3240             parts => { index => { multi => 1 }, name => { multi => 1 }},
3241             paths => [
3242             [ { index => 0, name => 2 }, "{index}", "_settings", "{name}" ],
3243             [ { name => 1 }, "_settings", "{name}" ],
3244             [ { index => 0 }, "{index}", "_settings" ],
3245             [ {}, "_settings" ]
3246             ],
3247             qs => {
3248             # Endpoint specific query parameters
3249             'allow_no_indices' => 'boolean',
3250             'cluster_manager_timeout' => 'string',
3251             'expand_wildcards' => 'list',
3252             'flat_settings' => 'boolean',
3253             'ignore_unavailable' => 'boolean',
3254             'include_defaults' => 'boolean',
3255             'local' => 'boolean',
3256             'master_timeout' => 'string',
3257             # Common API query parameters
3258             'error_trace' => 'boolean',
3259             'filter_path' => 'list',
3260             'human' => 'boolean',
3261             'pretty' => 'boolean',
3262             'source' => 'string',
3263             },
3264             },
3265              
3266             'indices.get_template' => {
3267             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3268             method => 'GET',
3269             parts => { name => { multi => 1 }},
3270             paths => [
3271             [ { name => 1 }, "_template", "{name}" ],
3272             [ {}, "_template" ]
3273             ],
3274             qs => {
3275             # Endpoint specific query parameters
3276             'cluster_manager_timeout' => 'string',
3277             'flat_settings' => 'boolean',
3278             'local' => 'boolean',
3279             'master_timeout' => 'string',
3280             # Common API query parameters
3281             'error_trace' => 'boolean',
3282             'filter_path' => 'list',
3283             'human' => 'boolean',
3284             'pretty' => 'boolean',
3285             'source' => 'string',
3286             },
3287             },
3288              
3289             'indices.get_upgrade' => {
3290             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3291             method => 'GET',
3292             parts => { index => { multi => 1 }},
3293             paths => [
3294             [ { index => 0 }, "{index}", "_upgrade" ],
3295             [ {}, "_upgrade" ]
3296             ],
3297             qs => {
3298             # Endpoint specific query parameters
3299             'allow_no_indices' => 'boolean',
3300             'expand_wildcards' => 'list',
3301             'ignore_unavailable' => 'boolean',
3302             # Common API query parameters
3303             'error_trace' => 'boolean',
3304             'filter_path' => 'list',
3305             'human' => 'boolean',
3306             'pretty' => 'boolean',
3307             'source' => 'string',
3308             },
3309             },
3310              
3311             'indices.open' => {
3312             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/open-index/',
3313             method => 'POST',
3314             parts => { index => { multi => 1, required => 1 }},
3315             paths => [[ { index => 0 }, "{index}", "_open" ]],
3316             qs => {
3317             # Endpoint specific query parameters
3318             'allow_no_indices' => 'boolean',
3319             'cluster_manager_timeout' => 'string',
3320             'expand_wildcards' => 'list',
3321             'ignore_unavailable' => 'boolean',
3322             'master_timeout' => 'string',
3323             'task_execution_timeout' => 'string',
3324             'timeout' => 'string',
3325             'wait_for_active_shards' => 'string',
3326             'wait_for_completion' => 'boolean',
3327             # Common API query parameters
3328             'error_trace' => 'boolean',
3329             'filter_path' => 'list',
3330             'human' => 'boolean',
3331             'pretty' => 'boolean',
3332             'source' => 'string',
3333             },
3334             },
3335              
3336             'indices.put_alias' => {
3337             body => {},
3338             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/',
3339             method => 'PUT',
3340             parts => { index => { multi => 1 }, name => {}},
3341             paths => [
3342             [ { index => 0, name => 2 }, "{index}", "_alias", "{name}" ],
3343             [ { index => 0, name => 2 }, "{index}", "_aliases", "{name}" ],
3344             [ { name => 1 }, "_alias", "{name}" ],
3345             [ { name => 1 }, "_aliases", "{name}" ],
3346             [ { index => 0 }, "{index}", "_alias" ],
3347             [ { index => 0 }, "{index}", "_aliases" ],
3348             [ {}, "_alias" ]
3349             ],
3350             qs => {
3351             # Endpoint specific query parameters
3352             'cluster_manager_timeout' => 'string',
3353             'master_timeout' => 'string',
3354             'timeout' => 'string',
3355             # Common API query parameters
3356             'error_trace' => 'boolean',
3357             'filter_path' => 'list',
3358             'human' => 'boolean',
3359             'pretty' => 'boolean',
3360             'source' => 'string',
3361             },
3362             },
3363              
3364             'indices.put_index_template' => {
3365             body => { required => 1 },
3366             doc => 'https://opensearch.org/docs/latest/im-plugin/index-templates/',
3367             method => 'PUT',
3368             parts => { name => { required => 1 }},
3369             paths => [[ { name => 1 }, "_index_template", "{name}" ]],
3370             qs => {
3371             # Endpoint specific query parameters
3372             'cause' => 'string',
3373             'cluster_manager_timeout' => 'string',
3374             'create' => 'boolean',
3375             'master_timeout' => 'string',
3376             # Common API query parameters
3377             'error_trace' => 'boolean',
3378             'filter_path' => 'list',
3379             'human' => 'boolean',
3380             'pretty' => 'boolean',
3381             'source' => 'string',
3382             },
3383             },
3384              
3385             'indices.put_mapping' => {
3386             body => { required => 1 },
3387             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/put-mapping/',
3388             method => 'PUT',
3389             parts => { index => { multi => 1, required => 1 }},
3390             paths => [[ { index => 0 }, "{index}", "_mapping" ]],
3391             qs => {
3392             # Endpoint specific query parameters
3393             'allow_no_indices' => 'boolean',
3394             'cluster_manager_timeout' => 'string',
3395             'expand_wildcards' => 'list',
3396             'ignore_unavailable' => 'boolean',
3397             'master_timeout' => 'string',
3398             'timeout' => 'string',
3399             'write_index_only' => 'boolean',
3400             # Common API query parameters
3401             'error_trace' => 'boolean',
3402             'filter_path' => 'list',
3403             'human' => 'boolean',
3404             'pretty' => 'boolean',
3405             'source' => 'string',
3406             },
3407             },
3408              
3409             'indices.put_settings' => {
3410             body => {},
3411             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/update-settings/',
3412             method => 'PUT',
3413             parts => { index => { multi => 1 }},
3414             paths => [
3415             [ { index => 0 }, "{index}", "_settings" ],
3416             [ {}, "_settings" ]
3417             ],
3418             qs => {
3419             # Endpoint specific query parameters
3420             'allow_no_indices' => 'boolean',
3421             'cluster_manager_timeout' => 'string',
3422             'expand_wildcards' => 'list',
3423             'flat_settings' => 'boolean',
3424             'ignore_unavailable' => 'boolean',
3425             'master_timeout' => 'string',
3426             'preserve_existing' => 'boolean',
3427             'timeout' => 'string',
3428             # Common API query parameters
3429             'error_trace' => 'boolean',
3430             'filter_path' => 'list',
3431             'human' => 'boolean',
3432             'pretty' => 'boolean',
3433             'source' => 'string',
3434             },
3435             },
3436              
3437             'indices.put_template' => {
3438             body => { required => 1 },
3439             doc => 'https://opensearch.org/docs/latest/im-plugin/index-templates/',
3440             method => 'PUT',
3441             parts => { name => { required => 1 }},
3442             paths => [[ { name => 1 }, "_template", "{name}" ]],
3443             qs => {
3444             # Endpoint specific query parameters
3445             'cluster_manager_timeout' => 'string',
3446             'create' => 'boolean',
3447             'master_timeout' => 'string',
3448             'order' => 'number',
3449             # Common API query parameters
3450             'error_trace' => 'boolean',
3451             'filter_path' => 'list',
3452             'human' => 'boolean',
3453             'pretty' => 'boolean',
3454             'source' => 'string',
3455             },
3456             },
3457              
3458             'indices.recovery' => {
3459             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3460             method => 'GET',
3461             parts => { index => { multi => 1 }},
3462             paths => [
3463             [ { index => 0 }, "{index}", "_recovery" ],
3464             [ {}, "_recovery" ]
3465             ],
3466             qs => {
3467             # Endpoint specific query parameters
3468             'active_only' => 'boolean',
3469             'detailed' => 'boolean',
3470             # Common API query parameters
3471             'error_trace' => 'boolean',
3472             'filter_path' => 'list',
3473             'human' => 'boolean',
3474             'pretty' => 'boolean',
3475             'source' => 'string',
3476             },
3477             },
3478              
3479             'indices.refresh' => {
3480             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/remote-store/index/#refresh-level-and-request-level-durability',
3481             ## ENDPOINT HAS ALTERNATE METHOD
3482             method => 'detect',
3483             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
3484             parts => { index => { multi => 1 }},
3485             paths => [
3486             [ { index => 0 }, "{index}", "_refresh" ],
3487             [ {}, "_refresh" ]
3488             ],
3489             qs => {
3490             # Endpoint specific query parameters
3491             'allow_no_indices' => 'boolean',
3492             'expand_wildcards' => 'list',
3493             'ignore_unavailable' => 'boolean',
3494             # Common API query parameters
3495             'error_trace' => 'boolean',
3496             'filter_path' => 'list',
3497             'human' => 'boolean',
3498             'pretty' => 'boolean',
3499             'source' => 'string',
3500             },
3501             },
3502              
3503             'indices.resolve_index' => {
3504             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3505             method => 'GET',
3506             parts => { name => { multi => 1, required => 1 }},
3507             paths => [[ { name => 2 }, "_resolve", "index", "{name}" ]],
3508             qs => {
3509             # Endpoint specific query parameters
3510             'expand_wildcards' => 'list',
3511             # Common API query parameters
3512             'error_trace' => 'boolean',
3513             'filter_path' => 'list',
3514             'human' => 'boolean',
3515             'pretty' => 'boolean',
3516             'source' => 'string',
3517             },
3518             },
3519              
3520             'indices.rollover' => {
3521             body => {},
3522             doc => 'https://opensearch.org/docs/latest/dashboards/im-dashboards/rollover/',
3523             method => 'POST',
3524             parts => { alias => { required => 1 }, new_index => {}},
3525             paths => [
3526             [ { alias => 0, new_index => 2 }, "{alias}", "_rollover", "{new_index}" ],
3527             [ { alias => 0 }, "{alias}", "_rollover" ]
3528             ],
3529             qs => {
3530             # Endpoint specific query parameters
3531             'cluster_manager_timeout' => 'string',
3532             'dry_run' => 'boolean',
3533             'master_timeout' => 'string',
3534             'timeout' => 'string',
3535             'wait_for_active_shards' => 'string',
3536             # Common API query parameters
3537             'error_trace' => 'boolean',
3538             'filter_path' => 'list',
3539             'human' => 'boolean',
3540             'pretty' => 'boolean',
3541             'source' => 'string',
3542             },
3543             },
3544              
3545             'indices.segments' => {
3546             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3547             method => 'GET',
3548             parts => { index => { multi => 1 }},
3549             paths => [
3550             [ { index => 0 }, "{index}", "_segments" ],
3551             [ {}, "_segments" ]
3552             ],
3553             qs => {
3554             # Endpoint specific query parameters
3555             'allow_no_indices' => 'boolean',
3556             'expand_wildcards' => 'list',
3557             'ignore_unavailable' => 'boolean',
3558             'verbose' => 'boolean',
3559             # Common API query parameters
3560             'error_trace' => 'boolean',
3561             'filter_path' => 'list',
3562             'human' => 'boolean',
3563             'pretty' => 'boolean',
3564             'source' => 'string',
3565             },
3566             },
3567              
3568             'indices.shard_stores' => {
3569             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3570             method => 'GET',
3571             parts => { index => { multi => 1 }},
3572             paths => [
3573             [ { index => 0 }, "{index}", "_shard_stores" ],
3574             [ {}, "_shard_stores" ]
3575             ],
3576             qs => {
3577             # Endpoint specific query parameters
3578             'allow_no_indices' => 'boolean',
3579             'expand_wildcards' => 'list',
3580             'ignore_unavailable' => 'boolean',
3581             'status' => 'list',
3582             # Common API query parameters
3583             'error_trace' => 'boolean',
3584             'filter_path' => 'list',
3585             'human' => 'boolean',
3586             'pretty' => 'boolean',
3587             'source' => 'string',
3588             },
3589             },
3590              
3591             'indices.shrink' => {
3592             body => {},
3593             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/shrink-index/',
3594             method => 'POST',
3595             parts => { index => { required => 1 }, target => { required => 1 }},
3596             paths => [[ { index => 0, target => 2 }, "{index}", "_shrink", "{target}" ]],
3597             qs => {
3598             # Endpoint specific query parameters
3599             'cluster_manager_timeout' => 'string',
3600             'copy_settings' => 'boolean',
3601             'master_timeout' => 'string',
3602             'task_execution_timeout' => 'string',
3603             'timeout' => 'string',
3604             'wait_for_active_shards' => 'string',
3605             'wait_for_completion' => 'boolean',
3606             # Common API query parameters
3607             'error_trace' => 'boolean',
3608             'filter_path' => 'list',
3609             'human' => 'boolean',
3610             'pretty' => 'boolean',
3611             'source' => 'string',
3612             },
3613             },
3614              
3615             'indices.simulate_index_template' => {
3616             body => {},
3617             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3618             method => 'POST',
3619             parts => { name => { required => 1 }},
3620             paths => [[ { name => 2 }, "_index_template", "_simulate_index", "{name}" ]],
3621             qs => {
3622             # Endpoint specific query parameters
3623             'cluster_manager_timeout' => 'string',
3624             'master_timeout' => 'string',
3625             # Common API query parameters
3626             'error_trace' => 'boolean',
3627             'filter_path' => 'list',
3628             'human' => 'boolean',
3629             'pretty' => 'boolean',
3630             'source' => 'string',
3631             },
3632             },
3633              
3634             'indices.simulate_template' => {
3635             body => {},
3636             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3637             method => 'POST',
3638             parts => { name => {}},
3639             paths => [
3640             [ { name => 2 }, "_index_template", "_simulate", "{name}" ],
3641             [ {}, "_index_template", "_simulate" ]
3642             ],
3643             qs => {
3644             # Endpoint specific query parameters
3645             'cause' => 'string',
3646             'cluster_manager_timeout' => 'string',
3647             'create' => 'boolean',
3648             'master_timeout' => 'string',
3649             # Common API query parameters
3650             'error_trace' => 'boolean',
3651             'filter_path' => 'list',
3652             'human' => 'boolean',
3653             'pretty' => 'boolean',
3654             'source' => 'string',
3655             },
3656             },
3657              
3658             'indices.split' => {
3659             body => {},
3660             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/split/',
3661             method => 'POST',
3662             parts => { index => { required => 1 }, target => { required => 1 }},
3663             paths => [[ { index => 0, target => 2 }, "{index}", "_split", "{target}" ]],
3664             qs => {
3665             # Endpoint specific query parameters
3666             'cluster_manager_timeout' => 'string',
3667             'copy_settings' => 'boolean',
3668             'master_timeout' => 'string',
3669             'task_execution_timeout' => 'string',
3670             'timeout' => 'string',
3671             'wait_for_active_shards' => 'string',
3672             'wait_for_completion' => 'boolean',
3673             # Common API query parameters
3674             'error_trace' => 'boolean',
3675             'filter_path' => 'list',
3676             'human' => 'boolean',
3677             'pretty' => 'boolean',
3678             'source' => 'string',
3679             },
3680             },
3681              
3682             'indices.stats' => {
3683             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3684             method => 'GET',
3685             parts => { index => { multi => 1 }, metric => { multi => 1 }},
3686             paths => [
3687             [ { index => 0, metric => 2 }, "{index}", "_stats", "{metric}" ],
3688             [ { metric => 1 }, "_stats", "{metric}" ],
3689             [ { index => 0 }, "{index}", "_stats" ],
3690             [ {}, "_stats" ]
3691             ],
3692             qs => {
3693             # Endpoint specific query parameters
3694             'completion_fields' => 'list',
3695             'expand_wildcards' => 'list',
3696             'fielddata_fields' => 'list',
3697             'fields' => 'list',
3698             'forbid_closed_indices' => 'boolean',
3699             'groups' => 'list',
3700             'include_segment_file_sizes' => 'boolean',
3701             'include_unloaded_segments' => 'boolean',
3702             'level' => 'string',
3703             # Common API query parameters
3704             'error_trace' => 'boolean',
3705             'filter_path' => 'list',
3706             'human' => 'boolean',
3707             'pretty' => 'boolean',
3708             'source' => 'string',
3709             },
3710             },
3711              
3712             'indices.update_aliases' => {
3713             body => {},
3714             doc => 'https://opensearch.org/docs/latest/api-reference/index-apis/alias/',
3715             method => 'POST',
3716             parts => {},
3717             paths => [[ {}, "_aliases" ]],
3718             qs => {
3719             # Endpoint specific query parameters
3720             'cluster_manager_timeout' => 'string',
3721             'master_timeout' => 'string',
3722             'timeout' => 'string',
3723             # Common API query parameters
3724             'error_trace' => 'boolean',
3725             'filter_path' => 'list',
3726             'human' => 'boolean',
3727             'pretty' => 'boolean',
3728             'source' => 'string',
3729             },
3730             },
3731              
3732             'indices.upgrade' => {
3733             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3734             method => 'POST',
3735             parts => { index => { multi => 1 }},
3736             paths => [
3737             [ { index => 0 }, "{index}", "_upgrade" ],
3738             [ {}, "_upgrade" ]
3739             ],
3740             qs => {
3741             # Endpoint specific query parameters
3742             'allow_no_indices' => 'boolean',
3743             'expand_wildcards' => 'list',
3744             'ignore_unavailable' => 'boolean',
3745             'only_ancient_segments' => 'boolean',
3746             'wait_for_completion' => 'boolean',
3747             # Common API query parameters
3748             'error_trace' => 'boolean',
3749             'filter_path' => 'list',
3750             'human' => 'boolean',
3751             'pretty' => 'boolean',
3752             'source' => 'string',
3753             },
3754             },
3755              
3756             'indices.validate_query' => {
3757             body => {},
3758             doc => 'https://docs.opensearch.org/latest/api-reference/index-apis/index/',
3759             ## ENDPOINT HAS ALTERNATE METHOD
3760             method => 'detect',
3761             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
3762             parts => { index => { multi => 1 }},
3763             paths => [
3764             [ { index => 0 }, "{index}", "_validate", "query" ],
3765             [ {}, "_validate", "query" ]
3766             ],
3767             qs => {
3768             # Endpoint specific query parameters
3769             'all_shards' => 'boolean',
3770             'allow_no_indices' => 'boolean',
3771             'analyze_wildcard' => 'boolean',
3772             'analyzer' => 'string',
3773             'default_operator' => 'string',
3774             'df' => 'string',
3775             'expand_wildcards' => 'list',
3776             'explain' => 'boolean',
3777             'ignore_unavailable' => 'boolean',
3778             'lenient' => 'boolean',
3779             'q' => 'string',
3780             'rewrite' => 'boolean',
3781             # Common API query parameters
3782             'error_trace' => 'boolean',
3783             'filter_path' => 'list',
3784             'human' => 'boolean',
3785             'pretty' => 'boolean',
3786             'source' => 'string',
3787             },
3788             },
3789              
3790             'ingest.delete_pipeline' => {
3791             doc => 'https://opensearch.org/docs/latest/api-reference/ingest-apis/delete-ingest/',
3792             method => 'DELETE',
3793             parts => { id => { required => 1 }},
3794             paths => [[ { id => 2 }, "_ingest", "pipeline", "{id}" ]],
3795             qs => {
3796             # Endpoint specific query parameters
3797             'cluster_manager_timeout' => 'string',
3798             'master_timeout' => 'string',
3799             'timeout' => 'string',
3800             # Common API query parameters
3801             'error_trace' => 'boolean',
3802             'filter_path' => 'list',
3803             'human' => 'boolean',
3804             'pretty' => 'boolean',
3805             'source' => 'string',
3806             },
3807             },
3808              
3809             'ingest.get_pipeline' => {
3810             doc => 'https://opensearch.org/docs/latest/api-reference/ingest-apis/get-ingest/',
3811             method => 'GET',
3812             parts => { id => {}},
3813             paths => [
3814             [ { id => 2 }, "_ingest", "pipeline", "{id}" ],
3815             [ {}, "_ingest", "pipeline" ]
3816             ],
3817             qs => {
3818             # Endpoint specific query parameters
3819             'cluster_manager_timeout' => 'string',
3820             'master_timeout' => 'string',
3821             # Common API query parameters
3822             'error_trace' => 'boolean',
3823             'filter_path' => 'list',
3824             'human' => 'boolean',
3825             'pretty' => 'boolean',
3826             'source' => 'string',
3827             },
3828             },
3829              
3830             'ingest.processor_grok' => {
3831             doc => 'https://docs.opensearch.org/latest/api-reference/ingest-apis/index/',
3832             method => 'GET',
3833             parts => {},
3834             paths => [[ {}, "_ingest", "processor", "grok" ]],
3835             qs => {
3836             # Endpoint specific query parameters
3837             's' => 'boolean',
3838             # Common API query parameters
3839             'error_trace' => 'boolean',
3840             'filter_path' => 'list',
3841             'human' => 'boolean',
3842             'pretty' => 'boolean',
3843             'source' => 'string',
3844             },
3845             },
3846              
3847             'ingest.put_pipeline' => {
3848             body => {},
3849             doc => 'https://docs.opensearch.org/latest/ingest-pipelines/create-ingest/',
3850             method => 'PUT',
3851             parts => { id => { required => 1 }},
3852             paths => [[ { id => 2 }, "_ingest", "pipeline", "{id}" ]],
3853             qs => {
3854             # Endpoint specific query parameters
3855             'cluster_manager_timeout' => 'string',
3856             'master_timeout' => 'string',
3857             'timeout' => 'string',
3858             # Common API query parameters
3859             'error_trace' => 'boolean',
3860             'filter_path' => 'list',
3861             'human' => 'boolean',
3862             'pretty' => 'boolean',
3863             'source' => 'string',
3864             },
3865             },
3866              
3867             'ingest.simulate' => {
3868             body => { required => 1 },
3869             doc => 'https://opensearch.org/docs/latest/api-reference/ingest-apis/simulate-ingest/',
3870             method => 'POST',
3871             parts => { id => {}},
3872             paths => [
3873             [ { id => 2 }, "_ingest", "pipeline", "{id}", "_simulate" ],
3874             [ {}, "_ingest", "pipeline", "_simulate" ]
3875             ],
3876             qs => {
3877             # Endpoint specific query parameters
3878             'verbose' => 'boolean',
3879             # Common API query parameters
3880             'error_trace' => 'boolean',
3881             'filter_path' => 'list',
3882             'human' => 'boolean',
3883             'pretty' => 'boolean',
3884             'source' => 'string',
3885             },
3886             },
3887              
3888             'ingestion.get_state' => {
3889             doc => 'https://docs.opensearch.org/docs/latest/api-reference/document-apis/pull-based-ingestion-management/',
3890             method => 'GET',
3891             parts => { index => { required => 1 }},
3892             paths => [[ { index => 0 }, "{index}", "ingestion", "_state" ]],
3893             qs => {
3894             # Endpoint specific query parameters
3895             'next_token' => 'string',
3896             'size' => 'number',
3897             'timeout' => 'string',
3898             # Common API query parameters
3899             'error_trace' => 'boolean',
3900             'filter_path' => 'list',
3901             'human' => 'boolean',
3902             'pretty' => 'boolean',
3903             'source' => 'string',
3904             },
3905             },
3906              
3907             'ingestion.pause' => {
3908             doc => 'https://docs.opensearch.org/docs/latest/api-reference/document-apis/pull-based-ingestion-management/',
3909             method => 'POST',
3910             parts => { index => { required => 1 }},
3911             paths => [[ { index => 0 }, "{index}", "ingestion", "_pause" ]],
3912             qs => {
3913             # Endpoint specific query parameters
3914             'cluster_manager_timeout' => 'string',
3915             'timeout' => 'string',
3916             # Common API query parameters
3917             'error_trace' => 'boolean',
3918             'filter_path' => 'list',
3919             'human' => 'boolean',
3920             'pretty' => 'boolean',
3921             'source' => 'string',
3922             },
3923             },
3924              
3925             'ingestion.resume' => {
3926             body => {},
3927             doc => 'https://docs.opensearch.org/docs/latest/api-reference/document-apis/pull-based-ingestion-management/',
3928             method => 'POST',
3929             parts => { index => { required => 1 }},
3930             paths => [[ { index => 0 }, "{index}", "ingestion", "_resume" ]],
3931             qs => {
3932             # Endpoint specific query parameters
3933             'cluster_manager_timeout' => 'string',
3934             'timeout' => 'string',
3935             # Common API query parameters
3936             'error_trace' => 'boolean',
3937             'filter_path' => 'list',
3938             'human' => 'boolean',
3939             'pretty' => 'boolean',
3940             'source' => 'string',
3941             },
3942             },
3943              
3944             'insights.top_queries' => {
3945             doc => 'https://docs.opensearch.org/latest/observing-your-data/query-insights/index/',
3946             method => 'GET',
3947             parts => {},
3948             paths => [[ {}, "_insights", "top_queries" ]],
3949             qs => {
3950             # Endpoint specific query parameters
3951             'type' => 'string',
3952             # Common API query parameters
3953             'error_trace' => 'boolean',
3954             'filter_path' => 'list',
3955             'human' => 'boolean',
3956             'pretty' => 'boolean',
3957             'source' => 'string',
3958             },
3959             },
3960              
3961             'ism.add_policy' => {
3962             body => {},
3963             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#add-policy',
3964             method => 'POST',
3965             parts => { index => {}},
3966             paths => [
3967             [ { index => 3 }, "_plugins", "_ism", "add", "{index}" ],
3968             [ {}, "_plugins", "_ism", "add" ]
3969             ],
3970             qs => {
3971             # Endpoint specific query parameters
3972             'index' => 'string',
3973             # Common API query parameters
3974             'error_trace' => 'boolean',
3975             'filter_path' => 'list',
3976             'human' => 'boolean',
3977             'pretty' => 'boolean',
3978             'source' => 'string',
3979             },
3980             },
3981              
3982             'ism.change_policy' => {
3983             body => {},
3984             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#update-managed-index-policy',
3985             method => 'POST',
3986             parts => { index => {}},
3987             paths => [
3988             [ { index => 3 }, "_plugins", "_ism", "change_policy", "{index}" ],
3989             [ {}, "_plugins", "_ism", "change_policy" ]
3990             ],
3991             qs => {
3992             # Endpoint specific query parameters
3993             'index' => 'string',
3994             # Common API query parameters
3995             'error_trace' => 'boolean',
3996             'filter_path' => 'list',
3997             'human' => 'boolean',
3998             'pretty' => 'boolean',
3999             'source' => 'string',
4000             },
4001             },
4002              
4003             'ism.delete_policy' => {
4004             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#delete-policy',
4005             method => 'DELETE',
4006             parts => { policy_id => { required => 1 }},
4007             paths => [[ { policy_id => 3 }, "_plugins", "_ism", "policies", "{policy_id}" ]],
4008             qs => {
4009             # Common API query parameters
4010             'error_trace' => 'boolean',
4011             'filter_path' => 'list',
4012             'human' => 'boolean',
4013             'pretty' => 'boolean',
4014             'source' => 'string',
4015             },
4016             },
4017              
4018             'ism.exists_policy' => {
4019             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#get-policy',
4020             method => 'HEAD',
4021             parts => { policy_id => { required => 1 }},
4022             paths => [[ { policy_id => 3 }, "_plugins", "_ism", "policies", "{policy_id}" ]],
4023             qs => {
4024             # Common API query parameters
4025             'error_trace' => 'boolean',
4026             'filter_path' => 'list',
4027             'human' => 'boolean',
4028             'pretty' => 'boolean',
4029             'source' => 'string',
4030             },
4031             },
4032              
4033             'ism.explain_policy' => {
4034             body => {},
4035             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#explain-index',
4036             ## ENDPOINT HAS ALTERNATE METHOD
4037             method => 'detect',
4038             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
4039             parts => { index => {}},
4040             paths => [
4041             [ { index => 3 }, "_plugins", "_ism", "explain", "{index}" ],
4042             [ {}, "_plugins", "_ism", "explain" ]
4043             ],
4044             qs => {
4045             # Common API query parameters
4046             'error_trace' => 'boolean',
4047             'filter_path' => 'list',
4048             'human' => 'boolean',
4049             'pretty' => 'boolean',
4050             'source' => 'string',
4051             },
4052             },
4053              
4054             'ism.get_policies' => {
4055             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#get-policy',
4056             method => 'GET',
4057             parts => {},
4058             paths => [[ {}, "_plugins", "_ism", "policies" ]],
4059             qs => {
4060             # Common API query parameters
4061             'error_trace' => 'boolean',
4062             'filter_path' => 'list',
4063             'human' => 'boolean',
4064             'pretty' => 'boolean',
4065             'source' => 'string',
4066             },
4067             },
4068              
4069             'ism.get_policy' => {
4070             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#put-policy',
4071             method => 'GET',
4072             parts => { policy_id => { required => 1 }},
4073             paths => [[ { policy_id => 3 }, "_plugins", "_ism", "policies", "{policy_id}" ]],
4074             qs => {
4075             # Common API query parameters
4076             'error_trace' => 'boolean',
4077             'filter_path' => 'list',
4078             'human' => 'boolean',
4079             'pretty' => 'boolean',
4080             'source' => 'string',
4081             },
4082             },
4083              
4084             'ism.put_policies' => {
4085             body => {},
4086             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#create-policy',
4087             method => 'PUT',
4088             parts => {},
4089             paths => [[ {}, "_plugins", "_ism", "policies" ]],
4090             qs => {
4091             # Endpoint specific query parameters
4092             'if_primary_term' => 'number',
4093             'if_seq_no' => 'number',
4094             'policyID' => 'string',
4095             # Common API query parameters
4096             'error_trace' => 'boolean',
4097             'filter_path' => 'list',
4098             'human' => 'boolean',
4099             'pretty' => 'boolean',
4100             'source' => 'string',
4101             },
4102             },
4103              
4104             'ism.put_policy' => {
4105             body => {},
4106             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#create-policy',
4107             method => 'PUT',
4108             parts => { policy_id => { required => 1 }},
4109             paths => [[ { policy_id => 3 }, "_plugins", "_ism", "policies", "{policy_id}" ]],
4110             qs => {
4111             # Endpoint specific query parameters
4112             'if_primary_term' => 'number',
4113             'if_seq_no' => 'number',
4114             # Common API query parameters
4115             'error_trace' => 'boolean',
4116             'filter_path' => 'list',
4117             'human' => 'boolean',
4118             'pretty' => 'boolean',
4119             'source' => 'string',
4120             },
4121             },
4122              
4123             'ism.refresh_search_analyzers' => {
4124             doc => 'https://opensearch.org/docs/latest/im-plugin/refresh-analyzer/',
4125             method => 'POST',
4126             parts => { index => { required => 1 }},
4127             paths => [[ { index => 2 }, "_plugins", "_refresh_search_analyzers", "{index}" ]],
4128             qs => {
4129             # Common API query parameters
4130             'error_trace' => 'boolean',
4131             'filter_path' => 'list',
4132             'human' => 'boolean',
4133             'pretty' => 'boolean',
4134             'source' => 'string',
4135             },
4136             },
4137              
4138             'ism.remove_policy' => {
4139             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#remove-policy',
4140             method => 'POST',
4141             parts => { index => {}},
4142             paths => [
4143             [ { index => 3 }, "_plugins", "_ism", "remove", "{index}" ],
4144             [ {}, "_plugins", "_ism", "remove" ]
4145             ],
4146             qs => {
4147             # Endpoint specific query parameters
4148             'index' => 'string',
4149             # Common API query parameters
4150             'error_trace' => 'boolean',
4151             'filter_path' => 'list',
4152             'human' => 'boolean',
4153             'pretty' => 'boolean',
4154             'source' => 'string',
4155             },
4156             },
4157              
4158             'ism.retry_index' => {
4159             body => {},
4160             doc => 'https://opensearch.org/docs/latest/im-plugin/ism/api/#retry-failed-index',
4161             method => 'POST',
4162             parts => { index => {}},
4163             paths => [
4164             [ { index => 3 }, "_plugins", "_ism", "retry", "{index}" ],
4165             [ {}, "_plugins", "_ism", "retry" ]
4166             ],
4167             qs => {
4168             # Endpoint specific query parameters
4169             'index' => 'string',
4170             # Common API query parameters
4171             'error_trace' => 'boolean',
4172             'filter_path' => 'list',
4173             'human' => 'boolean',
4174             'pretty' => 'boolean',
4175             'source' => 'string',
4176             },
4177             },
4178              
4179             'knn.delete_model' => {
4180             doc => 'https://docs.opensearch.org/latest/vector-search/api/knn/#delete-a-model',
4181             method => 'DELETE',
4182             parts => { model_id => { required => 1 }},
4183             paths => [[ { model_id => 3 }, "_plugins", "_knn", "models", "{model_id}" ]],
4184             qs => {
4185             # Common API query parameters
4186             'error_trace' => 'boolean',
4187             'filter_path' => 'list',
4188             'human' => 'boolean',
4189             'pretty' => 'boolean',
4190             'source' => 'string',
4191             },
4192             },
4193              
4194             'knn.get_model' => {
4195             doc => 'https://docs.opensearch.org/latest/vector-search/api/knn/#get-a-model',
4196             method => 'GET',
4197             parts => { model_id => { required => 1 }},
4198             paths => [[ { model_id => 3 }, "_plugins", "_knn", "models", "{model_id}" ]],
4199             qs => {
4200             # Common API query parameters
4201             'error_trace' => 'boolean',
4202             'filter_path' => 'list',
4203             'human' => 'boolean',
4204             'pretty' => 'boolean',
4205             'source' => 'string',
4206             },
4207             },
4208              
4209             'knn.search_models' => {
4210             body => {},
4211             doc => 'https://docs.opensearch.org/latest/vector-search/api/knn/#search-for-a-model',
4212             ## ENDPOINT HAS ALTERNATE METHOD
4213             method => 'detect',
4214             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
4215             parts => {},
4216             paths => [[ {}, "_plugins", "_knn", "models", "_search" ]],
4217             qs => {
4218             # Endpoint specific query parameters
4219             '_source' => 'list',
4220             '_source_excludes' => 'list',
4221             '_source_includes' => 'list',
4222             'allow_no_indices' => 'boolean',
4223             'allow_partial_search_results' => 'boolean',
4224             'analyze_wildcard' => 'boolean',
4225             'analyzer' => 'string',
4226             'batched_reduce_size' => 'number',
4227             'ccs_minimize_roundtrips' => 'boolean',
4228             'default_operator' => 'string',
4229             'df' => 'string',
4230             'docvalue_fields' => 'list',
4231             'expand_wildcards' => 'list',
4232             'explain' => 'boolean',
4233             'from' => 'number',
4234             'ignore_throttled' => 'boolean',
4235             'ignore_unavailable' => 'boolean',
4236             'lenient' => 'boolean',
4237             'max_concurrent_shard_requests' => 'number',
4238             'pre_filter_shard_size' => 'number',
4239             'preference' => 'string',
4240             'q' => 'string',
4241             'request_cache' => 'boolean',
4242             'rest_total_hits_as_int' => 'boolean',
4243             'routing' => 'list',
4244             'scroll' => 'string',
4245             'search_type' => 'string',
4246             'seq_no_primary_term' => 'boolean',
4247             'size' => 'number',
4248             'sort' => 'list',
4249             'stats' => 'list',
4250             'stored_fields' => 'list',
4251             'suggest_field' => 'string',
4252             'suggest_mode' => 'string',
4253             'suggest_size' => 'number',
4254             'suggest_text' => 'string',
4255             'terminate_after' => 'number',
4256             'timeout' => 'string',
4257             'track_scores' => 'boolean',
4258             'track_total_hits' => 'boolean',
4259             'typed_keys' => 'boolean',
4260             'version' => 'boolean',
4261             # Common API query parameters
4262             'error_trace' => 'boolean',
4263             'filter_path' => 'list',
4264             'human' => 'boolean',
4265             'pretty' => 'boolean',
4266             'source' => 'string',
4267             },
4268             },
4269              
4270             'knn.stats' => {
4271             doc => 'https://docs.opensearch.org/latest/vector-search/api/knn/#stats',
4272             method => 'GET',
4273             parts => { node_id => { multi => 1 }, stat => { multi => 1 }},
4274             paths => [
4275             [ { node_id => 2, stat => 4 }, "_plugins", "_knn", "{node_id}", "stats", "{stat}" ],
4276             [ { stat => 3 }, "_plugins", "_knn", "stats", "{stat}" ],
4277             [ { node_id => 2 }, "_plugins", "_knn", "{node_id}", "stats" ],
4278             [ {}, "_plugins", "_knn", "stats" ]
4279             ],
4280             qs => {
4281             # Endpoint specific query parameters
4282             'timeout' => 'string',
4283             # Common API query parameters
4284             'error_trace' => 'boolean',
4285             'filter_path' => 'list',
4286             'human' => 'boolean',
4287             'pretty' => 'boolean',
4288             'source' => 'string',
4289             },
4290             },
4291              
4292             'knn.train_model' => {
4293             body => {},
4294             doc => 'https://docs.opensearch.org/latest/vector-search/api/knn/#train-a-model',
4295             method => 'POST',
4296             parts => { model_id => {}},
4297             paths => [
4298             [ { model_id => 3 }, "_plugins", "_knn", "models", "{model_id}", "_train" ],
4299             [ {}, "_plugins", "_knn", "models", "_train" ]
4300             ],
4301             qs => {
4302             # Endpoint specific query parameters
4303             'preference' => 'string',
4304             # Common API query parameters
4305             'error_trace' => 'boolean',
4306             'filter_path' => 'list',
4307             'human' => 'boolean',
4308             'pretty' => 'boolean',
4309             'source' => 'string',
4310             },
4311             },
4312              
4313             'knn.warmup' => {
4314             doc => 'https://docs.opensearch.org/latest/vector-search/api/knn/#warmup-operation',
4315             method => 'GET',
4316             parts => { index => { multi => 1, required => 1 }},
4317             paths => [[ { index => 3 }, "_plugins", "_knn", "warmup", "{index}" ]],
4318             qs => {
4319             # Common API query parameters
4320             'error_trace' => 'boolean',
4321             'filter_path' => 'list',
4322             'human' => 'boolean',
4323             'pretty' => 'boolean',
4324             'source' => 'string',
4325             },
4326             },
4327              
4328             'list.help' => {
4329             doc => 'https://opensearch.org/docs/latest/api-reference/list/index/',
4330             method => 'GET',
4331             parts => {},
4332             paths => [[ {}, "_list" ]],
4333             qs => {
4334             # Common API query parameters
4335             'error_trace' => 'boolean',
4336             'filter_path' => 'list',
4337             'human' => 'boolean',
4338             'pretty' => 'boolean',
4339             'source' => 'string',
4340             },
4341             },
4342              
4343             'list.indices' => {
4344             doc => 'https://opensearch.org/docs/latest/api-reference/list/list-indices/',
4345             method => 'GET',
4346             parts => { index => { multi => 1 }},
4347             paths => [
4348             [ { index => 2 }, "_list", "indices", "{index}" ],
4349             [ {}, "_list", "indices" ]
4350             ],
4351             qs => {
4352             # Endpoint specific query parameters
4353             'bytes' => 'string',
4354             'cluster_manager_timeout' => 'string',
4355             'expand_wildcards' => 'list',
4356             'format' => 'string',
4357             'h' => 'list',
4358             'health' => 'string',
4359             'help' => 'boolean',
4360             'include_unloaded_segments' => 'boolean',
4361             'local' => 'boolean',
4362             'master_timeout' => 'string',
4363             'next_token' => 'string',
4364             'pri' => 'boolean',
4365             's' => 'list',
4366             'size' => 'number',
4367             'sort' => 'string',
4368             'time' => 'string',
4369             'v' => 'boolean',
4370             # Common API query parameters
4371             'error_trace' => 'boolean',
4372             'filter_path' => 'list',
4373             'human' => 'boolean',
4374             'pretty' => 'boolean',
4375             'source' => 'string',
4376             },
4377             },
4378              
4379             'list.shards' => {
4380             doc => 'https://opensearch.org/docs/latest/api-reference/list/list-shards/',
4381             method => 'GET',
4382             parts => { index => { multi => 1 }},
4383             paths => [
4384             [ { index => 2 }, "_list", "shards", "{index}" ],
4385             [ {}, "_list", "shards" ]
4386             ],
4387             qs => {
4388             # Endpoint specific query parameters
4389             'bytes' => 'string',
4390             'cluster_manager_timeout' => 'string',
4391             'format' => 'string',
4392             'h' => 'list',
4393             'help' => 'boolean',
4394             'local' => 'boolean',
4395             'master_timeout' => 'string',
4396             'next_token' => 'string',
4397             's' => 'list',
4398             'size' => 'number',
4399             'sort' => 'string',
4400             'time' => 'string',
4401             'v' => 'boolean',
4402             # Common API query parameters
4403             'error_trace' => 'boolean',
4404             'filter_path' => 'list',
4405             'human' => 'boolean',
4406             'pretty' => 'boolean',
4407             'source' => 'string',
4408             },
4409             },
4410              
4411             'ltr.add_features_to_set' => {
4412             body => {},
4413             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4414             method => 'POST',
4415             parts => { name => { required => 1 }, store => {}},
4416             paths => [
4417             [ { store => 1, name => 3 }, "_ltr", "{store}", "_featureset", "{name}", "_addfeatures" ],
4418             [ { name => 2 }, "_ltr", "_featureset", "{name}", "_addfeatures" ]
4419             ],
4420             qs => {
4421             # Endpoint specific query parameters
4422             'merge' => 'boolean',
4423             'routing' => 'string',
4424             'version' => 'number',
4425             # Common API query parameters
4426             'error_trace' => 'boolean',
4427             'filter_path' => 'list',
4428             'human' => 'boolean',
4429             'pretty' => 'boolean',
4430             'source' => 'string',
4431             },
4432             },
4433              
4434             'ltr.add_features_to_set_by_query' => {
4435             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4436             method => 'POST',
4437             parts => { name => { required => 1 }, query => { required => 1 }, store => {}},
4438             paths => [
4439             [ { store => 1, name => 3, query => 5 }, "_ltr", "{store}", "_featureset", "{name}", "_addfeatures", "{query}" ],
4440             [ { name => 2, query => 4 }, "_ltr", "_featureset", "{name}", "_addfeatures", "{query}" ]
4441             ],
4442             qs => {
4443             # Endpoint specific query parameters
4444             'merge' => 'boolean',
4445             'routing' => 'string',
4446             'version' => 'number',
4447             # Common API query parameters
4448             'error_trace' => 'boolean',
4449             'filter_path' => 'list',
4450             'human' => 'boolean',
4451             'pretty' => 'boolean',
4452             'source' => 'string',
4453             },
4454             },
4455              
4456             'ltr.cache_stats' => {
4457             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4458             method => 'GET',
4459             parts => {},
4460             paths => [[ {}, "_ltr", "_cachestats" ]],
4461             qs => {
4462             # Common API query parameters
4463             'error_trace' => 'boolean',
4464             'filter_path' => 'list',
4465             'human' => 'boolean',
4466             'pretty' => 'boolean',
4467             'source' => 'string',
4468             },
4469             },
4470              
4471             'ltr.clear_cache' => {
4472             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4473             method => 'POST',
4474             parts => { store => {}},
4475             paths => [
4476             [ { store => 1 }, "_ltr", "{store}", "_clearcache" ],
4477             [ {}, "_ltr", "_clearcache" ]
4478             ],
4479             qs => {
4480             # Common API query parameters
4481             'error_trace' => 'boolean',
4482             'filter_path' => 'list',
4483             'human' => 'boolean',
4484             'pretty' => 'boolean',
4485             'source' => 'string',
4486             },
4487             },
4488              
4489             'ltr.create_default_store' => {
4490             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4491             method => 'PUT',
4492             parts => {},
4493             paths => [[ {}, "_ltr" ]],
4494             qs => {
4495             # Common API query parameters
4496             'error_trace' => 'boolean',
4497             'filter_path' => 'list',
4498             'human' => 'boolean',
4499             'pretty' => 'boolean',
4500             'source' => 'string',
4501             },
4502             },
4503              
4504             'ltr.create_feature' => {
4505             body => {},
4506             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4507             method => 'PUT',
4508             parts => { id => { required => 1 }, store => {}},
4509             paths => [
4510             [ { store => 1, id => 3 }, "_ltr", "{store}", "_feature", "{id}" ],
4511             [ { id => 2 }, "_ltr", "_feature", "{id}" ]
4512             ],
4513             qs => {
4514             # Endpoint specific query parameters
4515             'routing' => 'string',
4516             # Common API query parameters
4517             'error_trace' => 'boolean',
4518             'filter_path' => 'list',
4519             'human' => 'boolean',
4520             'pretty' => 'boolean',
4521             'source' => 'string',
4522             },
4523             },
4524              
4525             'ltr.create_featureset' => {
4526             body => {},
4527             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4528             method => 'PUT',
4529             parts => { id => { required => 1 }, store => {}},
4530             paths => [
4531             [ { store => 1, id => 3 }, "_ltr", "{store}", "_featureset", "{id}" ],
4532             [ { id => 2 }, "_ltr", "_featureset", "{id}" ]
4533             ],
4534             qs => {
4535             # Endpoint specific query parameters
4536             'routing' => 'string',
4537             # Common API query parameters
4538             'error_trace' => 'boolean',
4539             'filter_path' => 'list',
4540             'human' => 'boolean',
4541             'pretty' => 'boolean',
4542             'source' => 'string',
4543             },
4544             },
4545              
4546             'ltr.create_model' => {
4547             body => {},
4548             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4549             method => 'PUT',
4550             parts => { id => { required => 1 }, store => {}},
4551             paths => [
4552             [ { store => 1, id => 3 }, "_ltr", "{store}", "_model", "{id}" ],
4553             [ { id => 2 }, "_ltr", "_model", "{id}" ]
4554             ],
4555             qs => {
4556             # Endpoint specific query parameters
4557             'routing' => 'string',
4558             # Common API query parameters
4559             'error_trace' => 'boolean',
4560             'filter_path' => 'list',
4561             'human' => 'boolean',
4562             'pretty' => 'boolean',
4563             'source' => 'string',
4564             },
4565             },
4566              
4567             'ltr.create_model_from_set' => {
4568             body => {},
4569             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4570             method => 'POST',
4571             parts => { name => { required => 1 }, store => {}},
4572             paths => [
4573             [ { store => 1, name => 3 }, "_ltr", "{store}", "_featureset", "{name}", "_createmodel" ],
4574             [ { name => 2 }, "_ltr", "_featureset", "{name}", "_createmodel" ]
4575             ],
4576             qs => {
4577             # Endpoint specific query parameters
4578             'routing' => 'string',
4579             # Common API query parameters
4580             'error_trace' => 'boolean',
4581             'filter_path' => 'list',
4582             'human' => 'boolean',
4583             'pretty' => 'boolean',
4584             'source' => 'string',
4585             },
4586             },
4587              
4588             'ltr.create_store' => {
4589             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4590             method => 'PUT',
4591             parts => { store => { required => 1 }},
4592             paths => [[ { store => 1 }, "_ltr", "{store}" ]],
4593             qs => {
4594             # Common API query parameters
4595             'error_trace' => 'boolean',
4596             'filter_path' => 'list',
4597             'human' => 'boolean',
4598             'pretty' => 'boolean',
4599             'source' => 'string',
4600             },
4601             },
4602              
4603             'ltr.delete_default_store' => {
4604             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4605             method => 'DELETE',
4606             parts => {},
4607             paths => [[ {}, "_ltr" ]],
4608             qs => {
4609             # Common API query parameters
4610             'error_trace' => 'boolean',
4611             'filter_path' => 'list',
4612             'human' => 'boolean',
4613             'pretty' => 'boolean',
4614             'source' => 'string',
4615             },
4616             },
4617              
4618             'ltr.delete_feature' => {
4619             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4620             method => 'DELETE',
4621             parts => { id => { required => 1 }, store => {}},
4622             paths => [
4623             [ { store => 1, id => 3 }, "_ltr", "{store}", "_feature", "{id}" ],
4624             [ { id => 2 }, "_ltr", "_feature", "{id}" ]
4625             ],
4626             qs => {
4627             # Common API query parameters
4628             'error_trace' => 'boolean',
4629             'filter_path' => 'list',
4630             'human' => 'boolean',
4631             'pretty' => 'boolean',
4632             'source' => 'string',
4633             },
4634             },
4635              
4636             'ltr.delete_featureset' => {
4637             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4638             method => 'DELETE',
4639             parts => { id => { required => 1 }, store => {}},
4640             paths => [
4641             [ { store => 1, id => 3 }, "_ltr", "{store}", "_featureset", "{id}" ],
4642             [ { id => 2 }, "_ltr", "_featureset", "{id}" ]
4643             ],
4644             qs => {
4645             # Common API query parameters
4646             'error_trace' => 'boolean',
4647             'filter_path' => 'list',
4648             'human' => 'boolean',
4649             'pretty' => 'boolean',
4650             'source' => 'string',
4651             },
4652             },
4653              
4654             'ltr.delete_model' => {
4655             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4656             method => 'DELETE',
4657             parts => { id => { required => 1 }, store => {}},
4658             paths => [
4659             [ { store => 1, id => 3 }, "_ltr", "{store}", "_model", "{id}" ],
4660             [ { id => 2 }, "_ltr", "_model", "{id}" ]
4661             ],
4662             qs => {
4663             # Common API query parameters
4664             'error_trace' => 'boolean',
4665             'filter_path' => 'list',
4666             'human' => 'boolean',
4667             'pretty' => 'boolean',
4668             'source' => 'string',
4669             },
4670             },
4671              
4672             'ltr.delete_store' => {
4673             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4674             method => 'DELETE',
4675             parts => { store => { required => 1 }},
4676             paths => [[ { store => 1 }, "_ltr", "{store}" ]],
4677             qs => {
4678             # Common API query parameters
4679             'error_trace' => 'boolean',
4680             'filter_path' => 'list',
4681             'human' => 'boolean',
4682             'pretty' => 'boolean',
4683             'source' => 'string',
4684             },
4685             },
4686              
4687             'ltr.get_feature' => {
4688             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4689             method => 'GET',
4690             parts => { id => { required => 1 }, store => {}},
4691             paths => [
4692             [ { store => 1, id => 3 }, "_ltr", "{store}", "_feature", "{id}" ],
4693             [ { id => 2 }, "_ltr", "_feature", "{id}" ]
4694             ],
4695             qs => {
4696             # Common API query parameters
4697             'error_trace' => 'boolean',
4698             'filter_path' => 'list',
4699             'human' => 'boolean',
4700             'pretty' => 'boolean',
4701             'source' => 'string',
4702             },
4703             },
4704              
4705             'ltr.get_featureset' => {
4706             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4707             method => 'GET',
4708             parts => { id => { required => 1 }, store => {}},
4709             paths => [
4710             [ { store => 1, id => 3 }, "_ltr", "{store}", "_featureset", "{id}" ],
4711             [ { id => 2 }, "_ltr", "_featureset", "{id}" ]
4712             ],
4713             qs => {
4714             # Common API query parameters
4715             'error_trace' => 'boolean',
4716             'filter_path' => 'list',
4717             'human' => 'boolean',
4718             'pretty' => 'boolean',
4719             'source' => 'string',
4720             },
4721             },
4722              
4723             'ltr.get_model' => {
4724             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4725             method => 'GET',
4726             parts => { id => { required => 1 }, store => {}},
4727             paths => [
4728             [ { store => 1, id => 3 }, "_ltr", "{store}", "_model", "{id}" ],
4729             [ { id => 2 }, "_ltr", "_model", "{id}" ]
4730             ],
4731             qs => {
4732             # Common API query parameters
4733             'error_trace' => 'boolean',
4734             'filter_path' => 'list',
4735             'human' => 'boolean',
4736             'pretty' => 'boolean',
4737             'source' => 'string',
4738             },
4739             },
4740              
4741             'ltr.get_store' => {
4742             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4743             method => 'GET',
4744             parts => { store => { required => 1 }},
4745             paths => [[ { store => 1 }, "_ltr", "{store}" ]],
4746             qs => {
4747             # Common API query parameters
4748             'error_trace' => 'boolean',
4749             'filter_path' => 'list',
4750             'human' => 'boolean',
4751             'pretty' => 'boolean',
4752             'source' => 'string',
4753             },
4754             },
4755              
4756             'ltr.list_stores' => {
4757             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4758             method => 'GET',
4759             parts => {},
4760             paths => [[ {}, "_ltr" ]],
4761             qs => {
4762             # Common API query parameters
4763             'error_trace' => 'boolean',
4764             'filter_path' => 'list',
4765             'human' => 'boolean',
4766             'pretty' => 'boolean',
4767             'source' => 'string',
4768             },
4769             },
4770              
4771             'ltr.search_features' => {
4772             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4773             method => 'GET',
4774             parts => { store => {}},
4775             paths => [
4776             [ { store => 1 }, "_ltr", "{store}", "_feature" ],
4777             [ {}, "_ltr", "_feature" ]
4778             ],
4779             qs => {
4780             # Endpoint specific query parameters
4781             'from' => 'number',
4782             'prefix' => 'string',
4783             'size' => 'number',
4784             # Common API query parameters
4785             'error_trace' => 'boolean',
4786             'filter_path' => 'list',
4787             'human' => 'boolean',
4788             'pretty' => 'boolean',
4789             'source' => 'string',
4790             },
4791             },
4792              
4793             'ltr.search_featuresets' => {
4794             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4795             method => 'GET',
4796             parts => { store => {}},
4797             paths => [
4798             [ { store => 1 }, "_ltr", "{store}", "_featureset" ],
4799             [ {}, "_ltr", "_featureset" ]
4800             ],
4801             qs => {
4802             # Endpoint specific query parameters
4803             'from' => 'number',
4804             'prefix' => 'string',
4805             'size' => 'number',
4806             # Common API query parameters
4807             'error_trace' => 'boolean',
4808             'filter_path' => 'list',
4809             'human' => 'boolean',
4810             'pretty' => 'boolean',
4811             'source' => 'string',
4812             },
4813             },
4814              
4815             'ltr.search_models' => {
4816             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4817             method => 'GET',
4818             parts => { store => {}},
4819             paths => [
4820             [ { store => 1 }, "_ltr", "{store}", "_model" ],
4821             [ {}, "_ltr", "_model" ]
4822             ],
4823             qs => {
4824             # Endpoint specific query parameters
4825             'from' => 'number',
4826             'prefix' => 'string',
4827             'size' => 'number',
4828             # Common API query parameters
4829             'error_trace' => 'boolean',
4830             'filter_path' => 'list',
4831             'human' => 'boolean',
4832             'pretty' => 'boolean',
4833             'source' => 'string',
4834             },
4835             },
4836              
4837             'ltr.stats' => {
4838             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4839             method => 'GET',
4840             parts => { node_id => { multi => 1 }, stat => { multi => 1 }},
4841             paths => [
4842             [ { node_id => 2, stat => 4 }, "_plugins", "_ltr", "{node_id}", "stats", "{stat}" ],
4843             [ { stat => 3 }, "_plugins", "_ltr", "stats", "{stat}" ],
4844             [ { node_id => 2 }, "_plugins", "_ltr", "{node_id}", "stats" ],
4845             [ {}, "_plugins", "_ltr", "stats" ]
4846             ],
4847             qs => {
4848             # Endpoint specific query parameters
4849             'timeout' => 'string',
4850             # Common API query parameters
4851             'error_trace' => 'boolean',
4852             'filter_path' => 'list',
4853             'human' => 'boolean',
4854             'pretty' => 'boolean',
4855             'source' => 'string',
4856             },
4857             },
4858              
4859             'ltr.update_feature' => {
4860             body => {},
4861             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4862             method => 'POST',
4863             parts => { id => { required => 1 }, store => {}},
4864             paths => [
4865             [ { store => 1, id => 3 }, "_ltr", "{store}", "_feature", "{id}" ],
4866             [ { id => 2 }, "_ltr", "_feature", "{id}" ]
4867             ],
4868             qs => {
4869             # Endpoint specific query parameters
4870             'routing' => 'string',
4871             # Common API query parameters
4872             'error_trace' => 'boolean',
4873             'filter_path' => 'list',
4874             'human' => 'boolean',
4875             'pretty' => 'boolean',
4876             'source' => 'string',
4877             },
4878             },
4879              
4880             'ltr.update_featureset' => {
4881             body => {},
4882             doc => 'https://docs.opensearch.org/latest/search-plugins/ltr/index/',
4883             method => 'POST',
4884             parts => { id => { required => 1 }, store => {}},
4885             paths => [
4886             [ { store => 1, id => 3 }, "_ltr", "{store}", "_featureset", "{id}" ],
4887             [ { id => 2 }, "_ltr", "_featureset", "{id}" ]
4888             ],
4889             qs => {
4890             # Endpoint specific query parameters
4891             'routing' => 'string',
4892             # Common API query parameters
4893             'error_trace' => 'boolean',
4894             'filter_path' => 'list',
4895             'human' => 'boolean',
4896             'pretty' => 'boolean',
4897             'source' => 'string',
4898             },
4899             },
4900              
4901             'ml.add_agentic_memory' => {
4902             body => {},
4903             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
4904             method => 'POST',
4905             parts => { memory_container_id => { required => 1 }},
4906             paths => [[ { memory_container_id => 3 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}", "memories" ]],
4907             qs => {
4908             # Common API query parameters
4909             'error_trace' => 'boolean',
4910             'filter_path' => 'list',
4911             'human' => 'boolean',
4912             'pretty' => 'boolean',
4913             'source' => 'string',
4914             },
4915             },
4916              
4917             'ml.chunk_model' => {
4918             body => {},
4919             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
4920             method => 'POST',
4921             parts => { chunk_number => { required => 1 }, model_id => { required => 1 }},
4922             paths => [[ { model_id => 3, chunk_number => 5 }, "_plugins", "_ml", "models", "{model_id}", "chunk", "{chunk_number}" ]],
4923             qs => {
4924             # Common API query parameters
4925             'error_trace' => 'boolean',
4926             'filter_path' => 'list',
4927             'human' => 'boolean',
4928             'pretty' => 'boolean',
4929             'source' => 'string',
4930             },
4931             },
4932              
4933             'ml.create_connector' => {
4934             body => {},
4935             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
4936             method => 'POST',
4937             parts => {},
4938             paths => [[ {}, "_plugins", "_ml", "connectors", "_create" ]],
4939             qs => {
4940             # Common API query parameters
4941             'error_trace' => 'boolean',
4942             'filter_path' => 'list',
4943             'human' => 'boolean',
4944             'pretty' => 'boolean',
4945             'source' => 'string',
4946             },
4947             },
4948              
4949             'ml.create_controller' => {
4950             body => {},
4951             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
4952             method => 'POST',
4953             parts => { model_id => { required => 1 }},
4954             paths => [[ { model_id => 3 }, "_plugins", "_ml", "controllers", "{model_id}" ]],
4955             qs => {
4956             # Common API query parameters
4957             'error_trace' => 'boolean',
4958             'filter_path' => 'list',
4959             'human' => 'boolean',
4960             'pretty' => 'boolean',
4961             'source' => 'string',
4962             },
4963             },
4964              
4965             'ml.create_memory' => {
4966             body => {},
4967             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
4968             method => 'POST',
4969             parts => {},
4970             paths => [[ {}, "_plugins", "_ml", "memory" ]],
4971             qs => {
4972             # Common API query parameters
4973             'error_trace' => 'boolean',
4974             'filter_path' => 'list',
4975             'human' => 'boolean',
4976             'pretty' => 'boolean',
4977             'source' => 'string',
4978             },
4979             },
4980              
4981             'ml.create_memory_container' => {
4982             body => {},
4983             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
4984             method => 'POST',
4985             parts => {},
4986             paths => [[ {}, "_plugins", "_ml", "memory_containers", "_create" ]],
4987             qs => {
4988             # Common API query parameters
4989             'error_trace' => 'boolean',
4990             'filter_path' => 'list',
4991             'human' => 'boolean',
4992             'pretty' => 'boolean',
4993             'source' => 'string',
4994             },
4995             },
4996              
4997             'ml.create_memory_container_session' => {
4998             body => {},
4999             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5000             method => 'POST',
5001             parts => { memory_container_id => { required => 1 }},
5002             paths => [[ { memory_container_id => 3 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}", "memories", "sessions" ]],
5003             qs => {
5004             # Common API query parameters
5005             'error_trace' => 'boolean',
5006             'filter_path' => 'list',
5007             'human' => 'boolean',
5008             'pretty' => 'boolean',
5009             'source' => 'string',
5010             },
5011             },
5012              
5013             'ml.create_message' => {
5014             body => {},
5015             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5016             method => 'POST',
5017             parts => { memory_id => { required => 1 }},
5018             paths => [[ { memory_id => 3 }, "_plugins", "_ml", "memory", "{memory_id}", "messages" ]],
5019             qs => {
5020             # Common API query parameters
5021             'error_trace' => 'boolean',
5022             'filter_path' => 'list',
5023             'human' => 'boolean',
5024             'pretty' => 'boolean',
5025             'source' => 'string',
5026             },
5027             },
5028              
5029             'ml.create_model_meta' => {
5030             body => {},
5031             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5032             method => 'POST',
5033             parts => {},
5034             paths => [[ {}, "_plugins", "_ml", "models", "meta" ]],
5035             qs => {
5036             # Common API query parameters
5037             'error_trace' => 'boolean',
5038             'filter_path' => 'list',
5039             'human' => 'boolean',
5040             'pretty' => 'boolean',
5041             'source' => 'string',
5042             },
5043             },
5044              
5045             'ml.delete_agent' => {
5046             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5047             method => 'DELETE',
5048             parts => { agent_id => { required => 1 }},
5049             paths => [[ { agent_id => 3 }, "_plugins", "_ml", "agents", "{agent_id}" ]],
5050             qs => {
5051             # Common API query parameters
5052             'error_trace' => 'boolean',
5053             'filter_path' => 'list',
5054             'human' => 'boolean',
5055             'pretty' => 'boolean',
5056             'source' => 'string',
5057             },
5058             },
5059              
5060             'ml.delete_agentic_memory' => {
5061             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5062             method => 'DELETE',
5063             parts => { id => { required => 1 }, memory_container_id => { required => 1 }, type => { required => 1 }},
5064             paths => [[ { memory_container_id => 3, type => 5, id => 6 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}", "memories", "{type}", "{id}" ]],
5065             qs => {
5066             # Common API query parameters
5067             'error_trace' => 'boolean',
5068             'filter_path' => 'list',
5069             'human' => 'boolean',
5070             'pretty' => 'boolean',
5071             'source' => 'string',
5072             },
5073             },
5074              
5075             'ml.delete_agentic_memory_query' => {
5076             body => {},
5077             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5078             method => 'POST',
5079             parts => { memory_container_id => { required => 1 }, type => { required => 1 }},
5080             paths => [[ { memory_container_id => 3, type => 5 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}", "memories", "{type}", "_delete_by_query" ]],
5081             qs => {
5082             # Common API query parameters
5083             'error_trace' => 'boolean',
5084             'filter_path' => 'list',
5085             'human' => 'boolean',
5086             'pretty' => 'boolean',
5087             'source' => 'string',
5088             },
5089             },
5090              
5091             'ml.delete_connector' => {
5092             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5093             method => 'DELETE',
5094             parts => { connector_id => { required => 1 }},
5095             paths => [[ { connector_id => 3 }, "_plugins", "_ml", "connectors", "{connector_id}" ]],
5096             qs => {
5097             # Common API query parameters
5098             'error_trace' => 'boolean',
5099             'filter_path' => 'list',
5100             'human' => 'boolean',
5101             'pretty' => 'boolean',
5102             'source' => 'string',
5103             },
5104             },
5105              
5106             'ml.delete_controller' => {
5107             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5108             method => 'DELETE',
5109             parts => { model_id => { required => 1 }},
5110             paths => [[ { model_id => 3 }, "_plugins", "_ml", "controllers", "{model_id}" ]],
5111             qs => {
5112             # Common API query parameters
5113             'error_trace' => 'boolean',
5114             'filter_path' => 'list',
5115             'human' => 'boolean',
5116             'pretty' => 'boolean',
5117             'source' => 'string',
5118             },
5119             },
5120              
5121             'ml.delete_memory' => {
5122             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5123             method => 'DELETE',
5124             parts => { memory_id => { required => 1 }},
5125             paths => [[ { memory_id => 3 }, "_plugins", "_ml", "memory", "{memory_id}" ]],
5126             qs => {
5127             # Common API query parameters
5128             'error_trace' => 'boolean',
5129             'filter_path' => 'list',
5130             'human' => 'boolean',
5131             'pretty' => 'boolean',
5132             'source' => 'string',
5133             },
5134             },
5135              
5136             'ml.delete_memory_container' => {
5137             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5138             method => 'DELETE',
5139             parts => { memory_container_id => { required => 1 }},
5140             paths => [[ { memory_container_id => 3 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}" ]],
5141             qs => {
5142             # Endpoint specific query parameters
5143             'delete_all_memories' => 'boolean',
5144             'delete_memories' => 'list',
5145             # Common API query parameters
5146             'error_trace' => 'boolean',
5147             'filter_path' => 'list',
5148             'human' => 'boolean',
5149             'pretty' => 'boolean',
5150             'source' => 'string',
5151             },
5152             },
5153              
5154             'ml.delete_model' => {
5155             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5156             method => 'DELETE',
5157             parts => { model_id => { required => 1 }},
5158             paths => [[ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}" ]],
5159             qs => {
5160             # Common API query parameters
5161             'error_trace' => 'boolean',
5162             'filter_path' => 'list',
5163             'human' => 'boolean',
5164             'pretty' => 'boolean',
5165             'source' => 'string',
5166             },
5167             },
5168              
5169             'ml.delete_model_group' => {
5170             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5171             method => 'DELETE',
5172             parts => { model_group_id => { required => 1 }},
5173             paths => [[ { model_group_id => 3 }, "_plugins", "_ml", "model_groups", "{model_group_id}" ]],
5174             qs => {
5175             # Common API query parameters
5176             'error_trace' => 'boolean',
5177             'filter_path' => 'list',
5178             'human' => 'boolean',
5179             'pretty' => 'boolean',
5180             'source' => 'string',
5181             },
5182             },
5183              
5184             'ml.delete_task' => {
5185             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5186             method => 'DELETE',
5187             parts => { task_id => { required => 1 }},
5188             paths => [[ { task_id => 3 }, "_plugins", "_ml", "tasks", "{task_id}" ]],
5189             qs => {
5190             # Common API query parameters
5191             'error_trace' => 'boolean',
5192             'filter_path' => 'list',
5193             'human' => 'boolean',
5194             'pretty' => 'boolean',
5195             'source' => 'string',
5196             },
5197             },
5198              
5199             'ml.deploy_model' => {
5200             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5201             method => 'POST',
5202             parts => { model_id => { required => 1 }},
5203             paths => [[ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}", "_deploy" ]],
5204             qs => {
5205             # Common API query parameters
5206             'error_trace' => 'boolean',
5207             'filter_path' => 'list',
5208             'human' => 'boolean',
5209             'pretty' => 'boolean',
5210             'source' => 'string',
5211             },
5212             },
5213              
5214             'ml.execute_agent' => {
5215             body => {},
5216             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5217             method => 'POST',
5218             parts => { agent_id => { required => 1 }},
5219             paths => [[ { agent_id => 3 }, "_plugins", "_ml", "agents", "{agent_id}", "_execute" ]],
5220             qs => {
5221             # Common API query parameters
5222             'error_trace' => 'boolean',
5223             'filter_path' => 'list',
5224             'human' => 'boolean',
5225             'pretty' => 'boolean',
5226             'source' => 'string',
5227             },
5228             },
5229              
5230             'ml.execute_agent_stream' => {
5231             body => {},
5232             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5233             method => 'POST',
5234             parts => { agent_id => { required => 1 }},
5235             paths => [[ { agent_id => 3 }, "_plugins", "_ml", "agents", "{agent_id}", "_execute", "stream" ]],
5236             qs => {
5237             # Common API query parameters
5238             'error_trace' => 'boolean',
5239             'filter_path' => 'list',
5240             'human' => 'boolean',
5241             'pretty' => 'boolean',
5242             'source' => 'string',
5243             },
5244             },
5245              
5246             'ml.execute_algorithm' => {
5247             body => {},
5248             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5249             method => 'POST',
5250             parts => { algorithm_name => { required => 1 }},
5251             paths => [[ { algorithm_name => 3 }, "_plugins", "_ml", "_execute", "{algorithm_name}" ]],
5252             qs => {
5253             # Common API query parameters
5254             'error_trace' => 'boolean',
5255             'filter_path' => 'list',
5256             'human' => 'boolean',
5257             'pretty' => 'boolean',
5258             'source' => 'string',
5259             },
5260             },
5261              
5262             'ml.execute_tool' => {
5263             body => {},
5264             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5265             method => 'POST',
5266             parts => { tool_name => { required => 1 }},
5267             paths => [[ { tool_name => 4 }, "_plugins", "_ml", "tools", "_execute", "{tool_name}" ]],
5268             qs => {
5269             # Common API query parameters
5270             'error_trace' => 'boolean',
5271             'filter_path' => 'list',
5272             'human' => 'boolean',
5273             'pretty' => 'boolean',
5274             'source' => 'string',
5275             },
5276             },
5277              
5278             'ml.get_agent' => {
5279             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5280             method => 'GET',
5281             parts => { agent_id => { required => 1 }},
5282             paths => [[ { agent_id => 3 }, "_plugins", "_ml", "agents", "{agent_id}" ]],
5283             qs => {
5284             # Common API query parameters
5285             'error_trace' => 'boolean',
5286             'filter_path' => 'list',
5287             'human' => 'boolean',
5288             'pretty' => 'boolean',
5289             'source' => 'string',
5290             },
5291             },
5292              
5293             'ml.get_agentic_memory' => {
5294             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5295             method => 'GET',
5296             parts => { id => { required => 1 }, memory_container_id => { required => 1 }, type => { required => 1 }},
5297             paths => [[ { memory_container_id => 3, type => 5, id => 6 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}", "memories", "{type}", "{id}" ]],
5298             qs => {
5299             # Common API query parameters
5300             'error_trace' => 'boolean',
5301             'filter_path' => 'list',
5302             'human' => 'boolean',
5303             'pretty' => 'boolean',
5304             'source' => 'string',
5305             },
5306             },
5307              
5308             'ml.get_all_memories' => {
5309             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5310             method => 'GET',
5311             parts => {},
5312             paths => [[ {}, "_plugins", "_ml", "memory" ]],
5313             qs => {
5314             # Endpoint specific query parameters
5315             'max_results' => 'number',
5316             'next_token' => 'number',
5317             # Common API query parameters
5318             'error_trace' => 'boolean',
5319             'filter_path' => 'list',
5320             'human' => 'boolean',
5321             'pretty' => 'boolean',
5322             'source' => 'string',
5323             },
5324             },
5325              
5326             'ml.get_all_messages' => {
5327             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5328             method => 'GET',
5329             parts => { memory_id => { required => 1 }},
5330             paths => [[ { memory_id => 3 }, "_plugins", "_ml", "memory", "{memory_id}", "messages" ]],
5331             qs => {
5332             # Endpoint specific query parameters
5333             'max_results' => 'number',
5334             'next_token' => 'number',
5335             # Common API query parameters
5336             'error_trace' => 'boolean',
5337             'filter_path' => 'list',
5338             'human' => 'boolean',
5339             'pretty' => 'boolean',
5340             'source' => 'string',
5341             },
5342             },
5343              
5344             'ml.get_all_tools' => {
5345             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5346             method => 'GET',
5347             parts => {},
5348             paths => [[ {}, "_plugins", "_ml", "tools" ]],
5349             qs => {
5350             # Common API query parameters
5351             'error_trace' => 'boolean',
5352             'filter_path' => 'list',
5353             'human' => 'boolean',
5354             'pretty' => 'boolean',
5355             'source' => 'string',
5356             },
5357             },
5358              
5359             'ml.get_connector' => {
5360             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5361             method => 'GET',
5362             parts => { connector_id => { required => 1 }},
5363             paths => [[ { connector_id => 3 }, "_plugins", "_ml", "connectors", "{connector_id}" ]],
5364             qs => {
5365             # Common API query parameters
5366             'error_trace' => 'boolean',
5367             'filter_path' => 'list',
5368             'human' => 'boolean',
5369             'pretty' => 'boolean',
5370             'source' => 'string',
5371             },
5372             },
5373              
5374             'ml.get_controller' => {
5375             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5376             method => 'GET',
5377             parts => { model_id => { required => 1 }},
5378             paths => [[ { model_id => 3 }, "_plugins", "_ml", "controllers", "{model_id}" ]],
5379             qs => {
5380             # Common API query parameters
5381             'error_trace' => 'boolean',
5382             'filter_path' => 'list',
5383             'human' => 'boolean',
5384             'pretty' => 'boolean',
5385             'source' => 'string',
5386             },
5387             },
5388              
5389             'ml.get_memory' => {
5390             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5391             method => 'GET',
5392             parts => { memory_id => { required => 1 }},
5393             paths => [[ { memory_id => 3 }, "_plugins", "_ml", "memory", "{memory_id}" ]],
5394             qs => {
5395             # Common API query parameters
5396             'error_trace' => 'boolean',
5397             'filter_path' => 'list',
5398             'human' => 'boolean',
5399             'pretty' => 'boolean',
5400             'source' => 'string',
5401             },
5402             },
5403              
5404             'ml.get_memory_container' => {
5405             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5406             method => 'GET',
5407             parts => { memory_container_id => { required => 1 }},
5408             paths => [[ { memory_container_id => 3 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}" ]],
5409             qs => {
5410             # Common API query parameters
5411             'error_trace' => 'boolean',
5412             'filter_path' => 'list',
5413             'human' => 'boolean',
5414             'pretty' => 'boolean',
5415             'source' => 'string',
5416             },
5417             },
5418              
5419             'ml.get_message' => {
5420             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5421             method => 'GET',
5422             parts => { message_id => { required => 1 }},
5423             paths => [[ { message_id => 4 }, "_plugins", "_ml", "memory", "message", "{message_id}" ]],
5424             qs => {
5425             # Common API query parameters
5426             'error_trace' => 'boolean',
5427             'filter_path' => 'list',
5428             'human' => 'boolean',
5429             'pretty' => 'boolean',
5430             'source' => 'string',
5431             },
5432             },
5433              
5434             'ml.get_message_traces' => {
5435             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5436             method => 'GET',
5437             parts => { message_id => { required => 1 }},
5438             paths => [[ { message_id => 4 }, "_plugins", "_ml", "memory", "message", "{message_id}", "traces" ]],
5439             qs => {
5440             # Endpoint specific query parameters
5441             'max_results' => 'number',
5442             'next_token' => 'number',
5443             # Common API query parameters
5444             'error_trace' => 'boolean',
5445             'filter_path' => 'list',
5446             'human' => 'boolean',
5447             'pretty' => 'boolean',
5448             'source' => 'string',
5449             },
5450             },
5451              
5452             'ml.get_model' => {
5453             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5454             method => 'GET',
5455             parts => { model_id => { required => 1 }},
5456             paths => [[ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}" ]],
5457             qs => {
5458             # Common API query parameters
5459             'error_trace' => 'boolean',
5460             'filter_path' => 'list',
5461             'human' => 'boolean',
5462             'pretty' => 'boolean',
5463             'source' => 'string',
5464             },
5465             },
5466              
5467             'ml.get_model_group' => {
5468             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5469             method => 'GET',
5470             parts => { model_group_id => { required => 1 }},
5471             paths => [[ { model_group_id => 3 }, "_plugins", "_ml", "model_groups", "{model_group_id}" ]],
5472             qs => {
5473             # Common API query parameters
5474             'error_trace' => 'boolean',
5475             'filter_path' => 'list',
5476             'human' => 'boolean',
5477             'pretty' => 'boolean',
5478             'source' => 'string',
5479             },
5480             },
5481              
5482             'ml.get_profile' => {
5483             body => {},
5484             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5485             method => 'GET',
5486             parts => {},
5487             paths => [[ {}, "_plugins", "_ml", "profile" ]],
5488             qs => {
5489             # Common API query parameters
5490             'error_trace' => 'boolean',
5491             'filter_path' => 'list',
5492             'human' => 'boolean',
5493             'pretty' => 'boolean',
5494             'source' => 'string',
5495             },
5496             },
5497              
5498             'ml.get_profile_models' => {
5499             body => {},
5500             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5501             method => 'GET',
5502             parts => { model_id => {}},
5503             paths => [
5504             [ { model_id => 4 }, "_plugins", "_ml", "profile", "models", "{model_id}" ],
5505             [ {}, "_plugins", "_ml", "profile", "models" ]
5506             ],
5507             qs => {
5508             # Common API query parameters
5509             'error_trace' => 'boolean',
5510             'filter_path' => 'list',
5511             'human' => 'boolean',
5512             'pretty' => 'boolean',
5513             'source' => 'string',
5514             },
5515             },
5516              
5517             'ml.get_profile_tasks' => {
5518             body => {},
5519             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5520             method => 'GET',
5521             parts => { task_id => {}},
5522             paths => [
5523             [ { task_id => 4 }, "_plugins", "_ml", "profile", "tasks", "{task_id}" ],
5524             [ {}, "_plugins", "_ml", "profile", "tasks" ]
5525             ],
5526             qs => {
5527             # Common API query parameters
5528             'error_trace' => 'boolean',
5529             'filter_path' => 'list',
5530             'human' => 'boolean',
5531             'pretty' => 'boolean',
5532             'source' => 'string',
5533             },
5534             },
5535              
5536             'ml.get_stats' => {
5537             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5538             method => 'GET',
5539             parts => { node_id => {}, stat => { multi => 1 }},
5540             paths => [
5541             [ { node_id => 2, stat => 4 }, "_plugins", "_ml", "{node_id}", "stats", "{stat}" ],
5542             [ { stat => 3 }, "_plugins", "_ml", "stats", "{stat}" ],
5543             [ { node_id => 2 }, "_plugins", "_ml", "{node_id}", "stats" ],
5544             [ {}, "_plugins", "_ml", "stats" ]
5545             ],
5546             qs => {
5547             # Common API query parameters
5548             'error_trace' => 'boolean',
5549             'filter_path' => 'list',
5550             'human' => 'boolean',
5551             'pretty' => 'boolean',
5552             'source' => 'string',
5553             },
5554             },
5555              
5556             'ml.get_task' => {
5557             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5558             method => 'GET',
5559             parts => { task_id => { required => 1 }},
5560             paths => [[ { task_id => 3 }, "_plugins", "_ml", "tasks", "{task_id}" ]],
5561             qs => {
5562             # Common API query parameters
5563             'error_trace' => 'boolean',
5564             'filter_path' => 'list',
5565             'human' => 'boolean',
5566             'pretty' => 'boolean',
5567             'source' => 'string',
5568             },
5569             },
5570              
5571             'ml.get_tool' => {
5572             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5573             method => 'GET',
5574             parts => { tool_name => { required => 1 }},
5575             paths => [[ { tool_name => 3 }, "_plugins", "_ml", "tools", "{tool_name}" ]],
5576             qs => {
5577             # Common API query parameters
5578             'error_trace' => 'boolean',
5579             'filter_path' => 'list',
5580             'human' => 'boolean',
5581             'pretty' => 'boolean',
5582             'source' => 'string',
5583             },
5584             },
5585              
5586             'ml.load_model' => {
5587             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5588             method => 'POST',
5589             parts => { model_id => { required => 1 }},
5590             paths => [[ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}", "_load" ]],
5591             qs => {
5592             # Common API query parameters
5593             'error_trace' => 'boolean',
5594             'filter_path' => 'list',
5595             'human' => 'boolean',
5596             'pretty' => 'boolean',
5597             'source' => 'string',
5598             },
5599             },
5600              
5601             'ml.predict' => {
5602             body => {},
5603             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5604             method => 'POST',
5605             parts => { algorithm_name => { required => 1 }, model_id => { required => 1 }},
5606             paths => [[ { algorithm_name => 3, model_id => 4 }, "_plugins", "_ml", "_predict", "{algorithm_name}", "{model_id}" ]],
5607             qs => {
5608             # Common API query parameters
5609             'error_trace' => 'boolean',
5610             'filter_path' => 'list',
5611             'human' => 'boolean',
5612             'pretty' => 'boolean',
5613             'source' => 'string',
5614             },
5615             },
5616              
5617             'ml.predict_model' => {
5618             body => {},
5619             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5620             method => 'POST',
5621             parts => { model_id => { required => 1 }},
5622             paths => [[ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}", "_predict" ]],
5623             qs => {
5624             # Common API query parameters
5625             'error_trace' => 'boolean',
5626             'filter_path' => 'list',
5627             'human' => 'boolean',
5628             'pretty' => 'boolean',
5629             'source' => 'string',
5630             },
5631             },
5632              
5633             'ml.predict_model_stream' => {
5634             body => {},
5635             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5636             method => 'POST',
5637             parts => { model_id => { required => 1 }},
5638             paths => [[ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}", "_predict", "stream" ]],
5639             qs => {
5640             # Common API query parameters
5641             'error_trace' => 'boolean',
5642             'filter_path' => 'list',
5643             'human' => 'boolean',
5644             'pretty' => 'boolean',
5645             'source' => 'string',
5646             },
5647             },
5648              
5649             'ml.register_agents' => {
5650             body => {},
5651             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5652             method => 'POST',
5653             parts => {},
5654             paths => [[ {}, "_plugins", "_ml", "agents", "_register" ]],
5655             qs => {
5656             # Common API query parameters
5657             'error_trace' => 'boolean',
5658             'filter_path' => 'list',
5659             'human' => 'boolean',
5660             'pretty' => 'boolean',
5661             'source' => 'string',
5662             },
5663             },
5664              
5665             'ml.register_model' => {
5666             body => {},
5667             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5668             method => 'POST',
5669             parts => {},
5670             paths => [[ {}, "_plugins", "_ml", "models", "_register" ]],
5671             qs => {
5672             # Common API query parameters
5673             'error_trace' => 'boolean',
5674             'filter_path' => 'list',
5675             'human' => 'boolean',
5676             'pretty' => 'boolean',
5677             'source' => 'string',
5678             },
5679             },
5680              
5681             'ml.register_model_group' => {
5682             body => {},
5683             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5684             method => 'POST',
5685             parts => {},
5686             paths => [[ {}, "_plugins", "_ml", "model_groups", "_register" ]],
5687             qs => {
5688             # Common API query parameters
5689             'error_trace' => 'boolean',
5690             'filter_path' => 'list',
5691             'human' => 'boolean',
5692             'pretty' => 'boolean',
5693             'source' => 'string',
5694             },
5695             },
5696              
5697             'ml.register_model_meta' => {
5698             body => {},
5699             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5700             method => 'POST',
5701             parts => {},
5702             paths => [[ {}, "_plugins", "_ml", "models", "_register_meta" ]],
5703             qs => {
5704             # Common API query parameters
5705             'error_trace' => 'boolean',
5706             'filter_path' => 'list',
5707             'human' => 'boolean',
5708             'pretty' => 'boolean',
5709             'source' => 'string',
5710             },
5711             },
5712              
5713             'ml.search_agentic_memory' => {
5714             body => {},
5715             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5716             method => 'GET',
5717             parts => { memory_container_id => { required => 1 }, type => { required => 1 }},
5718             paths => [[ { memory_container_id => 3, type => 5 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}", "memories", "{type}", "_search" ]],
5719             qs => {
5720             # Common API query parameters
5721             'error_trace' => 'boolean',
5722             'filter_path' => 'list',
5723             'human' => 'boolean',
5724             'pretty' => 'boolean',
5725             'source' => 'string',
5726             },
5727             },
5728              
5729             'ml.search_agents' => {
5730             body => {},
5731             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5732             ## ENDPOINT HAS ALTERNATE METHOD
5733             method => 'detect',
5734             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5735             parts => {},
5736             paths => [[ {}, "_plugins", "_ml", "agents", "_search" ]],
5737             qs => {
5738             # Common API query parameters
5739             'error_trace' => 'boolean',
5740             'filter_path' => 'list',
5741             'human' => 'boolean',
5742             'pretty' => 'boolean',
5743             'source' => 'string',
5744             },
5745             },
5746              
5747             'ml.search_connectors' => {
5748             body => {},
5749             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5750             ## ENDPOINT HAS ALTERNATE METHOD
5751             method => 'detect',
5752             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5753             parts => {},
5754             paths => [[ {}, "_plugins", "_ml", "connectors", "_search" ]],
5755             qs => {
5756             # Common API query parameters
5757             'error_trace' => 'boolean',
5758             'filter_path' => 'list',
5759             'human' => 'boolean',
5760             'pretty' => 'boolean',
5761             'source' => 'string',
5762             },
5763             },
5764              
5765             'ml.search_memory' => {
5766             body => {},
5767             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5768             ## ENDPOINT HAS ALTERNATE METHOD
5769             method => 'detect',
5770             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5771             parts => {},
5772             paths => [[ {}, "_plugins", "_ml", "memory", "_search" ]],
5773             qs => {
5774             # Common API query parameters
5775             'error_trace' => 'boolean',
5776             'filter_path' => 'list',
5777             'human' => 'boolean',
5778             'pretty' => 'boolean',
5779             'source' => 'string',
5780             },
5781             },
5782              
5783             'ml.search_memory_container' => {
5784             body => {},
5785             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5786             ## ENDPOINT HAS ALTERNATE METHOD
5787             method => 'detect',
5788             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5789             parts => {},
5790             paths => [[ {}, "_plugins", "_ml", "memory_containers", "_search" ]],
5791             qs => {
5792             # Common API query parameters
5793             'error_trace' => 'boolean',
5794             'filter_path' => 'list',
5795             'human' => 'boolean',
5796             'pretty' => 'boolean',
5797             'source' => 'string',
5798             },
5799             },
5800              
5801             'ml.search_message' => {
5802             body => {},
5803             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5804             ## ENDPOINT HAS ALTERNATE METHOD
5805             method => 'detect',
5806             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5807             parts => { memory_id => { required => 1 }},
5808             paths => [[ { memory_id => 3 }, "_plugins", "_ml", "memory", "{memory_id}", "_search" ]],
5809             qs => {
5810             # Common API query parameters
5811             'error_trace' => 'boolean',
5812             'filter_path' => 'list',
5813             'human' => 'boolean',
5814             'pretty' => 'boolean',
5815             'source' => 'string',
5816             },
5817             },
5818              
5819             'ml.search_model_group' => {
5820             body => {},
5821             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5822             ## ENDPOINT HAS ALTERNATE METHOD
5823             method => 'detect',
5824             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5825             parts => {},
5826             paths => [[ {}, "_plugins", "_ml", "model_groups", "_search" ]],
5827             qs => {
5828             # Common API query parameters
5829             'error_trace' => 'boolean',
5830             'filter_path' => 'list',
5831             'human' => 'boolean',
5832             'pretty' => 'boolean',
5833             'source' => 'string',
5834             },
5835             },
5836              
5837             'ml.search_models' => {
5838             body => {},
5839             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5840             ## ENDPOINT HAS ALTERNATE METHOD
5841             method => 'detect',
5842             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5843             parts => {},
5844             paths => [[ {}, "_plugins", "_ml", "models", "_search" ]],
5845             qs => {
5846             # Common API query parameters
5847             'error_trace' => 'boolean',
5848             'filter_path' => 'list',
5849             'human' => 'boolean',
5850             'pretty' => 'boolean',
5851             'source' => 'string',
5852             },
5853             },
5854              
5855             'ml.search_tasks' => {
5856             body => {},
5857             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5858             ## ENDPOINT HAS ALTERNATE METHOD
5859             method => 'detect',
5860             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
5861             parts => {},
5862             paths => [[ {}, "_plugins", "_ml", "tasks", "_search" ]],
5863             qs => {
5864             # Common API query parameters
5865             'error_trace' => 'boolean',
5866             'filter_path' => 'list',
5867             'human' => 'boolean',
5868             'pretty' => 'boolean',
5869             'source' => 'string',
5870             },
5871             },
5872              
5873             'ml.train' => {
5874             body => {},
5875             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5876             method => 'POST',
5877             parts => { algorithm_name => { required => 1 }},
5878             paths => [[ { algorithm_name => 3 }, "_plugins", "_ml", "_train", "{algorithm_name}" ]],
5879             qs => {
5880             # Common API query parameters
5881             'error_trace' => 'boolean',
5882             'filter_path' => 'list',
5883             'human' => 'boolean',
5884             'pretty' => 'boolean',
5885             'source' => 'string',
5886             },
5887             },
5888              
5889             'ml.train_predict' => {
5890             body => {},
5891             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5892             method => 'POST',
5893             parts => { algorithm_name => { required => 1 }},
5894             paths => [[ { algorithm_name => 3 }, "_plugins", "_ml", "_train_predict", "{algorithm_name}" ]],
5895             qs => {
5896             # Common API query parameters
5897             'error_trace' => 'boolean',
5898             'filter_path' => 'list',
5899             'human' => 'boolean',
5900             'pretty' => 'boolean',
5901             'source' => 'string',
5902             },
5903             },
5904              
5905             'ml.undeploy_model' => {
5906             body => {},
5907             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5908             method => 'POST',
5909             parts => { model_id => {}},
5910             paths => [
5911             [ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}", "_undeploy" ],
5912             [ {}, "_plugins", "_ml", "models", "_undeploy" ]
5913             ],
5914             qs => {
5915             # Common API query parameters
5916             'error_trace' => 'boolean',
5917             'filter_path' => 'list',
5918             'human' => 'boolean',
5919             'pretty' => 'boolean',
5920             'source' => 'string',
5921             },
5922             },
5923              
5924             'ml.unload_model' => {
5925             body => {},
5926             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5927             method => 'POST',
5928             parts => { model_id => {}},
5929             paths => [
5930             [ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}", "_unload" ],
5931             [ {}, "_plugins", "_ml", "models", "_unload" ]
5932             ],
5933             qs => {
5934             # Common API query parameters
5935             'error_trace' => 'boolean',
5936             'filter_path' => 'list',
5937             'human' => 'boolean',
5938             'pretty' => 'boolean',
5939             'source' => 'string',
5940             },
5941             },
5942              
5943             'ml.update_agentic_memory' => {
5944             body => {},
5945             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5946             method => 'PUT',
5947             parts => { id => { required => 1 }, memory_container_id => { required => 1 }, type => { required => 1 }},
5948             paths => [[ { memory_container_id => 3, type => 5, id => 6 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}", "memories", "{type}", "{id}" ]],
5949             qs => {
5950             # Common API query parameters
5951             'error_trace' => 'boolean',
5952             'filter_path' => 'list',
5953             'human' => 'boolean',
5954             'pretty' => 'boolean',
5955             'source' => 'string',
5956             },
5957             },
5958              
5959             'ml.update_connector' => {
5960             body => {},
5961             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5962             method => 'PUT',
5963             parts => { connector_id => { required => 1 }},
5964             paths => [[ { connector_id => 3 }, "_plugins", "_ml", "connectors", "{connector_id}" ]],
5965             qs => {
5966             # Common API query parameters
5967             'error_trace' => 'boolean',
5968             'filter_path' => 'list',
5969             'human' => 'boolean',
5970             'pretty' => 'boolean',
5971             'source' => 'string',
5972             },
5973             },
5974              
5975             'ml.update_controller' => {
5976             body => {},
5977             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5978             method => 'PUT',
5979             parts => { model_id => { required => 1 }},
5980             paths => [[ { model_id => 3 }, "_plugins", "_ml", "controllers", "{model_id}" ]],
5981             qs => {
5982             # Common API query parameters
5983             'error_trace' => 'boolean',
5984             'filter_path' => 'list',
5985             'human' => 'boolean',
5986             'pretty' => 'boolean',
5987             'source' => 'string',
5988             },
5989             },
5990              
5991             'ml.update_memory' => {
5992             body => {},
5993             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
5994             method => 'PUT',
5995             parts => { memory_id => { required => 1 }},
5996             paths => [[ { memory_id => 3 }, "_plugins", "_ml", "memory", "{memory_id}" ]],
5997             qs => {
5998             # Common API query parameters
5999             'error_trace' => 'boolean',
6000             'filter_path' => 'list',
6001             'human' => 'boolean',
6002             'pretty' => 'boolean',
6003             'source' => 'string',
6004             },
6005             },
6006              
6007             'ml.update_memory_container' => {
6008             body => {},
6009             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
6010             method => 'PUT',
6011             parts => { memory_container_id => { required => 1 }},
6012             paths => [[ { memory_container_id => 3 }, "_plugins", "_ml", "memory_containers", "{memory_container_id}" ]],
6013             qs => {
6014             # Common API query parameters
6015             'error_trace' => 'boolean',
6016             'filter_path' => 'list',
6017             'human' => 'boolean',
6018             'pretty' => 'boolean',
6019             'source' => 'string',
6020             },
6021             },
6022              
6023             'ml.update_message' => {
6024             body => {},
6025             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
6026             method => 'PUT',
6027             parts => { message_id => { required => 1 }},
6028             paths => [[ { message_id => 4 }, "_plugins", "_ml", "memory", "message", "{message_id}" ]],
6029             qs => {
6030             # Common API query parameters
6031             'error_trace' => 'boolean',
6032             'filter_path' => 'list',
6033             'human' => 'boolean',
6034             'pretty' => 'boolean',
6035             'source' => 'string',
6036             },
6037             },
6038              
6039             'ml.update_model' => {
6040             body => {},
6041             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
6042             method => 'PUT',
6043             parts => { model_id => { required => 1 }},
6044             paths => [[ { model_id => 3 }, "_plugins", "_ml", "models", "{model_id}" ]],
6045             qs => {
6046             # Common API query parameters
6047             'error_trace' => 'boolean',
6048             'filter_path' => 'list',
6049             'human' => 'boolean',
6050             'pretty' => 'boolean',
6051             'source' => 'string',
6052             },
6053             },
6054              
6055             'ml.update_model_group' => {
6056             body => {},
6057             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
6058             method => 'PUT',
6059             parts => { model_group_id => { required => 1 }},
6060             paths => [[ { model_group_id => 3 }, "_plugins", "_ml", "model_groups", "{model_group_id}" ]],
6061             qs => {
6062             # Common API query parameters
6063             'error_trace' => 'boolean',
6064             'filter_path' => 'list',
6065             'human' => 'boolean',
6066             'pretty' => 'boolean',
6067             'source' => 'string',
6068             },
6069             },
6070              
6071             'ml.upload_chunk' => {
6072             body => {},
6073             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
6074             method => 'POST',
6075             parts => { chunk_number => { required => 1 }, model_id => { required => 1 }},
6076             paths => [[ { model_id => 3, chunk_number => 5 }, "_plugins", "_ml", "models", "{model_id}", "upload_chunk", "{chunk_number}" ]],
6077             qs => {
6078             # Common API query parameters
6079             'error_trace' => 'boolean',
6080             'filter_path' => 'list',
6081             'human' => 'boolean',
6082             'pretty' => 'boolean',
6083             'source' => 'string',
6084             },
6085             },
6086              
6087             'ml.upload_model' => {
6088             body => {},
6089             doc => 'https://docs.opensearch.org/latest/ml-commons-plugin/api/index/',
6090             method => 'POST',
6091             parts => {},
6092             paths => [[ {}, "_plugins", "_ml", "models", "_upload" ]],
6093             qs => {
6094             # Common API query parameters
6095             'error_trace' => 'boolean',
6096             'filter_path' => 'list',
6097             'human' => 'boolean',
6098             'pretty' => 'boolean',
6099             'source' => 'string',
6100             },
6101             },
6102              
6103             'neural.stats' => {
6104             doc => 'https://docs.opensearch.org/latest/vector-search/api/neural/',
6105             method => 'GET',
6106             parts => { node_id => {}, stat => { multi => 1 }},
6107             paths => [
6108             [ { node_id => 2, stat => 4 }, "_plugins", "_neural", "{node_id}", "stats", "{stat}" ],
6109             [ { stat => 3 }, "_plugins", "_neural", "stats", "{stat}" ],
6110             [ { node_id => 2 }, "_plugins", "_neural", "{node_id}", "stats" ],
6111             [ {}, "_plugins", "_neural", "stats" ]
6112             ],
6113             qs => {
6114             # Endpoint specific query parameters
6115             'flat_stat_paths' => 'boolean',
6116             'include_all_nodes' => 'boolean',
6117             'include_individual_nodes' => 'boolean',
6118             'include_info' => 'boolean',
6119             'include_metadata' => 'boolean',
6120             # Common API query parameters
6121             'error_trace' => 'boolean',
6122             'filter_path' => 'list',
6123             'human' => 'boolean',
6124             'pretty' => 'boolean',
6125             'source' => 'string',
6126             },
6127             },
6128              
6129             'nodes.hot_threads' => {
6130             doc => 'https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/',
6131             method => 'GET',
6132             parts => { node_id => { multi => 1 }},
6133             paths => [
6134             [ { node_id => 1 }, "_nodes", "{node_id}", "hot_threads" ],
6135             [ {}, "_nodes", "hot_threads" ]
6136             ],
6137             qs => {
6138             # Endpoint specific query parameters
6139             'ignore_idle_threads' => 'boolean',
6140             'interval' => 'string',
6141             'snapshots' => 'number',
6142             'threads' => 'number',
6143             'timeout' => 'string',
6144             'type' => 'string',
6145             # Common API query parameters
6146             'error_trace' => 'boolean',
6147             'filter_path' => 'list',
6148             'human' => 'boolean',
6149             'pretty' => 'boolean',
6150             'source' => 'string',
6151             },
6152             },
6153              
6154             'nodes.info' => {
6155             doc => 'https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-info/',
6156             method => 'GET',
6157             parts => { metric => { multi => 1 }, node_id => { multi => 1 }},
6158             paths => [
6159             [ { node_id => 1, metric => 2 }, "_nodes", "{node_id}", "{metric}" ],
6160             [ { metric => 1 }, "_nodes", "{metric}" ],
6161             [ { node_id => 1 }, "_nodes", "{node_id}" ],
6162             [ {}, "_nodes" ]
6163             ],
6164             qs => {
6165             # Endpoint specific query parameters
6166             'flat_settings' => 'boolean',
6167             'timeout' => 'string',
6168             # Common API query parameters
6169             'error_trace' => 'boolean',
6170             'filter_path' => 'list',
6171             'human' => 'boolean',
6172             'pretty' => 'boolean',
6173             'source' => 'string',
6174             },
6175             },
6176              
6177             'nodes.reload_secure_settings' => {
6178             body => {},
6179             doc => 'https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-reload-secure/',
6180             method => 'POST',
6181             parts => { node_id => { multi => 1 }},
6182             paths => [
6183             [ { node_id => 1 }, "_nodes", "{node_id}", "reload_secure_settings" ],
6184             [ {}, "_nodes", "reload_secure_settings" ]
6185             ],
6186             qs => {
6187             # Endpoint specific query parameters
6188             'timeout' => 'string',
6189             # Common API query parameters
6190             'error_trace' => 'boolean',
6191             'filter_path' => 'list',
6192             'human' => 'boolean',
6193             'pretty' => 'boolean',
6194             'source' => 'string',
6195             },
6196             },
6197              
6198             'nodes.stats' => {
6199             doc => 'https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-usage/',
6200             method => 'GET',
6201             parts => { index_metric => { multi => 1 }, metric => { multi => 1 }, node_id => { multi => 1 }},
6202             paths => [
6203             [ { node_id => 1, metric => 3, index_metric => 4 }, "_nodes", "{node_id}", "stats", "{metric}", "{index_metric}" ],
6204             [ { metric => 2, index_metric => 3 }, "_nodes", "stats", "{metric}", "{index_metric}" ],
6205             [ { node_id => 1, metric => 3 }, "_nodes", "{node_id}", "stats", "{metric}" ],
6206             [ { metric => 2 }, "_nodes", "stats", "{metric}" ],
6207             [ { node_id => 1 }, "_nodes", "{node_id}", "stats" ],
6208             [ {}, "_nodes", "stats" ]
6209             ],
6210             qs => {
6211             # Endpoint specific query parameters
6212             'completion_fields' => 'list',
6213             'fielddata_fields' => 'list',
6214             'fields' => 'list',
6215             'groups' => 'list',
6216             'include_segment_file_sizes' => 'boolean',
6217             'level' => 'string',
6218             'timeout' => 'string',
6219             'types' => 'list',
6220             # Common API query parameters
6221             'error_trace' => 'boolean',
6222             'filter_path' => 'list',
6223             'human' => 'boolean',
6224             'pretty' => 'boolean',
6225             'source' => 'string',
6226             },
6227             },
6228              
6229             'nodes.usage' => {
6230             doc => 'https://docs.opensearch.org/latest/api-reference/nodes-apis/index/',
6231             method => 'GET',
6232             parts => { metric => { multi => 1 }, node_id => { multi => 1 }},
6233             paths => [
6234             [ { node_id => 1, metric => 3 }, "_nodes", "{node_id}", "usage", "{metric}" ],
6235             [ { metric => 2 }, "_nodes", "usage", "{metric}" ],
6236             [ { node_id => 1 }, "_nodes", "{node_id}", "usage" ],
6237             [ {}, "_nodes", "usage" ]
6238             ],
6239             qs => {
6240             # Endpoint specific query parameters
6241             'timeout' => 'string',
6242             # Common API query parameters
6243             'error_trace' => 'boolean',
6244             'filter_path' => 'list',
6245             'human' => 'boolean',
6246             'pretty' => 'boolean',
6247             'source' => 'string',
6248             },
6249             },
6250              
6251             'notifications.create_config' => {
6252             body => {},
6253             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#create-channel-configuration',
6254             method => 'POST',
6255             parts => {},
6256             paths => [[ {}, "_plugins", "_notifications", "configs" ]],
6257             qs => {
6258             # Common API query parameters
6259             'error_trace' => 'boolean',
6260             'filter_path' => 'list',
6261             'human' => 'boolean',
6262             'pretty' => 'boolean',
6263             'source' => 'string',
6264             },
6265             },
6266              
6267             'notifications.delete_config' => {
6268             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#delete-channel-configuration',
6269             method => 'DELETE',
6270             parts => { config_id => { required => 1 }},
6271             paths => [[ { config_id => 3 }, "_plugins", "_notifications", "configs", "{config_id}" ]],
6272             qs => {
6273             # Common API query parameters
6274             'error_trace' => 'boolean',
6275             'filter_path' => 'list',
6276             'human' => 'boolean',
6277             'pretty' => 'boolean',
6278             'source' => 'string',
6279             },
6280             },
6281              
6282             'notifications.delete_configs' => {
6283             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#delete-channel-configuration',
6284             method => 'DELETE',
6285             parts => {},
6286             paths => [[ {}, "_plugins", "_notifications", "configs" ]],
6287             qs => {
6288             # Endpoint specific query parameters
6289             'config_id' => 'string',
6290             'config_id_list' => 'string',
6291             # Common API query parameters
6292             'error_trace' => 'boolean',
6293             'filter_path' => 'list',
6294             'human' => 'boolean',
6295             'pretty' => 'boolean',
6296             'source' => 'string',
6297             },
6298             },
6299              
6300             'notifications.get_config' => {
6301             doc => 'https://docs.opensearch.org/latest/observing-your-data/notifications/index/',
6302             method => 'GET',
6303             parts => { config_id => { required => 1 }},
6304             paths => [[ { config_id => 3 }, "_plugins", "_notifications", "configs", "{config_id}" ]],
6305             qs => {
6306             # Common API query parameters
6307             'error_trace' => 'boolean',
6308             'filter_path' => 'list',
6309             'human' => 'boolean',
6310             'pretty' => 'boolean',
6311             'source' => 'string',
6312             },
6313             },
6314              
6315             'notifications.get_configs' => {
6316             body => {},
6317             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#list-all-notification-configurations',
6318             method => 'GET',
6319             parts => {},
6320             paths => [[ {}, "_plugins", "_notifications", "configs" ]],
6321             qs => {
6322             # Endpoint specific query parameters
6323             'chime.url' => 'string',
6324             'chime.url.keyword' => 'string',
6325             'config_id' => 'string',
6326             'config_id_list' => 'list',
6327             'config_type' => 'string',
6328             'created_time_ms' => 'number',
6329             'description' => 'string',
6330             'description.keyword' => 'string',
6331             'email.email_account_id' => 'string',
6332             'email.email_group_id_list' => 'string',
6333             'email.recipient_list.recipient' => 'string',
6334             'email.recipient_list.recipient.keyword' => 'string',
6335             'email_group.recipient_list.recipient' => 'string',
6336             'email_group.recipient_list.recipient.keyword' => 'string',
6337             'is_enabled' => 'boolean',
6338             'last_updated_time_ms' => 'number',
6339             'microsoft_teams.url' => 'string',
6340             'microsoft_teams.url.keyword' => 'string',
6341             'name' => 'string',
6342             'name.keyword' => 'string',
6343             'query' => 'string',
6344             'ses_account.from_address' => 'string',
6345             'ses_account.from_address.keyword' => 'string',
6346             'ses_account.region' => 'string',
6347             'ses_account.role_arn' => 'string',
6348             'ses_account.role_arn.keyword' => 'string',
6349             'slack.url' => 'string',
6350             'slack.url.keyword' => 'string',
6351             'smtp_account.from_address' => 'string',
6352             'smtp_account.from_address.keyword' => 'string',
6353             'smtp_account.host' => 'string',
6354             'smtp_account.host.keyword' => 'string',
6355             'smtp_account.method' => 'string',
6356             'sns.role_arn' => 'string',
6357             'sns.role_arn.keyword' => 'string',
6358             'sns.topic_arn' => 'string',
6359             'sns.topic_arn.keyword' => 'string',
6360             'text_query' => 'string',
6361             'webhook.url' => 'string',
6362             'webhook.url.keyword' => 'string',
6363             # Common API query parameters
6364             'error_trace' => 'boolean',
6365             'filter_path' => 'list',
6366             'human' => 'boolean',
6367             'pretty' => 'boolean',
6368             'source' => 'string',
6369             },
6370             },
6371              
6372             'notifications.list_channels' => {
6373             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#list-all-notification-channels',
6374             method => 'GET',
6375             parts => {},
6376             paths => [[ {}, "_plugins", "_notifications", "channels" ]],
6377             qs => {
6378             # Common API query parameters
6379             'error_trace' => 'boolean',
6380             'filter_path' => 'list',
6381             'human' => 'boolean',
6382             'pretty' => 'boolean',
6383             'source' => 'string',
6384             },
6385             },
6386              
6387             'notifications.list_features' => {
6388             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#list-supported-channel-configurations',
6389             method => 'GET',
6390             parts => {},
6391             paths => [[ {}, "_plugins", "_notifications", "features" ]],
6392             qs => {
6393             # Common API query parameters
6394             'error_trace' => 'boolean',
6395             'filter_path' => 'list',
6396             'human' => 'boolean',
6397             'pretty' => 'boolean',
6398             'source' => 'string',
6399             },
6400             },
6401              
6402             'notifications.send_test' => {
6403             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#send-test-notification',
6404             ## ENDPOINT HAS ALTERNATE METHOD
6405             method => 'detect',
6406             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
6407             parts => { config_id => { required => 1 }},
6408             paths => [[ { config_id => 4 }, "_plugins", "_notifications", "feature", "test", "{config_id}" ]],
6409             qs => {
6410             # Common API query parameters
6411             'error_trace' => 'boolean',
6412             'filter_path' => 'list',
6413             'human' => 'boolean',
6414             'pretty' => 'boolean',
6415             'source' => 'string',
6416             },
6417             },
6418              
6419             'notifications.update_config' => {
6420             body => {},
6421             doc => 'https://opensearch.org/docs/latest/observing-your-data/notifications/api/#update-channel-configuration',
6422             method => 'PUT',
6423             parts => { config_id => { required => 1 }},
6424             paths => [[ { config_id => 3 }, "_plugins", "_notifications", "configs", "{config_id}" ]],
6425             qs => {
6426             # Common API query parameters
6427             'error_trace' => 'boolean',
6428             'filter_path' => 'list',
6429             'human' => 'boolean',
6430             'pretty' => 'boolean',
6431             'source' => 'string',
6432             },
6433             },
6434              
6435             'observability.create_object' => {
6436             body => {},
6437             doc => 'https://docs.opensearch.org/latest/observing-your-data/',
6438             method => 'POST',
6439             parts => {},
6440             paths => [[ {}, "_plugins", "_observability", "object" ]],
6441             qs => {
6442             # Common API query parameters
6443             'error_trace' => 'boolean',
6444             'filter_path' => 'list',
6445             'human' => 'boolean',
6446             'pretty' => 'boolean',
6447             'source' => 'string',
6448             },
6449             },
6450              
6451             'observability.delete_object' => {
6452             doc => 'https://docs.opensearch.org/latest/observing-your-data/',
6453             method => 'DELETE',
6454             parts => { object_id => { required => 1 }},
6455             paths => [[ { object_id => 3 }, "_plugins", "_observability", "object", "{object_id}" ]],
6456             qs => {
6457             # Common API query parameters
6458             'error_trace' => 'boolean',
6459             'filter_path' => 'list',
6460             'human' => 'boolean',
6461             'pretty' => 'boolean',
6462             'source' => 'string',
6463             },
6464             },
6465              
6466             'observability.delete_objects' => {
6467             doc => 'https://docs.opensearch.org/latest/observing-your-data/',
6468             method => 'DELETE',
6469             parts => {},
6470             paths => [[ {}, "_plugins", "_observability", "object" ]],
6471             qs => {
6472             # Endpoint specific query parameters
6473             'objectId' => 'string',
6474             'objectIdList' => 'string',
6475             # Common API query parameters
6476             'error_trace' => 'boolean',
6477             'filter_path' => 'list',
6478             'human' => 'boolean',
6479             'pretty' => 'boolean',
6480             'source' => 'string',
6481             },
6482             },
6483              
6484             'observability.get_localstats' => {
6485             doc => 'https://docs.opensearch.org/latest/observing-your-data/',
6486             method => 'GET',
6487             parts => {},
6488             paths => [[ {}, "_plugins", "_observability", "_local", "stats" ]],
6489             qs => {
6490             # Common API query parameters
6491             'error_trace' => 'boolean',
6492             'filter_path' => 'list',
6493             'human' => 'boolean',
6494             'pretty' => 'boolean',
6495             'source' => 'string',
6496             },
6497             },
6498              
6499             'observability.get_object' => {
6500             doc => 'https://docs.opensearch.org/latest/observing-your-data/',
6501             method => 'GET',
6502             parts => { object_id => { required => 1 }},
6503             paths => [[ { object_id => 3 }, "_plugins", "_observability", "object", "{object_id}" ]],
6504             qs => {
6505             # Common API query parameters
6506             'error_trace' => 'boolean',
6507             'filter_path' => 'list',
6508             'human' => 'boolean',
6509             'pretty' => 'boolean',
6510             'source' => 'string',
6511             },
6512             },
6513              
6514             'observability.list_objects' => {
6515             doc => 'https://docs.opensearch.org/latest/observing-your-data/',
6516             method => 'GET',
6517             parts => {},
6518             paths => [[ {}, "_plugins", "_observability", "object" ]],
6519             qs => {
6520             # Common API query parameters
6521             'error_trace' => 'boolean',
6522             'filter_path' => 'list',
6523             'human' => 'boolean',
6524             'pretty' => 'boolean',
6525             'source' => 'string',
6526             },
6527             },
6528              
6529             'observability.update_object' => {
6530             body => {},
6531             doc => 'https://docs.opensearch.org/latest/observing-your-data/',
6532             method => 'PUT',
6533             parts => { object_id => { required => 1 }},
6534             paths => [[ { object_id => 3 }, "_plugins", "_observability", "object", "{object_id}" ]],
6535             qs => {
6536             # Common API query parameters
6537             'error_trace' => 'boolean',
6538             'filter_path' => 'list',
6539             'human' => 'boolean',
6540             'pretty' => 'boolean',
6541             'source' => 'string',
6542             },
6543             },
6544              
6545             'ppl.explain' => {
6546             body => {},
6547             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/',
6548             method => 'POST',
6549             parts => {},
6550             paths => [[ {}, "_plugins", "_ppl", "_explain" ]],
6551             qs => {
6552             # Endpoint specific query parameters
6553             'format' => 'string',
6554             'sanitize' => 'boolean',
6555             # Common API query parameters
6556             'error_trace' => 'boolean',
6557             'filter_path' => 'list',
6558             'human' => 'boolean',
6559             'pretty' => 'boolean',
6560             'source' => 'string',
6561             },
6562             },
6563              
6564             'ppl.get_stats' => {
6565             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/monitoring/',
6566             method => 'GET',
6567             parts => {},
6568             paths => [[ {}, "_plugins", "_ppl", "stats" ]],
6569             qs => {
6570             # Endpoint specific query parameters
6571             'format' => 'string',
6572             'sanitize' => 'boolean',
6573             # Common API query parameters
6574             'error_trace' => 'boolean',
6575             'filter_path' => 'list',
6576             'human' => 'boolean',
6577             'pretty' => 'boolean',
6578             'source' => 'string',
6579             },
6580             },
6581              
6582             'ppl.post_stats' => {
6583             body => {},
6584             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/monitoring/',
6585             method => 'POST',
6586             parts => {},
6587             paths => [[ {}, "_plugins", "_ppl", "stats" ]],
6588             qs => {
6589             # Endpoint specific query parameters
6590             'format' => 'string',
6591             'sanitize' => 'boolean',
6592             # Common API query parameters
6593             'error_trace' => 'boolean',
6594             'filter_path' => 'list',
6595             'human' => 'boolean',
6596             'pretty' => 'boolean',
6597             'source' => 'string',
6598             },
6599             },
6600              
6601             'ppl.query' => {
6602             body => {},
6603             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/',
6604             method => 'POST',
6605             parts => {},
6606             paths => [[ {}, "_plugins", "_ppl" ]],
6607             qs => {
6608             # Endpoint specific query parameters
6609             'format' => 'string',
6610             'sanitize' => 'boolean',
6611             # Common API query parameters
6612             'error_trace' => 'boolean',
6613             'filter_path' => 'list',
6614             'human' => 'boolean',
6615             'pretty' => 'boolean',
6616             'source' => 'string',
6617             },
6618             },
6619              
6620             'query.datasource_delete' => {
6621             doc => 'https://docs.opensearch.org/latest/observing-your-data/prometheusmetrics/',
6622             method => 'DELETE',
6623             parts => { datasource_name => { required => 1 }},
6624             paths => [[ { datasource_name => 3 }, "_plugins", "_query", "_datasources", "{datasource_name}" ]],
6625             qs => {
6626             # Common API query parameters
6627             'error_trace' => 'boolean',
6628             'filter_path' => 'list',
6629             'human' => 'boolean',
6630             'pretty' => 'boolean',
6631             'source' => 'string',
6632             },
6633             },
6634              
6635             'query.datasource_retrieve' => {
6636             doc => 'https://docs.opensearch.org/latest/observing-your-data/prometheusmetrics/',
6637             method => 'GET',
6638             parts => { datasource_name => { required => 1 }},
6639             paths => [[ { datasource_name => 3 }, "_plugins", "_query", "_datasources", "{datasource_name}" ]],
6640             qs => {
6641             # Common API query parameters
6642             'error_trace' => 'boolean',
6643             'filter_path' => 'list',
6644             'human' => 'boolean',
6645             'pretty' => 'boolean',
6646             'source' => 'string',
6647             },
6648             },
6649              
6650             'query.datasources_create' => {
6651             body => {},
6652             doc => 'https://docs.opensearch.org/latest/observing-your-data/prometheusmetrics/',
6653             method => 'POST',
6654             parts => {},
6655             paths => [[ {}, "_plugins", "_query", "_datasources" ]],
6656             qs => {
6657             # Common API query parameters
6658             'error_trace' => 'boolean',
6659             'filter_path' => 'list',
6660             'human' => 'boolean',
6661             'pretty' => 'boolean',
6662             'source' => 'string',
6663             },
6664             },
6665              
6666             'query.datasources_list' => {
6667             doc => 'https://docs.opensearch.org/latest/observing-your-data/prometheusmetrics/',
6668             method => 'GET',
6669             parts => {},
6670             paths => [[ {}, "_plugins", "_query", "_datasources" ]],
6671             qs => {
6672             # Common API query parameters
6673             'error_trace' => 'boolean',
6674             'filter_path' => 'list',
6675             'human' => 'boolean',
6676             'pretty' => 'boolean',
6677             'source' => 'string',
6678             },
6679             },
6680              
6681             'query.datasources_update' => {
6682             body => {},
6683             doc => 'https://docs.opensearch.org/latest/observing-your-data/prometheusmetrics/',
6684             method => 'PUT',
6685             parts => {},
6686             paths => [[ {}, "_plugins", "_query", "_datasources" ]],
6687             qs => {
6688             # Common API query parameters
6689             'error_trace' => 'boolean',
6690             'filter_path' => 'list',
6691             'human' => 'boolean',
6692             'pretty' => 'boolean',
6693             'source' => 'string',
6694             },
6695             },
6696              
6697             'remote_store.restore' => {
6698             body => {},
6699             doc => 'https://opensearch.org/docs/latest/opensearch/remote/#restoring-from-a-backup',
6700             method => 'POST',
6701             parts => {},
6702             paths => [[ {}, "_remotestore", "_restore" ]],
6703             qs => {
6704             # Endpoint specific query parameters
6705             'cluster_manager_timeout' => 'string',
6706             'wait_for_completion' => 'boolean',
6707             # Common API query parameters
6708             'error_trace' => 'boolean',
6709             'filter_path' => 'list',
6710             'human' => 'boolean',
6711             'pretty' => 'boolean',
6712             'source' => 'string',
6713             },
6714             },
6715              
6716             'replication.autofollow_stats' => {
6717             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#get-auto-follow-stats',
6718             method => 'GET',
6719             parts => {},
6720             paths => [[ {}, "_plugins", "_replication", "autofollow_stats" ]],
6721             qs => {
6722             # Common API query parameters
6723             'error_trace' => 'boolean',
6724             'filter_path' => 'list',
6725             'human' => 'boolean',
6726             'pretty' => 'boolean',
6727             'source' => 'string',
6728             },
6729             },
6730              
6731             'replication.create_replication_rule' => {
6732             body => {},
6733             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#create-replication-rule',
6734             method => 'POST',
6735             parts => {},
6736             paths => [[ {}, "_plugins", "_replication", "_autofollow" ]],
6737             qs => {
6738             # Common API query parameters
6739             'error_trace' => 'boolean',
6740             'filter_path' => 'list',
6741             'human' => 'boolean',
6742             'pretty' => 'boolean',
6743             'source' => 'string',
6744             },
6745             },
6746              
6747             'replication.delete_replication_rule' => {
6748             body => {},
6749             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#delete-replication-rule',
6750             method => 'DELETE',
6751             parts => {},
6752             paths => [[ {}, "_plugins", "_replication", "_autofollow" ]],
6753             qs => {
6754             # Common API query parameters
6755             'error_trace' => 'boolean',
6756             'filter_path' => 'list',
6757             'human' => 'boolean',
6758             'pretty' => 'boolean',
6759             'source' => 'string',
6760             },
6761             },
6762              
6763             'replication.follower_stats' => {
6764             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#get-follower-cluster-stats',
6765             method => 'GET',
6766             parts => {},
6767             paths => [[ {}, "_plugins", "_replication", "follower_stats" ]],
6768             qs => {
6769             # Common API query parameters
6770             'error_trace' => 'boolean',
6771             'filter_path' => 'list',
6772             'human' => 'boolean',
6773             'pretty' => 'boolean',
6774             'source' => 'string',
6775             },
6776             },
6777              
6778             'replication.leader_stats' => {
6779             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#get-leader-cluster-stats',
6780             method => 'GET',
6781             parts => {},
6782             paths => [[ {}, "_plugins", "_replication", "leader_stats" ]],
6783             qs => {
6784             # Common API query parameters
6785             'error_trace' => 'boolean',
6786             'filter_path' => 'list',
6787             'human' => 'boolean',
6788             'pretty' => 'boolean',
6789             'source' => 'string',
6790             },
6791             },
6792              
6793             'replication.pause' => {
6794             body => {},
6795             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#pause-replication',
6796             method => 'POST',
6797             parts => { index => { required => 1 }},
6798             paths => [[ { index => 2 }, "_plugins", "_replication", "{index}", "_pause" ]],
6799             qs => {
6800             # Common API query parameters
6801             'error_trace' => 'boolean',
6802             'filter_path' => 'list',
6803             'human' => 'boolean',
6804             'pretty' => 'boolean',
6805             'source' => 'string',
6806             },
6807             },
6808              
6809             'replication.resume' => {
6810             body => {},
6811             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#resume-replication',
6812             method => 'POST',
6813             parts => { index => { required => 1 }},
6814             paths => [[ { index => 2 }, "_plugins", "_replication", "{index}", "_resume" ]],
6815             qs => {
6816             # Common API query parameters
6817             'error_trace' => 'boolean',
6818             'filter_path' => 'list',
6819             'human' => 'boolean',
6820             'pretty' => 'boolean',
6821             'source' => 'string',
6822             },
6823             },
6824              
6825             'replication.start' => {
6826             body => {},
6827             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#start-replication',
6828             method => 'PUT',
6829             parts => { index => { required => 1 }},
6830             paths => [[ { index => 2 }, "_plugins", "_replication", "{index}", "_start" ]],
6831             qs => {
6832             # Common API query parameters
6833             'error_trace' => 'boolean',
6834             'filter_path' => 'list',
6835             'human' => 'boolean',
6836             'pretty' => 'boolean',
6837             'source' => 'string',
6838             },
6839             },
6840              
6841             'replication.status' => {
6842             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#get-replication-status',
6843             method => 'GET',
6844             parts => { index => { required => 1 }},
6845             paths => [[ { index => 2 }, "_plugins", "_replication", "{index}", "_status" ]],
6846             qs => {
6847             # Common API query parameters
6848             'error_trace' => 'boolean',
6849             'filter_path' => 'list',
6850             'human' => 'boolean',
6851             'pretty' => 'boolean',
6852             'source' => 'string',
6853             },
6854             },
6855              
6856             'replication.stop' => {
6857             body => {},
6858             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#stop-replication',
6859             method => 'POST',
6860             parts => { index => { required => 1 }},
6861             paths => [[ { index => 2 }, "_plugins", "_replication", "{index}", "_stop" ]],
6862             qs => {
6863             # Common API query parameters
6864             'error_trace' => 'boolean',
6865             'filter_path' => 'list',
6866             'human' => 'boolean',
6867             'pretty' => 'boolean',
6868             'source' => 'string',
6869             },
6870             },
6871              
6872             'replication.update_settings' => {
6873             body => {},
6874             doc => 'https://opensearch.org/docs/latest/tuning-your-cluster/replication-plugin/api/#update-settings',
6875             method => 'PUT',
6876             parts => { index => { required => 1 }},
6877             paths => [[ { index => 2 }, "_plugins", "_replication", "{index}", "_update" ]],
6878             qs => {
6879             # Common API query parameters
6880             'error_trace' => 'boolean',
6881             'filter_path' => 'list',
6882             'human' => 'boolean',
6883             'pretty' => 'boolean',
6884             'source' => 'string',
6885             },
6886             },
6887              
6888             'rollups.delete' => {
6889             doc => 'https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#delete-an-index-rollup-job',
6890             method => 'DELETE',
6891             parts => { id => { required => 1 }},
6892             paths => [[ { id => 3 }, "_plugins", "_rollup", "jobs", "{id}" ]],
6893             qs => {
6894             # Common API query parameters
6895             'error_trace' => 'boolean',
6896             'filter_path' => 'list',
6897             'human' => 'boolean',
6898             'pretty' => 'boolean',
6899             'source' => 'string',
6900             },
6901             },
6902              
6903             'rollups.explain' => {
6904             doc => 'https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#explain-an-index-rollup-job',
6905             method => 'GET',
6906             parts => { id => { required => 1 }},
6907             paths => [[ { id => 3 }, "_plugins", "_rollup", "jobs", "{id}", "_explain" ]],
6908             qs => {
6909             # Common API query parameters
6910             'error_trace' => 'boolean',
6911             'filter_path' => 'list',
6912             'human' => 'boolean',
6913             'pretty' => 'boolean',
6914             'source' => 'string',
6915             },
6916             },
6917              
6918             'rollups.get' => {
6919             doc => 'https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#get-an-index-rollup-job',
6920             method => 'GET',
6921             parts => { id => { required => 1 }},
6922             paths => [[ { id => 3 }, "_plugins", "_rollup", "jobs", "{id}" ]],
6923             qs => {
6924             # Common API query parameters
6925             'error_trace' => 'boolean',
6926             'filter_path' => 'list',
6927             'human' => 'boolean',
6928             'pretty' => 'boolean',
6929             'source' => 'string',
6930             },
6931             },
6932              
6933             'rollups.put' => {
6934             body => {},
6935             doc => 'https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#create-or-update-an-index-rollup-job',
6936             method => 'PUT',
6937             parts => { id => { required => 1 }},
6938             paths => [[ { id => 3 }, "_plugins", "_rollup", "jobs", "{id}" ]],
6939             qs => {
6940             # Endpoint specific query parameters
6941             'if_primary_term' => 'number',
6942             'if_seq_no' => 'number',
6943             # Common API query parameters
6944             'error_trace' => 'boolean',
6945             'filter_path' => 'list',
6946             'human' => 'boolean',
6947             'pretty' => 'boolean',
6948             'source' => 'string',
6949             },
6950             },
6951              
6952             'rollups.start' => {
6953             doc => 'https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#start-or-stop-an-index-rollup-job',
6954             method => 'POST',
6955             parts => { id => { required => 1 }},
6956             paths => [[ { id => 3 }, "_plugins", "_rollup", "jobs", "{id}", "_start" ]],
6957             qs => {
6958             # Common API query parameters
6959             'error_trace' => 'boolean',
6960             'filter_path' => 'list',
6961             'human' => 'boolean',
6962             'pretty' => 'boolean',
6963             'source' => 'string',
6964             },
6965             },
6966              
6967             'rollups.stop' => {
6968             doc => 'https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#start-or-stop-an-index-rollup-job',
6969             method => 'POST',
6970             parts => { id => { required => 1 }},
6971             paths => [[ { id => 3 }, "_plugins", "_rollup", "jobs", "{id}", "_stop" ]],
6972             qs => {
6973             # Common API query parameters
6974             'error_trace' => 'boolean',
6975             'filter_path' => 'list',
6976             'human' => 'boolean',
6977             'pretty' => 'boolean',
6978             'source' => 'string',
6979             },
6980             },
6981              
6982             'search_pipeline.delete' => {
6983             doc => 'https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/',
6984             method => 'DELETE',
6985             parts => { id => { required => 1 }},
6986             paths => [[ { id => 2 }, "_search", "pipeline", "{id}" ]],
6987             qs => {
6988             # Endpoint specific query parameters
6989             'cluster_manager_timeout' => 'string',
6990             'timeout' => 'string',
6991             # Common API query parameters
6992             'error_trace' => 'boolean',
6993             'filter_path' => 'list',
6994             'human' => 'boolean',
6995             'pretty' => 'boolean',
6996             'source' => 'string',
6997             },
6998             },
6999              
7000             'search_pipeline.get' => {
7001             doc => 'https://docs.opensearch.org/latest/search-plugins/search-pipelines/index/',
7002             method => 'GET',
7003             parts => { id => {}},
7004             paths => [
7005             [ { id => 2 }, "_search", "pipeline", "{id}" ],
7006             [ {}, "_search", "pipeline" ]
7007             ],
7008             qs => {
7009             # Endpoint specific query parameters
7010             'cluster_manager_timeout' => 'string',
7011             # Common API query parameters
7012             'error_trace' => 'boolean',
7013             'filter_path' => 'list',
7014             'human' => 'boolean',
7015             'pretty' => 'boolean',
7016             'source' => 'string',
7017             },
7018             },
7019              
7020             'search_pipeline.put' => {
7021             body => {},
7022             doc => 'https://opensearch.org/docs/latest/search-plugins/search-pipelines/creating-search-pipeline/',
7023             method => 'PUT',
7024             parts => { id => { required => 1 }},
7025             paths => [[ { id => 2 }, "_search", "pipeline", "{id}" ]],
7026             qs => {
7027             # Endpoint specific query parameters
7028             'cluster_manager_timeout' => 'string',
7029             'timeout' => 'string',
7030             # Common API query parameters
7031             'error_trace' => 'boolean',
7032             'filter_path' => 'list',
7033             'human' => 'boolean',
7034             'pretty' => 'boolean',
7035             'source' => 'string',
7036             },
7037             },
7038              
7039             'search_relevance.delete_experiments' => {
7040             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7041             method => 'DELETE',
7042             parts => { experiment_id => { required => 1 }},
7043             paths => [[ { experiment_id => 3 }, "_plugins", "_search_relevance", "experiments", "{experiment_id}" ]],
7044             qs => {
7045             # Common API query parameters
7046             'error_trace' => 'boolean',
7047             'filter_path' => 'list',
7048             'human' => 'boolean',
7049             'pretty' => 'boolean',
7050             'source' => 'string',
7051             },
7052             },
7053              
7054             'search_relevance.delete_judgments' => {
7055             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7056             method => 'DELETE',
7057             parts => { judgment_id => { required => 1 }},
7058             paths => [[ { judgment_id => 3 }, "_plugins", "_search_relevance", "judgments", "{judgment_id}" ]],
7059             qs => {
7060             # Common API query parameters
7061             'error_trace' => 'boolean',
7062             'filter_path' => 'list',
7063             'human' => 'boolean',
7064             'pretty' => 'boolean',
7065             'source' => 'string',
7066             },
7067             },
7068              
7069             'search_relevance.delete_query_sets' => {
7070             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7071             method => 'DELETE',
7072             parts => { query_set_id => { required => 1 }},
7073             paths => [[ { query_set_id => 3 }, "_plugins", "_search_relevance", "query_sets", "{query_set_id}" ]],
7074             qs => {
7075             # Common API query parameters
7076             'error_trace' => 'boolean',
7077             'filter_path' => 'list',
7078             'human' => 'boolean',
7079             'pretty' => 'boolean',
7080             'source' => 'string',
7081             },
7082             },
7083              
7084             'search_relevance.delete_scheduled_experiments' => {
7085             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7086             method => 'DELETE',
7087             parts => { experiment_id => { required => 1 }},
7088             paths => [[ { experiment_id => 4 }, "_plugins", "_search_relevance", "experiments", "schedule", "{experiment_id}" ]],
7089             qs => {
7090             # Common API query parameters
7091             'error_trace' => 'boolean',
7092             'filter_path' => 'list',
7093             'human' => 'boolean',
7094             'pretty' => 'boolean',
7095             'source' => 'string',
7096             },
7097             },
7098              
7099             'search_relevance.delete_search_configurations' => {
7100             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7101             method => 'DELETE',
7102             parts => { search_configuration_id => { required => 1 }},
7103             paths => [[ { search_configuration_id => 3 }, "_plugins", "_search_relevance", "search_configurations", "{search_configuration_id}" ]],
7104             qs => {
7105             # Common API query parameters
7106             'error_trace' => 'boolean',
7107             'filter_path' => 'list',
7108             'human' => 'boolean',
7109             'pretty' => 'boolean',
7110             'source' => 'string',
7111             },
7112             },
7113              
7114             'search_relevance.get_experiments' => {
7115             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7116             method => 'GET',
7117             parts => { experiment_id => {}},
7118             paths => [
7119             [ { experiment_id => 3 }, "_plugins", "_search_relevance", "experiments", "{experiment_id}" ],
7120             [ {}, "_plugins", "_search_relevance", "experiments" ]
7121             ],
7122             qs => {
7123             # Common API query parameters
7124             'error_trace' => 'boolean',
7125             'filter_path' => 'list',
7126             'human' => 'boolean',
7127             'pretty' => 'boolean',
7128             'source' => 'string',
7129             },
7130             },
7131              
7132             'search_relevance.get_judgments' => {
7133             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7134             method => 'GET',
7135             parts => { judgment_id => {}},
7136             paths => [
7137             [ { judgment_id => 3 }, "_plugins", "_search_relevance", "judgments", "{judgment_id}" ],
7138             [ {}, "_plugins", "_search_relevance", "judgments" ]
7139             ],
7140             qs => {
7141             # Common API query parameters
7142             'error_trace' => 'boolean',
7143             'filter_path' => 'list',
7144             'human' => 'boolean',
7145             'pretty' => 'boolean',
7146             'source' => 'string',
7147             },
7148             },
7149              
7150             'search_relevance.get_node_stats' => {
7151             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7152             method => 'GET',
7153             parts => { node_id => { required => 1 }, stat => {}},
7154             paths => [
7155             [ { node_id => 2, stat => 4 }, "_plugins", "_search_relevance", "{node_id}", "stats", "{stat}" ],
7156             [ { node_id => 2 }, "_plugins", "_search_relevance", "{node_id}", "stats" ]
7157             ],
7158             qs => {
7159             # Endpoint specific query parameters
7160             'flat_stat_paths' => 'string',
7161             'include_all_nodes' => 'string',
7162             'include_individual_nodes' => 'string',
7163             'include_info' => 'string',
7164             'include_metadata' => 'string',
7165             # Common API query parameters
7166             'error_trace' => 'boolean',
7167             'filter_path' => 'list',
7168             'human' => 'boolean',
7169             'pretty' => 'boolean',
7170             'source' => 'string',
7171             },
7172             },
7173              
7174             'search_relevance.get_query_sets' => {
7175             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7176             method => 'GET',
7177             parts => { query_set_id => {}},
7178             paths => [
7179             [ { query_set_id => 3 }, "_plugins", "_search_relevance", "query_sets", "{query_set_id}" ],
7180             [ {}, "_plugins", "_search_relevance", "query_sets" ]
7181             ],
7182             qs => {
7183             # Common API query parameters
7184             'error_trace' => 'boolean',
7185             'filter_path' => 'list',
7186             'human' => 'boolean',
7187             'pretty' => 'boolean',
7188             'source' => 'string',
7189             },
7190             },
7191              
7192             'search_relevance.get_scheduled_experiments' => {
7193             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7194             method => 'GET',
7195             parts => { experiment_id => {}},
7196             paths => [
7197             [ { experiment_id => 4 }, "_plugins", "_search_relevance", "experiments", "schedule", "{experiment_id}" ],
7198             [ {}, "_plugins", "_search_relevance", "experiments", "schedule" ]
7199             ],
7200             qs => {
7201             # Common API query parameters
7202             'error_trace' => 'boolean',
7203             'filter_path' => 'list',
7204             'human' => 'boolean',
7205             'pretty' => 'boolean',
7206             'source' => 'string',
7207             },
7208             },
7209              
7210             'search_relevance.get_search_configurations' => {
7211             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7212             method => 'GET',
7213             parts => { search_configuration_id => {}},
7214             paths => [
7215             [ { search_configuration_id => 3 }, "_plugins", "_search_relevance", "search_configurations", "{search_configuration_id}" ],
7216             [ {}, "_plugins", "_search_relevance", "search_configurations" ]
7217             ],
7218             qs => {
7219             # Common API query parameters
7220             'error_trace' => 'boolean',
7221             'filter_path' => 'list',
7222             'human' => 'boolean',
7223             'pretty' => 'boolean',
7224             'source' => 'string',
7225             },
7226             },
7227              
7228             'search_relevance.get_stats' => {
7229             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7230             method => 'GET',
7231             parts => { stat => {}},
7232             paths => [
7233             [ { stat => 3 }, "_plugins", "_search_relevance", "stats", "{stat}" ],
7234             [ {}, "_plugins", "_search_relevance", "stats" ]
7235             ],
7236             qs => {
7237             # Endpoint specific query parameters
7238             'flat_stat_paths' => 'string',
7239             'include_all_nodes' => 'string',
7240             'include_individual_nodes' => 'string',
7241             'include_info' => 'string',
7242             'include_metadata' => 'string',
7243             # Common API query parameters
7244             'error_trace' => 'boolean',
7245             'filter_path' => 'list',
7246             'human' => 'boolean',
7247             'pretty' => 'boolean',
7248             'source' => 'string',
7249             },
7250             },
7251              
7252             'search_relevance.post_query_sets' => {
7253             body => {},
7254             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7255             method => 'POST',
7256             parts => {},
7257             paths => [[ {}, "_plugins", "_search_relevance", "query_sets" ]],
7258             qs => {
7259             # Common API query parameters
7260             'error_trace' => 'boolean',
7261             'filter_path' => 'list',
7262             'human' => 'boolean',
7263             'pretty' => 'boolean',
7264             'source' => 'string',
7265             },
7266             },
7267              
7268             'search_relevance.post_scheduled_experiments' => {
7269             body => {},
7270             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7271             method => 'POST',
7272             parts => {},
7273             paths => [[ {}, "_plugins", "_search_relevance", "experiments", "schedule" ]],
7274             qs => {
7275             # Common API query parameters
7276             'error_trace' => 'boolean',
7277             'filter_path' => 'list',
7278             'human' => 'boolean',
7279             'pretty' => 'boolean',
7280             'source' => 'string',
7281             },
7282             },
7283              
7284             'search_relevance.put_experiments' => {
7285             body => {},
7286             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7287             method => 'PUT',
7288             parts => {},
7289             paths => [[ {}, "_plugins", "_search_relevance", "experiments" ]],
7290             qs => {
7291             # Common API query parameters
7292             'error_trace' => 'boolean',
7293             'filter_path' => 'list',
7294             'human' => 'boolean',
7295             'pretty' => 'boolean',
7296             'source' => 'string',
7297             },
7298             },
7299              
7300             'search_relevance.put_judgments' => {
7301             body => {},
7302             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7303             method => 'PUT',
7304             parts => {},
7305             paths => [[ {}, "_plugins", "_search_relevance", "judgments" ]],
7306             qs => {
7307             # Common API query parameters
7308             'error_trace' => 'boolean',
7309             'filter_path' => 'list',
7310             'human' => 'boolean',
7311             'pretty' => 'boolean',
7312             'source' => 'string',
7313             },
7314             },
7315              
7316             'search_relevance.put_query_sets' => {
7317             body => {},
7318             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7319             method => 'PUT',
7320             parts => {},
7321             paths => [[ {}, "_plugins", "_search_relevance", "query_sets" ]],
7322             qs => {
7323             # Common API query parameters
7324             'error_trace' => 'boolean',
7325             'filter_path' => 'list',
7326             'human' => 'boolean',
7327             'pretty' => 'boolean',
7328             'source' => 'string',
7329             },
7330             },
7331              
7332             'search_relevance.put_search_configurations' => {
7333             body => {},
7334             doc => 'https://docs.opensearch.org/latest/search-plugins/search-relevance/using-search-relevance-workbench/',
7335             method => 'PUT',
7336             parts => {},
7337             paths => [[ {}, "_plugins", "_search_relevance", "search_configurations" ]],
7338             qs => {
7339             # Common API query parameters
7340             'error_trace' => 'boolean',
7341             'filter_path' => 'list',
7342             'human' => 'boolean',
7343             'pretty' => 'boolean',
7344             'source' => 'string',
7345             },
7346             },
7347              
7348             'security.authinfo' => {
7349             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7350             ## ENDPOINT HAS ALTERNATE METHOD
7351             method => 'detect',
7352             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
7353             parts => {},
7354             paths => [[ {}, "_plugins", "_security", "authinfo" ]],
7355             qs => {
7356             # Endpoint specific query parameters
7357             'auth_type' => 'string',
7358             'verbose' => 'boolean',
7359             # Common API query parameters
7360             'error_trace' => 'boolean',
7361             'filter_path' => 'list',
7362             'human' => 'boolean',
7363             'pretty' => 'boolean',
7364             'source' => 'string',
7365             },
7366             },
7367              
7368             'security.authtoken' => {
7369             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7370             method => 'POST',
7371             parts => {},
7372             paths => [[ {}, "_plugins", "_security", "api", "authtoken" ]],
7373             qs => {
7374             # Common API query parameters
7375             'error_trace' => 'boolean',
7376             'filter_path' => 'list',
7377             'human' => 'boolean',
7378             'pretty' => 'boolean',
7379             'source' => 'string',
7380             },
7381             },
7382              
7383             'security.change_password' => {
7384             body => {},
7385             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#change-password',
7386             method => 'PUT',
7387             parts => {},
7388             paths => [[ {}, "_plugins", "_security", "api", "account" ]],
7389             qs => {
7390             # Common API query parameters
7391             'error_trace' => 'boolean',
7392             'filter_path' => 'list',
7393             'human' => 'boolean',
7394             'pretty' => 'boolean',
7395             'source' => 'string',
7396             },
7397             },
7398              
7399             'security.config_upgrade_check' => {
7400             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#configuration-upgrade-check',
7401             method => 'GET',
7402             parts => {},
7403             paths => [[ {}, "_plugins", "_security", "api", "_upgrade_check" ]],
7404             qs => {
7405             # Common API query parameters
7406             'error_trace' => 'boolean',
7407             'filter_path' => 'list',
7408             'human' => 'boolean',
7409             'pretty' => 'boolean',
7410             'source' => 'string',
7411             },
7412             },
7413              
7414             'security.config_upgrade_perform' => {
7415             body => {},
7416             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#configuration-upgrade',
7417             method => 'POST',
7418             parts => {},
7419             paths => [[ {}, "_plugins", "_security", "api", "_upgrade_perform" ]],
7420             qs => {
7421             # Common API query parameters
7422             'error_trace' => 'boolean',
7423             'filter_path' => 'list',
7424             'human' => 'boolean',
7425             'pretty' => 'boolean',
7426             'source' => 'string',
7427             },
7428             },
7429              
7430             'security.create_action_group' => {
7431             body => {},
7432             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#create-action-group',
7433             method => 'PUT',
7434             parts => { action_group => { required => 1 }},
7435             paths => [[ { action_group => 4 }, "_plugins", "_security", "api", "actiongroups", "{action_group}" ]],
7436             qs => {
7437             # Common API query parameters
7438             'error_trace' => 'boolean',
7439             'filter_path' => 'list',
7440             'human' => 'boolean',
7441             'pretty' => 'boolean',
7442             'source' => 'string',
7443             },
7444             },
7445              
7446             'security.create_allowlist' => {
7447             body => {},
7448             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api',
7449             method => 'PUT',
7450             parts => {},
7451             paths => [[ {}, "_plugins", "_security", "api", "allowlist" ]],
7452             qs => {
7453             # Common API query parameters
7454             'error_trace' => 'boolean',
7455             'filter_path' => 'list',
7456             'human' => 'boolean',
7457             'pretty' => 'boolean',
7458             'source' => 'string',
7459             },
7460             },
7461              
7462             'security.create_role' => {
7463             body => {},
7464             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#create-role',
7465             method => 'PUT',
7466             parts => { role => { required => 1 }},
7467             paths => [[ { role => 4 }, "_plugins", "_security", "api", "roles", "{role}" ]],
7468             qs => {
7469             # Common API query parameters
7470             'error_trace' => 'boolean',
7471             'filter_path' => 'list',
7472             'human' => 'boolean',
7473             'pretty' => 'boolean',
7474             'source' => 'string',
7475             },
7476             },
7477              
7478             'security.create_role_mapping' => {
7479             body => {},
7480             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#create-role-mapping',
7481             method => 'PUT',
7482             parts => { role => { required => 1 }},
7483             paths => [[ { role => 4 }, "_plugins", "_security", "api", "rolesmapping", "{role}" ]],
7484             qs => {
7485             # Common API query parameters
7486             'error_trace' => 'boolean',
7487             'filter_path' => 'list',
7488             'human' => 'boolean',
7489             'pretty' => 'boolean',
7490             'source' => 'string',
7491             },
7492             },
7493              
7494             'security.create_tenant' => {
7495             body => {},
7496             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#create-tenant',
7497             method => 'PUT',
7498             parts => { tenant => { required => 1 }},
7499             paths => [[ { tenant => 4 }, "_plugins", "_security", "api", "tenants", "{tenant}" ]],
7500             qs => {
7501             # Common API query parameters
7502             'error_trace' => 'boolean',
7503             'filter_path' => 'list',
7504             'human' => 'boolean',
7505             'pretty' => 'boolean',
7506             'source' => 'string',
7507             },
7508             },
7509              
7510             'security.create_update_tenancy_config' => {
7511             body => {},
7512             doc => 'https://opensearch.org/docs/latest/security/multi-tenancy/dynamic-config/#configuring-multi-tenancy-with-the-rest-api',
7513             method => 'PUT',
7514             parts => {},
7515             paths => [[ {}, "_plugins", "_security", "api", "tenancy", "config" ]],
7516             qs => {
7517             # Common API query parameters
7518             'error_trace' => 'boolean',
7519             'filter_path' => 'list',
7520             'human' => 'boolean',
7521             'pretty' => 'boolean',
7522             'source' => 'string',
7523             },
7524             },
7525              
7526             'security.create_user' => {
7527             body => {},
7528             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#create-user',
7529             method => 'PUT',
7530             parts => { username => { required => 1 }},
7531             paths => [[ { username => 4 }, "_plugins", "_security", "api", "internalusers", "{username}" ]],
7532             qs => {
7533             # Common API query parameters
7534             'error_trace' => 'boolean',
7535             'filter_path' => 'list',
7536             'human' => 'boolean',
7537             'pretty' => 'boolean',
7538             'source' => 'string',
7539             },
7540             },
7541              
7542             'security.create_user_legacy' => {
7543             body => {},
7544             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7545             method => 'PUT',
7546             parts => { username => { required => 1 }},
7547             paths => [[ { username => 4 }, "_plugins", "_security", "api", "user", "{username}" ]],
7548             qs => {
7549             # Common API query parameters
7550             'error_trace' => 'boolean',
7551             'filter_path' => 'list',
7552             'human' => 'boolean',
7553             'pretty' => 'boolean',
7554             'source' => 'string',
7555             },
7556             },
7557              
7558             'security.delete_action_group' => {
7559             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#delete-action-group',
7560             method => 'DELETE',
7561             parts => { action_group => { required => 1 }},
7562             paths => [[ { action_group => 4 }, "_plugins", "_security", "api", "actiongroups", "{action_group}" ]],
7563             qs => {
7564             # Common API query parameters
7565             'error_trace' => 'boolean',
7566             'filter_path' => 'list',
7567             'human' => 'boolean',
7568             'pretty' => 'boolean',
7569             'source' => 'string',
7570             },
7571             },
7572              
7573             'security.delete_distinguished_name' => {
7574             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#delete-distinguished-names',
7575             method => 'DELETE',
7576             parts => { cluster_name => { required => 1 }},
7577             paths => [[ { cluster_name => 4 }, "_plugins", "_security", "api", "nodesdn", "{cluster_name}" ]],
7578             qs => {
7579             # Common API query parameters
7580             'error_trace' => 'boolean',
7581             'filter_path' => 'list',
7582             'human' => 'boolean',
7583             'pretty' => 'boolean',
7584             'source' => 'string',
7585             },
7586             },
7587              
7588             'security.delete_role' => {
7589             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#delete-role',
7590             method => 'DELETE',
7591             parts => { role => { required => 1 }},
7592             paths => [[ { role => 4 }, "_plugins", "_security", "api", "roles", "{role}" ]],
7593             qs => {
7594             # Common API query parameters
7595             'error_trace' => 'boolean',
7596             'filter_path' => 'list',
7597             'human' => 'boolean',
7598             'pretty' => 'boolean',
7599             'source' => 'string',
7600             },
7601             },
7602              
7603             'security.delete_role_mapping' => {
7604             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#delete-role-mapping',
7605             method => 'DELETE',
7606             parts => { role => { required => 1 }},
7607             paths => [[ { role => 4 }, "_plugins", "_security", "api", "rolesmapping", "{role}" ]],
7608             qs => {
7609             # Common API query parameters
7610             'error_trace' => 'boolean',
7611             'filter_path' => 'list',
7612             'human' => 'boolean',
7613             'pretty' => 'boolean',
7614             'source' => 'string',
7615             },
7616             },
7617              
7618             'security.delete_tenant' => {
7619             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#delete-action-group',
7620             method => 'DELETE',
7621             parts => { tenant => { required => 1 }},
7622             paths => [[ { tenant => 4 }, "_plugins", "_security", "api", "tenants", "{tenant}" ]],
7623             qs => {
7624             # Common API query parameters
7625             'error_trace' => 'boolean',
7626             'filter_path' => 'list',
7627             'human' => 'boolean',
7628             'pretty' => 'boolean',
7629             'source' => 'string',
7630             },
7631             },
7632              
7633             'security.delete_user' => {
7634             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#delete-user',
7635             method => 'DELETE',
7636             parts => { username => { required => 1 }},
7637             paths => [[ { username => 4 }, "_plugins", "_security", "api", "internalusers", "{username}" ]],
7638             qs => {
7639             # Common API query parameters
7640             'error_trace' => 'boolean',
7641             'filter_path' => 'list',
7642             'human' => 'boolean',
7643             'pretty' => 'boolean',
7644             'source' => 'string',
7645             },
7646             },
7647              
7648             'security.delete_user_legacy' => {
7649             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7650             method => 'DELETE',
7651             parts => { username => { required => 1 }},
7652             paths => [[ { username => 4 }, "_plugins", "_security", "api", "user", "{username}" ]],
7653             qs => {
7654             # Common API query parameters
7655             'error_trace' => 'boolean',
7656             'filter_path' => 'list',
7657             'human' => 'boolean',
7658             'pretty' => 'boolean',
7659             'source' => 'string',
7660             },
7661             },
7662              
7663             'security.flush_cache' => {
7664             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#flush-cache',
7665             method => 'DELETE',
7666             parts => {},
7667             paths => [[ {}, "_plugins", "_security", "api", "cache" ]],
7668             qs => {
7669             # Common API query parameters
7670             'error_trace' => 'boolean',
7671             'filter_path' => 'list',
7672             'human' => 'boolean',
7673             'pretty' => 'boolean',
7674             'source' => 'string',
7675             },
7676             },
7677              
7678             'security.generate_obo_token' => {
7679             body => {},
7680             doc => 'https://opensearch.org/docs/latest/security/access-control/authentication-tokens/#api-endpoint',
7681             method => 'POST',
7682             parts => {},
7683             paths => [[ {}, "_plugins", "_security", "api", "generateonbehalfoftoken" ]],
7684             qs => {
7685             # Common API query parameters
7686             'error_trace' => 'boolean',
7687             'filter_path' => 'list',
7688             'human' => 'boolean',
7689             'pretty' => 'boolean',
7690             'source' => 'string',
7691             },
7692             },
7693              
7694             'security.generate_user_token' => {
7695             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7696             method => 'POST',
7697             parts => { username => { required => 1 }},
7698             paths => [[ { username => 4 }, "_plugins", "_security", "api", "internalusers", "{username}", "authtoken" ]],
7699             qs => {
7700             # Common API query parameters
7701             'error_trace' => 'boolean',
7702             'filter_path' => 'list',
7703             'human' => 'boolean',
7704             'pretty' => 'boolean',
7705             'source' => 'string',
7706             },
7707             },
7708              
7709             'security.generate_user_token_legacy' => {
7710             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7711             method => 'POST',
7712             parts => { username => { required => 1 }},
7713             paths => [[ { username => 4 }, "_plugins", "_security", "api", "user", "{username}", "authtoken" ]],
7714             qs => {
7715             # Common API query parameters
7716             'error_trace' => 'boolean',
7717             'filter_path' => 'list',
7718             'human' => 'boolean',
7719             'pretty' => 'boolean',
7720             'source' => 'string',
7721             },
7722             },
7723              
7724             'security.get_account_details' => {
7725             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-account-details',
7726             method => 'GET',
7727             parts => {},
7728             paths => [[ {}, "_plugins", "_security", "api", "account" ]],
7729             qs => {
7730             # Common API query parameters
7731             'error_trace' => 'boolean',
7732             'filter_path' => 'list',
7733             'human' => 'boolean',
7734             'pretty' => 'boolean',
7735             'source' => 'string',
7736             },
7737             },
7738              
7739             'security.get_action_group' => {
7740             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-action-group',
7741             method => 'GET',
7742             parts => { action_group => { required => 1 }},
7743             paths => [[ { action_group => 4 }, "_plugins", "_security", "api", "actiongroups", "{action_group}" ]],
7744             qs => {
7745             # Common API query parameters
7746             'error_trace' => 'boolean',
7747             'filter_path' => 'list',
7748             'human' => 'boolean',
7749             'pretty' => 'boolean',
7750             'source' => 'string',
7751             },
7752             },
7753              
7754             'security.get_action_groups' => {
7755             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-action-groups',
7756             method => 'GET',
7757             parts => {},
7758             paths => [[ {}, "_plugins", "_security", "api", "actiongroups" ]],
7759             qs => {
7760             # Common API query parameters
7761             'error_trace' => 'boolean',
7762             'filter_path' => 'list',
7763             'human' => 'boolean',
7764             'pretty' => 'boolean',
7765             'source' => 'string',
7766             },
7767             },
7768              
7769             'security.get_all_certificates' => {
7770             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7771             method => 'GET',
7772             parts => {},
7773             paths => [[ {}, "_plugins", "_security", "api", "certificates" ]],
7774             qs => {
7775             # Endpoint specific query parameters
7776             'cert_type' => 'string',
7777             'timeout' => 'string',
7778             # Common API query parameters
7779             'error_trace' => 'boolean',
7780             'filter_path' => 'list',
7781             'human' => 'boolean',
7782             'pretty' => 'boolean',
7783             'source' => 'string',
7784             },
7785             },
7786              
7787             'security.get_allowlist' => {
7788             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api',
7789             method => 'GET',
7790             parts => {},
7791             paths => [[ {}, "_plugins", "_security", "api", "allowlist" ]],
7792             qs => {
7793             # Common API query parameters
7794             'error_trace' => 'boolean',
7795             'filter_path' => 'list',
7796             'human' => 'boolean',
7797             'pretty' => 'boolean',
7798             'source' => 'string',
7799             },
7800             },
7801              
7802             'security.get_audit_configuration' => {
7803             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#audit-logs',
7804             method => 'GET',
7805             parts => {},
7806             paths => [[ {}, "_plugins", "_security", "api", "audit" ]],
7807             qs => {
7808             # Common API query parameters
7809             'error_trace' => 'boolean',
7810             'filter_path' => 'list',
7811             'human' => 'boolean',
7812             'pretty' => 'boolean',
7813             'source' => 'string',
7814             },
7815             },
7816              
7817             'security.get_certificates' => {
7818             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-certificates',
7819             method => 'GET',
7820             parts => {},
7821             paths => [[ {}, "_plugins", "_security", "api", "ssl", "certs" ]],
7822             qs => {
7823             # Common API query parameters
7824             'error_trace' => 'boolean',
7825             'filter_path' => 'list',
7826             'human' => 'boolean',
7827             'pretty' => 'boolean',
7828             'source' => 'string',
7829             },
7830             },
7831              
7832             'security.get_configuration' => {
7833             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-configuration',
7834             method => 'GET',
7835             parts => {},
7836             paths => [[ {}, "_plugins", "_security", "api", "securityconfig" ]],
7837             qs => {
7838             # Common API query parameters
7839             'error_trace' => 'boolean',
7840             'filter_path' => 'list',
7841             'human' => 'boolean',
7842             'pretty' => 'boolean',
7843             'source' => 'string',
7844             },
7845             },
7846              
7847             'security.get_dashboards_info' => {
7848             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7849             method => 'GET',
7850             parts => {},
7851             paths => [[ {}, "_plugins", "_security", "dashboardsinfo" ]],
7852             qs => {
7853             # Common API query parameters
7854             'error_trace' => 'boolean',
7855             'filter_path' => 'list',
7856             'human' => 'boolean',
7857             'pretty' => 'boolean',
7858             'source' => 'string',
7859             },
7860             },
7861              
7862             'security.get_distinguished_name' => {
7863             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-distinguished-names',
7864             method => 'GET',
7865             parts => { cluster_name => { required => 1 }},
7866             paths => [[ { cluster_name => 4 }, "_plugins", "_security", "api", "nodesdn", "{cluster_name}" ]],
7867             qs => {
7868             # Endpoint specific query parameters
7869             'show_all' => 'boolean',
7870             # Common API query parameters
7871             'error_trace' => 'boolean',
7872             'filter_path' => 'list',
7873             'human' => 'boolean',
7874             'pretty' => 'boolean',
7875             'source' => 'string',
7876             },
7877             },
7878              
7879             'security.get_distinguished_names' => {
7880             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-distinguished-names',
7881             method => 'GET',
7882             parts => {},
7883             paths => [[ {}, "_plugins", "_security", "api", "nodesdn" ]],
7884             qs => {
7885             # Endpoint specific query parameters
7886             'show_all' => 'boolean',
7887             # Common API query parameters
7888             'error_trace' => 'boolean',
7889             'filter_path' => 'list',
7890             'human' => 'boolean',
7891             'pretty' => 'boolean',
7892             'source' => 'string',
7893             },
7894             },
7895              
7896             'security.get_node_certificates' => {
7897             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7898             method => 'GET',
7899             parts => { node_id => { required => 1 }},
7900             paths => [[ { node_id => 4 }, "_plugins", "_security", "api", "certificates", "{node_id}" ]],
7901             qs => {
7902             # Endpoint specific query parameters
7903             'cert_type' => 'string',
7904             'timeout' => 'string',
7905             # Common API query parameters
7906             'error_trace' => 'boolean',
7907             'filter_path' => 'list',
7908             'human' => 'boolean',
7909             'pretty' => 'boolean',
7910             'source' => 'string',
7911             },
7912             },
7913              
7914             'security.get_permissions_info' => {
7915             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7916             method => 'GET',
7917             parts => {},
7918             paths => [[ {}, "_plugins", "_security", "api", "permissionsinfo" ]],
7919             qs => {
7920             # Common API query parameters
7921             'error_trace' => 'boolean',
7922             'filter_path' => 'list',
7923             'human' => 'boolean',
7924             'pretty' => 'boolean',
7925             'source' => 'string',
7926             },
7927             },
7928              
7929             'security.get_role' => {
7930             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-role',
7931             method => 'GET',
7932             parts => { role => { required => 1 }},
7933             paths => [[ { role => 4 }, "_plugins", "_security", "api", "roles", "{role}" ]],
7934             qs => {
7935             # Common API query parameters
7936             'error_trace' => 'boolean',
7937             'filter_path' => 'list',
7938             'human' => 'boolean',
7939             'pretty' => 'boolean',
7940             'source' => 'string',
7941             },
7942             },
7943              
7944             'security.get_role_mapping' => {
7945             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-role-mapping',
7946             method => 'GET',
7947             parts => { role => { required => 1 }},
7948             paths => [[ { role => 4 }, "_plugins", "_security", "api", "rolesmapping", "{role}" ]],
7949             qs => {
7950             # Common API query parameters
7951             'error_trace' => 'boolean',
7952             'filter_path' => 'list',
7953             'human' => 'boolean',
7954             'pretty' => 'boolean',
7955             'source' => 'string',
7956             },
7957             },
7958              
7959             'security.get_role_mappings' => {
7960             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-role-mappings',
7961             method => 'GET',
7962             parts => {},
7963             paths => [[ {}, "_plugins", "_security", "api", "rolesmapping" ]],
7964             qs => {
7965             # Common API query parameters
7966             'error_trace' => 'boolean',
7967             'filter_path' => 'list',
7968             'human' => 'boolean',
7969             'pretty' => 'boolean',
7970             'source' => 'string',
7971             },
7972             },
7973              
7974             'security.get_roles' => {
7975             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-roles',
7976             method => 'GET',
7977             parts => {},
7978             paths => [[ {}, "_plugins", "_security", "api", "roles" ]],
7979             qs => {
7980             # Common API query parameters
7981             'error_trace' => 'boolean',
7982             'filter_path' => 'list',
7983             'human' => 'boolean',
7984             'pretty' => 'boolean',
7985             'source' => 'string',
7986             },
7987             },
7988              
7989             'security.get_sslinfo' => {
7990             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
7991             method => 'GET',
7992             parts => {},
7993             paths => [[ {}, "_opendistro", "_security", "sslinfo" ]],
7994             qs => {
7995             # Endpoint specific query parameters
7996             'show_dn' => 'boolean',
7997             # Common API query parameters
7998             'error_trace' => 'boolean',
7999             'filter_path' => 'list',
8000             'human' => 'boolean',
8001             'pretty' => 'boolean',
8002             'source' => 'string',
8003             },
8004             },
8005              
8006             'security.get_tenancy_config' => {
8007             doc => 'https://opensearch.org/docs/latest/security/multi-tenancy/dynamic-config/#configuring-multi-tenancy-with-the-rest-api',
8008             method => 'GET',
8009             parts => {},
8010             paths => [[ {}, "_plugins", "_security", "api", "tenancy", "config" ]],
8011             qs => {
8012             # Common API query parameters
8013             'error_trace' => 'boolean',
8014             'filter_path' => 'list',
8015             'human' => 'boolean',
8016             'pretty' => 'boolean',
8017             'source' => 'string',
8018             },
8019             },
8020              
8021             'security.get_tenant' => {
8022             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-tenant',
8023             method => 'GET',
8024             parts => { tenant => { required => 1 }},
8025             paths => [[ { tenant => 4 }, "_plugins", "_security", "api", "tenants", "{tenant}" ]],
8026             qs => {
8027             # Common API query parameters
8028             'error_trace' => 'boolean',
8029             'filter_path' => 'list',
8030             'human' => 'boolean',
8031             'pretty' => 'boolean',
8032             'source' => 'string',
8033             },
8034             },
8035              
8036             'security.get_tenants' => {
8037             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-tenants',
8038             method => 'GET',
8039             parts => {},
8040             paths => [[ {}, "_plugins", "_security", "api", "tenants" ]],
8041             qs => {
8042             # Common API query parameters
8043             'error_trace' => 'boolean',
8044             'filter_path' => 'list',
8045             'human' => 'boolean',
8046             'pretty' => 'boolean',
8047             'source' => 'string',
8048             },
8049             },
8050              
8051             'security.get_user' => {
8052             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-user',
8053             method => 'GET',
8054             parts => { username => { required => 1 }},
8055             paths => [[ { username => 4 }, "_plugins", "_security", "api", "internalusers", "{username}" ]],
8056             qs => {
8057             # Common API query parameters
8058             'error_trace' => 'boolean',
8059             'filter_path' => 'list',
8060             'human' => 'boolean',
8061             'pretty' => 'boolean',
8062             'source' => 'string',
8063             },
8064             },
8065              
8066             'security.get_user_legacy' => {
8067             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8068             method => 'GET',
8069             parts => { username => { required => 1 }},
8070             paths => [[ { username => 4 }, "_plugins", "_security", "api", "user", "{username}" ]],
8071             qs => {
8072             # Common API query parameters
8073             'error_trace' => 'boolean',
8074             'filter_path' => 'list',
8075             'human' => 'boolean',
8076             'pretty' => 'boolean',
8077             'source' => 'string',
8078             },
8079             },
8080              
8081             'security.get_users' => {
8082             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#get-users',
8083             method => 'GET',
8084             parts => {},
8085             paths => [[ {}, "_plugins", "_security", "api", "internalusers" ]],
8086             qs => {
8087             # Common API query parameters
8088             'error_trace' => 'boolean',
8089             'filter_path' => 'list',
8090             'human' => 'boolean',
8091             'pretty' => 'boolean',
8092             'source' => 'string',
8093             },
8094             },
8095              
8096             'security.get_users_legacy' => {
8097             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8098             method => 'GET',
8099             parts => {},
8100             paths => [[ {}, "_plugins", "_security", "api", "user" ]],
8101             qs => {
8102             # Common API query parameters
8103             'error_trace' => 'boolean',
8104             'filter_path' => 'list',
8105             'human' => 'boolean',
8106             'pretty' => 'boolean',
8107             'source' => 'string',
8108             },
8109             },
8110              
8111             'security.health' => {
8112             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#health-check',
8113             ## ENDPOINT HAS ALTERNATE METHOD
8114             method => 'detect',
8115             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
8116             parts => {},
8117             paths => [[ {}, "_plugins", "_security", "health" ]],
8118             qs => {
8119             # Endpoint specific query parameters
8120             'mode' => 'string',
8121             # Common API query parameters
8122             'error_trace' => 'boolean',
8123             'filter_path' => 'list',
8124             'human' => 'boolean',
8125             'pretty' => 'boolean',
8126             'source' => 'string',
8127             },
8128             },
8129              
8130             'security.migrate' => {
8131             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8132             method => 'POST',
8133             parts => {},
8134             paths => [[ {}, "_plugins", "_security", "api", "migrate" ]],
8135             qs => {
8136             # Common API query parameters
8137             'error_trace' => 'boolean',
8138             'filter_path' => 'list',
8139             'human' => 'boolean',
8140             'pretty' => 'boolean',
8141             'source' => 'string',
8142             },
8143             },
8144              
8145             'security.patch_action_group' => {
8146             body => {},
8147             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-action-group',
8148             method => 'PATCH',
8149             parts => { action_group => { required => 1 }},
8150             paths => [[ { action_group => 4 }, "_plugins", "_security", "api", "actiongroups", "{action_group}" ]],
8151             qs => {
8152             # Common API query parameters
8153             'error_trace' => 'boolean',
8154             'filter_path' => 'list',
8155             'human' => 'boolean',
8156             'pretty' => 'boolean',
8157             'source' => 'string',
8158             },
8159             },
8160              
8161             'security.patch_action_groups' => {
8162             body => {},
8163             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-action-groups',
8164             method => 'PATCH',
8165             parts => {},
8166             paths => [[ {}, "_plugins", "_security", "api", "actiongroups" ]],
8167             qs => {
8168             # Common API query parameters
8169             'error_trace' => 'boolean',
8170             'filter_path' => 'list',
8171             'human' => 'boolean',
8172             'pretty' => 'boolean',
8173             'source' => 'string',
8174             },
8175             },
8176              
8177             'security.patch_allowlist' => {
8178             body => {},
8179             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api',
8180             method => 'PATCH',
8181             parts => {},
8182             paths => [[ {}, "_plugins", "_security", "api", "allowlist" ]],
8183             qs => {
8184             # Common API query parameters
8185             'error_trace' => 'boolean',
8186             'filter_path' => 'list',
8187             'human' => 'boolean',
8188             'pretty' => 'boolean',
8189             'source' => 'string',
8190             },
8191             },
8192              
8193             'security.patch_audit_configuration' => {
8194             body => {},
8195             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#audit-logs',
8196             method => 'PATCH',
8197             parts => {},
8198             paths => [[ {}, "_plugins", "_security", "api", "audit" ]],
8199             qs => {
8200             # Common API query parameters
8201             'error_trace' => 'boolean',
8202             'filter_path' => 'list',
8203             'human' => 'boolean',
8204             'pretty' => 'boolean',
8205             'source' => 'string',
8206             },
8207             },
8208              
8209             'security.patch_configuration' => {
8210             body => {},
8211             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-configuration',
8212             method => 'PATCH',
8213             parts => {},
8214             paths => [[ {}, "_plugins", "_security", "api", "securityconfig" ]],
8215             qs => {
8216             # Common API query parameters
8217             'error_trace' => 'boolean',
8218             'filter_path' => 'list',
8219             'human' => 'boolean',
8220             'pretty' => 'boolean',
8221             'source' => 'string',
8222             },
8223             },
8224              
8225             'security.patch_distinguished_name' => {
8226             body => {},
8227             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8228             method => 'PATCH',
8229             parts => { cluster_name => { required => 1 }},
8230             paths => [[ { cluster_name => 4 }, "_plugins", "_security", "api", "nodesdn", "{cluster_name}" ]],
8231             qs => {
8232             # Common API query parameters
8233             'error_trace' => 'boolean',
8234             'filter_path' => 'list',
8235             'human' => 'boolean',
8236             'pretty' => 'boolean',
8237             'source' => 'string',
8238             },
8239             },
8240              
8241             'security.patch_distinguished_names' => {
8242             body => {},
8243             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#update-all-distinguished-names',
8244             method => 'PATCH',
8245             parts => {},
8246             paths => [[ {}, "_plugins", "_security", "api", "nodesdn" ]],
8247             qs => {
8248             # Common API query parameters
8249             'error_trace' => 'boolean',
8250             'filter_path' => 'list',
8251             'human' => 'boolean',
8252             'pretty' => 'boolean',
8253             'source' => 'string',
8254             },
8255             },
8256              
8257             'security.patch_role' => {
8258             body => {},
8259             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-role',
8260             method => 'PATCH',
8261             parts => { role => { required => 1 }},
8262             paths => [[ { role => 4 }, "_plugins", "_security", "api", "roles", "{role}" ]],
8263             qs => {
8264             # Common API query parameters
8265             'error_trace' => 'boolean',
8266             'filter_path' => 'list',
8267             'human' => 'boolean',
8268             'pretty' => 'boolean',
8269             'source' => 'string',
8270             },
8271             },
8272              
8273             'security.patch_role_mapping' => {
8274             body => {},
8275             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-role-mapping',
8276             method => 'PATCH',
8277             parts => { role => { required => 1 }},
8278             paths => [[ { role => 4 }, "_plugins", "_security", "api", "rolesmapping", "{role}" ]],
8279             qs => {
8280             # Common API query parameters
8281             'error_trace' => 'boolean',
8282             'filter_path' => 'list',
8283             'human' => 'boolean',
8284             'pretty' => 'boolean',
8285             'source' => 'string',
8286             },
8287             },
8288              
8289             'security.patch_role_mappings' => {
8290             body => {},
8291             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-role-mappings',
8292             method => 'PATCH',
8293             parts => {},
8294             paths => [[ {}, "_plugins", "_security", "api", "rolesmapping" ]],
8295             qs => {
8296             # Common API query parameters
8297             'error_trace' => 'boolean',
8298             'filter_path' => 'list',
8299             'human' => 'boolean',
8300             'pretty' => 'boolean',
8301             'source' => 'string',
8302             },
8303             },
8304              
8305             'security.patch_roles' => {
8306             body => {},
8307             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-roles',
8308             method => 'PATCH',
8309             parts => {},
8310             paths => [[ {}, "_plugins", "_security", "api", "roles" ]],
8311             qs => {
8312             # Common API query parameters
8313             'error_trace' => 'boolean',
8314             'filter_path' => 'list',
8315             'human' => 'boolean',
8316             'pretty' => 'boolean',
8317             'source' => 'string',
8318             },
8319             },
8320              
8321             'security.patch_tenant' => {
8322             body => {},
8323             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-tenant',
8324             method => 'PATCH',
8325             parts => { tenant => { required => 1 }},
8326             paths => [[ { tenant => 4 }, "_plugins", "_security", "api", "tenants", "{tenant}" ]],
8327             qs => {
8328             # Common API query parameters
8329             'error_trace' => 'boolean',
8330             'filter_path' => 'list',
8331             'human' => 'boolean',
8332             'pretty' => 'boolean',
8333             'source' => 'string',
8334             },
8335             },
8336              
8337             'security.patch_tenants' => {
8338             body => {},
8339             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-tenants',
8340             method => 'PATCH',
8341             parts => {},
8342             paths => [[ {}, "_plugins", "_security", "api", "tenants" ]],
8343             qs => {
8344             # Common API query parameters
8345             'error_trace' => 'boolean',
8346             'filter_path' => 'list',
8347             'human' => 'boolean',
8348             'pretty' => 'boolean',
8349             'source' => 'string',
8350             },
8351             },
8352              
8353             'security.patch_user' => {
8354             body => {},
8355             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-user',
8356             method => 'PATCH',
8357             parts => { username => { required => 1 }},
8358             paths => [[ { username => 4 }, "_plugins", "_security", "api", "internalusers", "{username}" ]],
8359             qs => {
8360             # Common API query parameters
8361             'error_trace' => 'boolean',
8362             'filter_path' => 'list',
8363             'human' => 'boolean',
8364             'pretty' => 'boolean',
8365             'source' => 'string',
8366             },
8367             },
8368              
8369             'security.patch_users' => {
8370             body => {},
8371             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#patch-users',
8372             method => 'PATCH',
8373             parts => {},
8374             paths => [[ {}, "_plugins", "_security", "api", "internalusers" ]],
8375             qs => {
8376             # Common API query parameters
8377             'error_trace' => 'boolean',
8378             'filter_path' => 'list',
8379             'human' => 'boolean',
8380             'pretty' => 'boolean',
8381             'source' => 'string',
8382             },
8383             },
8384              
8385             'security.post_dashboards_info' => {
8386             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8387             method => 'POST',
8388             parts => {},
8389             paths => [[ {}, "_plugins", "_security", "dashboardsinfo" ]],
8390             qs => {
8391             # Common API query parameters
8392             'error_trace' => 'boolean',
8393             'filter_path' => 'list',
8394             'human' => 'boolean',
8395             'pretty' => 'boolean',
8396             'source' => 'string',
8397             },
8398             },
8399              
8400             'security.reload_http_certificates' => {
8401             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#reload-http-certificates',
8402             method => 'PUT',
8403             parts => {},
8404             paths => [[ {}, "_plugins", "_security", "api", "ssl", "http", "reloadcerts" ]],
8405             qs => {
8406             # Common API query parameters
8407             'error_trace' => 'boolean',
8408             'filter_path' => 'list',
8409             'human' => 'boolean',
8410             'pretty' => 'boolean',
8411             'source' => 'string',
8412             },
8413             },
8414              
8415             'security.reload_transport_certificates' => {
8416             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#reload-transport-certificates',
8417             method => 'PUT',
8418             parts => {},
8419             paths => [[ {}, "_plugins", "_security", "api", "ssl", "transport", "reloadcerts" ]],
8420             qs => {
8421             # Common API query parameters
8422             'error_trace' => 'boolean',
8423             'filter_path' => 'list',
8424             'human' => 'boolean',
8425             'pretty' => 'boolean',
8426             'source' => 'string',
8427             },
8428             },
8429              
8430             'security.tenant_info' => {
8431             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8432             ## ENDPOINT HAS ALTERNATE METHOD
8433             method => 'detect',
8434             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
8435             parts => {},
8436             paths => [[ {}, "_plugins", "_security", "tenantinfo" ]],
8437             qs => {
8438             # Common API query parameters
8439             'error_trace' => 'boolean',
8440             'filter_path' => 'list',
8441             'human' => 'boolean',
8442             'pretty' => 'boolean',
8443             'source' => 'string',
8444             },
8445             },
8446              
8447             'security.update_audit_configuration' => {
8448             body => {},
8449             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#audit-logs',
8450             method => 'PUT',
8451             parts => {},
8452             paths => [[ {}, "_plugins", "_security", "api", "audit", "config" ]],
8453             qs => {
8454             # Common API query parameters
8455             'error_trace' => 'boolean',
8456             'filter_path' => 'list',
8457             'human' => 'boolean',
8458             'pretty' => 'boolean',
8459             'source' => 'string',
8460             },
8461             },
8462              
8463             'security.update_configuration' => {
8464             body => {},
8465             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#update-configuration',
8466             method => 'PUT',
8467             parts => {},
8468             paths => [[ {}, "_plugins", "_security", "api", "securityconfig", "config" ]],
8469             qs => {
8470             # Common API query parameters
8471             'error_trace' => 'boolean',
8472             'filter_path' => 'list',
8473             'human' => 'boolean',
8474             'pretty' => 'boolean',
8475             'source' => 'string',
8476             },
8477             },
8478              
8479             'security.update_distinguished_name' => {
8480             body => {},
8481             doc => 'https://opensearch.org/docs/latest/security/access-control/api/#update-distinguished-names',
8482             method => 'PUT',
8483             parts => { cluster_name => { required => 1 }},
8484             paths => [[ { cluster_name => 4 }, "_plugins", "_security", "api", "nodesdn", "{cluster_name}" ]],
8485             qs => {
8486             # Common API query parameters
8487             'error_trace' => 'boolean',
8488             'filter_path' => 'list',
8489             'human' => 'boolean',
8490             'pretty' => 'boolean',
8491             'source' => 'string',
8492             },
8493             },
8494              
8495             'security.validate' => {
8496             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8497             method => 'GET',
8498             parts => {},
8499             paths => [[ {}, "_plugins", "_security", "api", "validate" ]],
8500             qs => {
8501             # Endpoint specific query parameters
8502             'accept_invalid' => 'boolean',
8503             # Common API query parameters
8504             'error_trace' => 'boolean',
8505             'filter_path' => 'list',
8506             'human' => 'boolean',
8507             'pretty' => 'boolean',
8508             'source' => 'string',
8509             },
8510             },
8511              
8512             'security.who_am_i' => {
8513             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8514             ## ENDPOINT HAS ALTERNATE METHOD
8515             method => 'detect',
8516             detect => { method => 'GET', alternate => 'POST', check => { body => 1, paths => 0 } },
8517             parts => {},
8518             paths => [[ {}, "_plugins", "_security", "whoami" ]],
8519             qs => {
8520             # Common API query parameters
8521             'error_trace' => 'boolean',
8522             'filter_path' => 'list',
8523             'human' => 'boolean',
8524             'pretty' => 'boolean',
8525             'source' => 'string',
8526             },
8527             },
8528              
8529             'security.who_am_i_protected' => {
8530             doc => 'https://docs.opensearch.org/latest/security/access-control/api/',
8531             method => 'GET',
8532             parts => {},
8533             paths => [[ {}, "_plugins", "_security", "whoamiprotected" ]],
8534             qs => {
8535             # Common API query parameters
8536             'error_trace' => 'boolean',
8537             'filter_path' => 'list',
8538             'human' => 'boolean',
8539             'pretty' => 'boolean',
8540             'source' => 'string',
8541             },
8542             },
8543              
8544             'security_analytics.get_alerts' => {
8545             doc => 'https://docs.opensearch.org/docs/latest/security-analytics/api-tools/alert-finding-api/#get-alerts',
8546             method => 'GET',
8547             parts => {},
8548             paths => [[ {}, "_plugins", "_security_analytics", "alerts" ]],
8549             qs => {
8550             # Endpoint specific query parameters
8551             'alertState' => 'string',
8552             'detectorType' => 'string',
8553             'detector_id' => 'string',
8554             'endTime' => 'number',
8555             'missing' => 'string',
8556             'searchString' => 'string',
8557             'severityLevel' => 'string',
8558             'size' => 'number',
8559             'sortOrder' => 'string',
8560             'sortString' => 'string',
8561             'startIndex' => 'number',
8562             'startTime' => 'number',
8563             # Common API query parameters
8564             'error_trace' => 'boolean',
8565             'filter_path' => 'list',
8566             'human' => 'boolean',
8567             'pretty' => 'boolean',
8568             'source' => 'string',
8569             },
8570             },
8571              
8572             'security_analytics.get_findings' => {
8573             doc => 'https://docs.opensearch.org/docs/latest/security-analytics/api-tools/alert-finding-api/#get-findings',
8574             method => 'GET',
8575             parts => {},
8576             paths => [[ {}, "_plugins", "_security_analytics", "findings", "_search" ]],
8577             qs => {
8578             # Endpoint specific query parameters
8579             'detectionType' => 'string',
8580             'detectorType' => 'string',
8581             'detector_id' => 'string',
8582             'endTime' => 'string',
8583             'findingIds' => 'string',
8584             'missing' => 'string',
8585             'searchString' => 'string',
8586             'severity' => 'string',
8587             'size' => 'number',
8588             'sortOrder' => 'string',
8589             'sortString' => 'string',
8590             'startIndex' => 'number',
8591             'startTime' => 'number',
8592             # Common API query parameters
8593             'error_trace' => 'boolean',
8594             'filter_path' => 'list',
8595             'human' => 'boolean',
8596             'pretty' => 'boolean',
8597             'source' => 'string',
8598             },
8599             },
8600              
8601             'security_analytics.search_finding_correlations' => {
8602             doc => 'https://docs.opensearch.org/docs/latest/security-analytics/api-tools/correlation-eng/#list-correlations-for-a-finding-belonging-to-a-log-type',
8603             method => 'GET',
8604             parts => {},
8605             paths => [[ {}, "_plugins", "_security_analytics", "findings", "correlate" ]],
8606             qs => {
8607             # Endpoint specific query parameters
8608             'detector_type' => 'string',
8609             'finding' => 'string',
8610             'nearby_findings' => 'number',
8611             'time_window' => 'number',
8612             # Common API query parameters
8613             'error_trace' => 'boolean',
8614             'filter_path' => 'list',
8615             'human' => 'boolean',
8616             'pretty' => 'boolean',
8617             'source' => 'string',
8618             },
8619             },
8620              
8621             'sm.create_policy' => {
8622             body => {},
8623             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8624             method => 'POST',
8625             parts => { policy_name => { required => 1 }},
8626             paths => [[ { policy_name => 3 }, "_plugins", "_sm", "policies", "{policy_name}" ]],
8627             qs => {
8628             # Common API query parameters
8629             'error_trace' => 'boolean',
8630             'filter_path' => 'list',
8631             'human' => 'boolean',
8632             'pretty' => 'boolean',
8633             'source' => 'string',
8634             },
8635             },
8636              
8637             'sm.delete_policy' => {
8638             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8639             method => 'DELETE',
8640             parts => { policy_name => { required => 1 }},
8641             paths => [[ { policy_name => 3 }, "_plugins", "_sm", "policies", "{policy_name}" ]],
8642             qs => {
8643             # Common API query parameters
8644             'error_trace' => 'boolean',
8645             'filter_path' => 'list',
8646             'human' => 'boolean',
8647             'pretty' => 'boolean',
8648             'source' => 'string',
8649             },
8650             },
8651              
8652             'sm.explain_policy' => {
8653             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8654             method => 'GET',
8655             parts => { policy_name => { required => 1 }},
8656             paths => [[ { policy_name => 3 }, "_plugins", "_sm", "policies", "{policy_name}", "_explain" ]],
8657             qs => {
8658             # Common API query parameters
8659             'error_trace' => 'boolean',
8660             'filter_path' => 'list',
8661             'human' => 'boolean',
8662             'pretty' => 'boolean',
8663             'source' => 'string',
8664             },
8665             },
8666              
8667             'sm.get_policies' => {
8668             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8669             method => 'GET',
8670             parts => {},
8671             paths => [[ {}, "_plugins", "_sm", "policies" ]],
8672             qs => {
8673             # Endpoint specific query parameters
8674             'from' => 'number',
8675             'queryString' => 'string',
8676             'size' => 'number',
8677             'sortField' => 'string',
8678             'sortOrder' => 'string',
8679             # Common API query parameters
8680             'error_trace' => 'boolean',
8681             'filter_path' => 'list',
8682             'human' => 'boolean',
8683             'pretty' => 'boolean',
8684             'source' => 'string',
8685             },
8686             },
8687              
8688             'sm.get_policy' => {
8689             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8690             method => 'GET',
8691             parts => { policy_name => { required => 1 }},
8692             paths => [[ { policy_name => 3 }, "_plugins", "_sm", "policies", "{policy_name}" ]],
8693             qs => {
8694             # Common API query parameters
8695             'error_trace' => 'boolean',
8696             'filter_path' => 'list',
8697             'human' => 'boolean',
8698             'pretty' => 'boolean',
8699             'source' => 'string',
8700             },
8701             },
8702              
8703             'sm.start_policy' => {
8704             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8705             method => 'POST',
8706             parts => { policy_name => { required => 1 }},
8707             paths => [[ { policy_name => 3 }, "_plugins", "_sm", "policies", "{policy_name}", "_start" ]],
8708             qs => {
8709             # Common API query parameters
8710             'error_trace' => 'boolean',
8711             'filter_path' => 'list',
8712             'human' => 'boolean',
8713             'pretty' => 'boolean',
8714             'source' => 'string',
8715             },
8716             },
8717              
8718             'sm.stop_policy' => {
8719             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8720             method => 'POST',
8721             parts => { policy_name => { required => 1 }},
8722             paths => [[ { policy_name => 3 }, "_plugins", "_sm", "policies", "{policy_name}", "_stop" ]],
8723             qs => {
8724             # Common API query parameters
8725             'error_trace' => 'boolean',
8726             'filter_path' => 'list',
8727             'human' => 'boolean',
8728             'pretty' => 'boolean',
8729             'source' => 'string',
8730             },
8731             },
8732              
8733             'sm.update_policy' => {
8734             body => {},
8735             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/sm-api/',
8736             method => 'PUT',
8737             parts => { policy_name => { required => 1 }},
8738             paths => [[ { policy_name => 3 }, "_plugins", "_sm", "policies", "{policy_name}" ]],
8739             qs => {
8740             # Endpoint specific query parameters
8741             'if_primary_term' => 'number',
8742             'if_seq_no' => 'number',
8743             # Common API query parameters
8744             'error_trace' => 'boolean',
8745             'filter_path' => 'list',
8746             'human' => 'boolean',
8747             'pretty' => 'boolean',
8748             'source' => 'string',
8749             },
8750             },
8751              
8752             'snapshot.cleanup_repository' => {
8753             doc => 'https://docs.opensearch.org/latest/api-reference/snapshots/index/',
8754             method => 'POST',
8755             parts => { repository => { required => 1 }},
8756             paths => [[ { repository => 1 }, "_snapshot", "{repository}", "_cleanup" ]],
8757             qs => {
8758             # Endpoint specific query parameters
8759             'cluster_manager_timeout' => 'string',
8760             'master_timeout' => 'string',
8761             'timeout' => 'string',
8762             # Common API query parameters
8763             'error_trace' => 'boolean',
8764             'filter_path' => 'list',
8765             'human' => 'boolean',
8766             'pretty' => 'boolean',
8767             'source' => 'string',
8768             },
8769             },
8770              
8771             'snapshot.clone' => {
8772             body => {},
8773             doc => 'https://docs.opensearch.org/latest/api-reference/snapshots/index/',
8774             method => 'PUT',
8775             parts => { repository => { required => 1 }, snapshot => { required => 1 }, target_snapshot => { required => 1 }},
8776             paths => [[ { repository => 1, snapshot => 2, target_snapshot => 4 }, "_snapshot", "{repository}", "{snapshot}", "_clone", "{target_snapshot}" ]],
8777             qs => {
8778             # Endpoint specific query parameters
8779             'cluster_manager_timeout' => 'string',
8780             'master_timeout' => 'string',
8781             # Common API query parameters
8782             'error_trace' => 'boolean',
8783             'filter_path' => 'list',
8784             'human' => 'boolean',
8785             'pretty' => 'boolean',
8786             'source' => 'string',
8787             },
8788             },
8789              
8790             'snapshot.create' => {
8791             body => {},
8792             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/create-snapshot/',
8793             ## ENDPOINT HAS ALTERNATE METHOD
8794             method => 'detect',
8795             detect => { method => 'POST', alternate => 'PUT', check => { body => 1, paths => 0 } },
8796             parts => { repository => { required => 1 }, snapshot => { required => 1 }},
8797             paths => [[ { repository => 1, snapshot => 2 }, "_snapshot", "{repository}", "{snapshot}" ]],
8798             qs => {
8799             # Endpoint specific query parameters
8800             'cluster_manager_timeout' => 'string',
8801             'master_timeout' => 'string',
8802             'wait_for_completion' => 'boolean',
8803             # Common API query parameters
8804             'error_trace' => 'boolean',
8805             'filter_path' => 'list',
8806             'human' => 'boolean',
8807             'pretty' => 'boolean',
8808             'source' => 'string',
8809             },
8810             },
8811              
8812             'snapshot.create_repository' => {
8813             body => { required => 1 },
8814             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/create-repository/',
8815             method => 'PUT',
8816             parts => { repository => { required => 1 }},
8817             paths => [[ { repository => 1 }, "_snapshot", "{repository}" ]],
8818             qs => {
8819             # Endpoint specific query parameters
8820             'cluster_manager_timeout' => 'string',
8821             'master_timeout' => 'string',
8822             'timeout' => 'string',
8823             'verify' => 'boolean',
8824             # Common API query parameters
8825             'error_trace' => 'boolean',
8826             'filter_path' => 'list',
8827             'human' => 'boolean',
8828             'pretty' => 'boolean',
8829             'source' => 'string',
8830             },
8831             },
8832              
8833             'snapshot.delete' => {
8834             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/delete-snapshot/',
8835             method => 'DELETE',
8836             parts => { repository => { required => 1 }, snapshot => { required => 1 }},
8837             paths => [[ { repository => 1, snapshot => 2 }, "_snapshot", "{repository}", "{snapshot}" ]],
8838             qs => {
8839             # Endpoint specific query parameters
8840             'cluster_manager_timeout' => 'string',
8841             'master_timeout' => 'string',
8842             # Common API query parameters
8843             'error_trace' => 'boolean',
8844             'filter_path' => 'list',
8845             'human' => 'boolean',
8846             'pretty' => 'boolean',
8847             'source' => 'string',
8848             },
8849             },
8850              
8851             'snapshot.delete_repository' => {
8852             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/delete-snapshot-repository/',
8853             method => 'DELETE',
8854             parts => { repository => { multi => 1, required => 1 }},
8855             paths => [[ { repository => 1 }, "_snapshot", "{repository}" ]],
8856             qs => {
8857             # Endpoint specific query parameters
8858             'cluster_manager_timeout' => 'string',
8859             'master_timeout' => 'string',
8860             'timeout' => 'string',
8861             # Common API query parameters
8862             'error_trace' => 'boolean',
8863             'filter_path' => 'list',
8864             'human' => 'boolean',
8865             'pretty' => 'boolean',
8866             'source' => 'string',
8867             },
8868             },
8869              
8870             'snapshot.get' => {
8871             doc => 'https://docs.opensearch.org/latest/api-reference/snapshots/index/',
8872             method => 'GET',
8873             parts => { repository => { required => 1 }, snapshot => { multi => 1, required => 1 }},
8874             paths => [[ { repository => 1, snapshot => 2 }, "_snapshot", "{repository}", "{snapshot}" ]],
8875             qs => {
8876             # Endpoint specific query parameters
8877             'cluster_manager_timeout' => 'string',
8878             'ignore_unavailable' => 'boolean',
8879             'master_timeout' => 'string',
8880             'verbose' => 'boolean',
8881             # Common API query parameters
8882             'error_trace' => 'boolean',
8883             'filter_path' => 'list',
8884             'human' => 'boolean',
8885             'pretty' => 'boolean',
8886             'source' => 'string',
8887             },
8888             },
8889              
8890             'snapshot.get_repository' => {
8891             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-repository/',
8892             method => 'GET',
8893             parts => { repository => { multi => 1 }},
8894             paths => [
8895             [ { repository => 1 }, "_snapshot", "{repository}" ],
8896             [ {}, "_snapshot" ]
8897             ],
8898             qs => {
8899             # Endpoint specific query parameters
8900             'cluster_manager_timeout' => 'string',
8901             'local' => 'boolean',
8902             'master_timeout' => 'string',
8903             # Common API query parameters
8904             'error_trace' => 'boolean',
8905             'filter_path' => 'list',
8906             'human' => 'boolean',
8907             'pretty' => 'boolean',
8908             'source' => 'string',
8909             },
8910             },
8911              
8912             'snapshot.restore' => {
8913             body => {},
8914             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/',
8915             method => 'POST',
8916             parts => { repository => { required => 1 }, snapshot => { required => 1 }},
8917             paths => [[ { repository => 1, snapshot => 2 }, "_snapshot", "{repository}", "{snapshot}", "_restore" ]],
8918             qs => {
8919             # Endpoint specific query parameters
8920             'cluster_manager_timeout' => 'string',
8921             'master_timeout' => 'string',
8922             'wait_for_completion' => 'boolean',
8923             # Common API query parameters
8924             'error_trace' => 'boolean',
8925             'filter_path' => 'list',
8926             'human' => 'boolean',
8927             'pretty' => 'boolean',
8928             'source' => 'string',
8929             },
8930             },
8931              
8932             'snapshot.status' => {
8933             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-status/',
8934             method => 'GET',
8935             parts => { repository => {}, snapshot => { multi => 1 }},
8936             paths => [
8937             [ { repository => 1, snapshot => 2 }, "_snapshot", "{repository}", "{snapshot}", "_status" ],
8938             [ { repository => 1 }, "_snapshot", "{repository}", "_status" ],
8939             [ {}, "_snapshot", "_status" ]
8940             ],
8941             qs => {
8942             # Endpoint specific query parameters
8943             'cluster_manager_timeout' => 'string',
8944             'ignore_unavailable' => 'boolean',
8945             'master_timeout' => 'string',
8946             # Common API query parameters
8947             'error_trace' => 'boolean',
8948             'filter_path' => 'list',
8949             'human' => 'boolean',
8950             'pretty' => 'boolean',
8951             'source' => 'string',
8952             },
8953             },
8954              
8955             'snapshot.verify_repository' => {
8956             doc => 'https://opensearch.org/docs/latest/api-reference/snapshots/verify-snapshot-repository/',
8957             method => 'POST',
8958             parts => { repository => { required => 1 }},
8959             paths => [[ { repository => 1 }, "_snapshot", "{repository}", "_verify" ]],
8960             qs => {
8961             # Endpoint specific query parameters
8962             'cluster_manager_timeout' => 'string',
8963             'master_timeout' => 'string',
8964             'timeout' => 'string',
8965             # Common API query parameters
8966             'error_trace' => 'boolean',
8967             'filter_path' => 'list',
8968             'human' => 'boolean',
8969             'pretty' => 'boolean',
8970             'source' => 'string',
8971             },
8972             },
8973              
8974             'sql.close' => {
8975             body => {},
8976             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/',
8977             method => 'POST',
8978             parts => {},
8979             paths => [[ {}, "_plugins", "_sql", "close" ]],
8980             qs => {
8981             # Endpoint specific query parameters
8982             'format' => 'string',
8983             'sanitize' => 'boolean',
8984             # Common API query parameters
8985             'error_trace' => 'boolean',
8986             'filter_path' => 'list',
8987             'human' => 'boolean',
8988             'pretty' => 'boolean',
8989             'source' => 'string',
8990             },
8991             },
8992              
8993             'sql.explain' => {
8994             body => {},
8995             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/',
8996             method => 'POST',
8997             parts => {},
8998             paths => [[ {}, "_plugins", "_sql", "_explain" ]],
8999             qs => {
9000             # Endpoint specific query parameters
9001             'format' => 'string',
9002             'sanitize' => 'boolean',
9003             # Common API query parameters
9004             'error_trace' => 'boolean',
9005             'filter_path' => 'list',
9006             'human' => 'boolean',
9007             'pretty' => 'boolean',
9008             'source' => 'string',
9009             },
9010             },
9011              
9012             'sql.get_stats' => {
9013             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/monitoring/',
9014             method => 'GET',
9015             parts => {},
9016             paths => [[ {}, "_plugins", "_sql", "stats" ]],
9017             qs => {
9018             # Endpoint specific query parameters
9019             'format' => 'string',
9020             'sanitize' => 'boolean',
9021             # Common API query parameters
9022             'error_trace' => 'boolean',
9023             'filter_path' => 'list',
9024             'human' => 'boolean',
9025             'pretty' => 'boolean',
9026             'source' => 'string',
9027             },
9028             },
9029              
9030             'sql.post_stats' => {
9031             body => {},
9032             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/monitoring/',
9033             method => 'POST',
9034             parts => {},
9035             paths => [[ {}, "_plugins", "_sql", "stats" ]],
9036             qs => {
9037             # Endpoint specific query parameters
9038             'format' => 'string',
9039             'sanitize' => 'boolean',
9040             # Common API query parameters
9041             'error_trace' => 'boolean',
9042             'filter_path' => 'list',
9043             'human' => 'boolean',
9044             'pretty' => 'boolean',
9045             'source' => 'string',
9046             },
9047             },
9048              
9049             'sql.query' => {
9050             body => {},
9051             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/',
9052             method => 'POST',
9053             parts => {},
9054             paths => [[ {}, "_plugins", "_sql" ]],
9055             qs => {
9056             # Endpoint specific query parameters
9057             'format' => 'string',
9058             'sanitize' => 'boolean',
9059             # Common API query parameters
9060             'error_trace' => 'boolean',
9061             'filter_path' => 'list',
9062             'human' => 'boolean',
9063             'pretty' => 'boolean',
9064             'source' => 'string',
9065             },
9066             },
9067              
9068             'sql.settings' => {
9069             body => {},
9070             doc => 'https://opensearch.org/docs/latest/search-plugins/sql/settings/',
9071             method => 'PUT',
9072             parts => {},
9073             paths => [[ {}, "_plugins", "_query", "settings" ]],
9074             qs => {
9075             # Endpoint specific query parameters
9076             'format' => 'string',
9077             # Common API query parameters
9078             'error_trace' => 'boolean',
9079             'filter_path' => 'list',
9080             'human' => 'boolean',
9081             'pretty' => 'boolean',
9082             'source' => 'string',
9083             },
9084             },
9085              
9086             'tasks.cancel' => {
9087             doc => 'https://opensearch.org/docs/latest/api-reference/tasks/#task-canceling',
9088             method => 'POST',
9089             parts => { task_id => {}},
9090             paths => [
9091             [ { task_id => 1 }, "_tasks", "{task_id}", "_cancel" ],
9092             [ {}, "_tasks", "_cancel" ]
9093             ],
9094             qs => {
9095             # Endpoint specific query parameters
9096             'actions' => 'list',
9097             'nodes' => 'list',
9098             'parent_task_id' => 'string',
9099             'wait_for_completion' => 'boolean',
9100             # Common API query parameters
9101             'error_trace' => 'boolean',
9102             'filter_path' => 'list',
9103             'human' => 'boolean',
9104             'pretty' => 'boolean',
9105             'source' => 'string',
9106             },
9107             },
9108              
9109             'tasks.get' => {
9110             doc => 'https://opensearch.org/docs/latest/api-reference/tasks/',
9111             method => 'GET',
9112             parts => { task_id => { required => 1 }},
9113             paths => [[ { task_id => 1 }, "_tasks", "{task_id}" ]],
9114             qs => {
9115             # Endpoint specific query parameters
9116             'timeout' => 'string',
9117             'wait_for_completion' => 'boolean',
9118             # Common API query parameters
9119             'error_trace' => 'boolean',
9120             'filter_path' => 'list',
9121             'human' => 'boolean',
9122             'pretty' => 'boolean',
9123             'source' => 'string',
9124             },
9125             },
9126              
9127             'tasks.list' => {
9128             doc => 'https://opensearch.org/docs/latest/api-reference/tasks/',
9129             method => 'GET',
9130             parts => {},
9131             paths => [[ {}, "_tasks" ]],
9132             qs => {
9133             # Endpoint specific query parameters
9134             'actions' => 'list',
9135             'detailed' => 'boolean',
9136             'group_by' => 'string',
9137             'nodes' => 'list',
9138             'parent_task_id' => 'string',
9139             'timeout' => 'string',
9140             'wait_for_completion' => 'boolean',
9141             # Common API query parameters
9142             'error_trace' => 'boolean',
9143             'filter_path' => 'list',
9144             'human' => 'boolean',
9145             'pretty' => 'boolean',
9146             'source' => 'string',
9147             },
9148             },
9149              
9150             'transforms.delete' => {
9151             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#delete-a-transform-job',
9152             method => 'DELETE',
9153             parts => { id => { required => 1 }},
9154             paths => [[ { id => 2 }, "_plugins", "_transform", "{id}" ]],
9155             qs => {
9156             # Common API query parameters
9157             'error_trace' => 'boolean',
9158             'filter_path' => 'list',
9159             'human' => 'boolean',
9160             'pretty' => 'boolean',
9161             'source' => 'string',
9162             },
9163             },
9164              
9165             'transforms.explain' => {
9166             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#get-the-status-of-a-transform-job',
9167             method => 'GET',
9168             parts => { id => { required => 1 }},
9169             paths => [[ { id => 2 }, "_plugins", "_transform", "{id}", "_explain" ]],
9170             qs => {
9171             # Common API query parameters
9172             'error_trace' => 'boolean',
9173             'filter_path' => 'list',
9174             'human' => 'boolean',
9175             'pretty' => 'boolean',
9176             'source' => 'string',
9177             },
9178             },
9179              
9180             'transforms.get' => {
9181             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#get-a-transform-jobs-details',
9182             method => 'GET',
9183             parts => { id => { required => 1 }},
9184             paths => [[ { id => 2 }, "_plugins", "_transform", "{id}" ]],
9185             qs => {
9186             # Common API query parameters
9187             'error_trace' => 'boolean',
9188             'filter_path' => 'list',
9189             'human' => 'boolean',
9190             'pretty' => 'boolean',
9191             'source' => 'string',
9192             },
9193             },
9194              
9195             'transforms.preview' => {
9196             body => {},
9197             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#preview-a-transform-jobs-results',
9198             method => 'POST',
9199             parts => {},
9200             paths => [[ {}, "_plugins", "_transform", "_preview" ]],
9201             qs => {
9202             # Common API query parameters
9203             'error_trace' => 'boolean',
9204             'filter_path' => 'list',
9205             'human' => 'boolean',
9206             'pretty' => 'boolean',
9207             'source' => 'string',
9208             },
9209             },
9210              
9211             'transforms.put' => {
9212             body => {},
9213             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#create-a-transform-job',
9214             method => 'PUT',
9215             parts => { id => { required => 1 }},
9216             paths => [[ { id => 2 }, "_plugins", "_transform", "{id}" ]],
9217             qs => {
9218             # Endpoint specific query parameters
9219             'if_primary_term' => 'number',
9220             'if_seq_no' => 'number',
9221             # Common API query parameters
9222             'error_trace' => 'boolean',
9223             'filter_path' => 'list',
9224             'human' => 'boolean',
9225             'pretty' => 'boolean',
9226             'source' => 'string',
9227             },
9228             },
9229              
9230             'transforms.search' => {
9231             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#get-a-transform-jobs-details',
9232             method => 'GET',
9233             parts => {},
9234             paths => [[ {}, "_plugins", "_transform" ]],
9235             qs => {
9236             # Endpoint specific query parameters
9237             'from' => 'number',
9238             'search' => 'string',
9239             'size' => 'number',
9240             'sortDirection' => 'string',
9241             'sortField' => 'string',
9242             # Common API query parameters
9243             'error_trace' => 'boolean',
9244             'filter_path' => 'list',
9245             'human' => 'boolean',
9246             'pretty' => 'boolean',
9247             'source' => 'string',
9248             },
9249             },
9250              
9251             'transforms.start' => {
9252             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#start-a-transform-job',
9253             method => 'POST',
9254             parts => { id => { required => 1 }},
9255             paths => [[ { id => 2 }, "_plugins", "_transform", "{id}", "_start" ]],
9256             qs => {
9257             # Common API query parameters
9258             'error_trace' => 'boolean',
9259             'filter_path' => 'list',
9260             'human' => 'boolean',
9261             'pretty' => 'boolean',
9262             'source' => 'string',
9263             },
9264             },
9265              
9266             'transforms.stop' => {
9267             doc => 'https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#stop-a-transform-job',
9268             method => 'POST',
9269             parts => { id => { required => 1 }},
9270             paths => [[ { id => 2 }, "_plugins", "_transform", "{id}", "_stop" ]],
9271             qs => {
9272             # Common API query parameters
9273             'error_trace' => 'boolean',
9274             'filter_path' => 'list',
9275             'human' => 'boolean',
9276             'pretty' => 'boolean',
9277             'source' => 'string',
9278             },
9279             },
9280              
9281             'ubi.initialize' => {
9282             doc => 'https://docs.opensearch.org/latest/search-plugins/ubi/index/',
9283             method => 'POST',
9284             parts => {},
9285             paths => [[ {}, "_plugins", "ubi", "initialize" ]],
9286             qs => {
9287             # Common API query parameters
9288             'error_trace' => 'boolean',
9289             'filter_path' => 'list',
9290             'human' => 'boolean',
9291             'pretty' => 'boolean',
9292             'source' => 'string',
9293             },
9294             },
9295              
9296             'wlm.create_query_group' => {
9297             body => {},
9298             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/workload-management/wlm-feature-overview/',
9299             method => 'PUT',
9300             parts => {},
9301             paths => [[ {}, "_wlm", "query_group" ]],
9302             qs => {
9303             # Common API query parameters
9304             'error_trace' => 'boolean',
9305             'filter_path' => 'list',
9306             'human' => 'boolean',
9307             'pretty' => 'boolean',
9308             'source' => 'string',
9309             },
9310             },
9311              
9312             'wlm.delete_query_group' => {
9313             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/workload-management/wlm-feature-overview/',
9314             method => 'DELETE',
9315             parts => { name => { required => 1 }},
9316             paths => [[ { name => 2 }, "_wlm", "query_group", "{name}" ]],
9317             qs => {
9318             # Common API query parameters
9319             'error_trace' => 'boolean',
9320             'filter_path' => 'list',
9321             'human' => 'boolean',
9322             'pretty' => 'boolean',
9323             'source' => 'string',
9324             },
9325             },
9326              
9327             'wlm.get_query_group' => {
9328             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/workload-management/wlm-feature-overview/',
9329             method => 'GET',
9330             parts => { name => {}},
9331             paths => [
9332             [ { name => 2 }, "_wlm", "query_group", "{name}" ],
9333             [ {}, "_wlm", "query_group" ]
9334             ],
9335             qs => {
9336             # Common API query parameters
9337             'error_trace' => 'boolean',
9338             'filter_path' => 'list',
9339             'human' => 'boolean',
9340             'pretty' => 'boolean',
9341             'source' => 'string',
9342             },
9343             },
9344              
9345             'wlm.update_query_group' => {
9346             body => {},
9347             doc => 'https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/workload-management/wlm-feature-overview/',
9348             method => 'PUT',
9349             parts => { name => { required => 1 }},
9350             paths => [[ { name => 2 }, "_wlm", "query_group", "{name}" ]],
9351             qs => {
9352             # Common API query parameters
9353             'error_trace' => 'boolean',
9354             'filter_path' => 'list',
9355             'human' => 'boolean',
9356             'pretty' => 'boolean',
9357             'source' => 'string',
9358             },
9359             },
9360              
9361             );
9362              
9363             __PACKAGE__->_qs_init( \%API );
9364              
9365             1;
9366              
9367             __END__