Skip to main content

nominal_api/conjure/endpoints/scout/
run_service.rs

1use conjure_http::endpoint;
2/// Runs are collections of channels and metadata from one or more data sources, synchronized over a
3/// range of real time, which represents a test event or simulation. These API endpoints let you
4/// manage runs in the Nominal app.
5#[conjure_http::conjure_endpoints(name = "RunService", use_legacy_error_serialization)]
6pub trait RunService {
7    /// Create a new run in Nominal.
8    ///
9    /// Throws if start is equal to or after end.
10    #[endpoint(
11        method = POST,
12        path = "/scout/v1/run",
13        name = "createRun",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn create_run(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
21        details: super::super::super::objects::scout::run::api::CreateRunRequest,
22    ) -> Result<
23        super::super::super::objects::scout::run::api::Run,
24        conjure_http::private::Error,
25    >;
26    /// Updates an existing run based on its RID.
27    ///
28    /// Throws if start is equal to or after end.
29    #[endpoint(
30        method = PUT,
31        path = "/scout/v1/run/{rid}",
32        name = "updateRun",
33        produces = conjure_http::server::StdResponseSerializer
34    )]
35    fn update_run(
36        &self,
37        #[auth]
38        auth_: conjure_object::BearerToken,
39        #[path(
40            name = "rid",
41            decoder = conjure_http::server::conjure::FromPlainDecoder,
42            safe
43        )]
44        rid: super::super::super::objects::scout::run::api::RunRid,
45        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
46        details: super::super::super::objects::scout::run::api::UpdateRunRequest,
47    ) -> Result<
48        super::super::super::objects::scout::run::api::Run,
49        conjure_http::private::Error,
50    >;
51    /// Batch edits metadata across multiple runs. Supports rename/merge for labels and properties.
52    /// If more than 1000 runs are targeted, this endpoint will throw a 400.
53    #[endpoint(
54        method = POST,
55        path = "/scout/v1/run/metadata/batch-edit",
56        name = "batchEditRunMetadata",
57        produces = conjure_http::server::StdResponseSerializer
58    )]
59    fn batch_edit_run_metadata(
60        &self,
61        #[auth]
62        auth_: conjure_object::BearerToken,
63        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
64        request: super::super::super::objects::scout::run::api::BatchEditRunMetadataRequest,
65    ) -> Result<
66        super::super::super::objects::scout::run::api::BatchEditRunMetadataResponse,
67        conjure_http::private::Error,
68    >;
69    /// Adds datasources to the run in question.
70    ///
71    /// Throws if any of the ref names conflict with existing data sources or each other.
72    #[endpoint(
73        method = POST,
74        path = "/scout/v1/run/{runRid}/data-sources",
75        name = "addDataSourcesToRun",
76        produces = conjure_http::server::StdResponseSerializer
77    )]
78    fn add_data_sources_to_run(
79        &self,
80        #[auth]
81        auth_: conjure_object::BearerToken,
82        #[path(
83            name = "runRid",
84            decoder = conjure_http::server::conjure::FromPlainDecoder,
85            log_as = "runRid",
86            safe
87        )]
88        run_rid: super::super::super::objects::scout::run::api::RunRid,
89        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
90        request: std::collections::BTreeMap<
91            super::super::super::objects::scout::api::DataSourceRefName,
92            super::super::super::objects::scout::run::api::CreateRunDataSource,
93        >,
94    ) -> Result<
95        super::super::super::objects::scout::run::api::Run,
96        conjure_http::private::Error,
97    >;
98    /// Updates a run if it exists, otherwise it's created from scratch.
99    /// Will throw if the workspace of an existing run is different from the workspace of the request.
100    #[endpoint(
101        method = POST,
102        path = "/scout/v1/run/create-or-update",
103        name = "createOrUpdateRun",
104        produces = conjure_http::server::StdResponseSerializer
105    )]
106    fn create_or_update_run(
107        &self,
108        #[auth]
109        auth_: conjure_object::BearerToken,
110        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
111        details: super::super::super::objects::scout::run::api::CreateOrUpdateRunRequest,
112    ) -> Result<
113        super::super::super::objects::scout::run::api::Run,
114        conjure_http::private::Error,
115    >;
116    /// Fetches details about the run in question based on its RID.
117    #[endpoint(
118        method = GET,
119        path = "/scout/v1/run/{rid}",
120        name = "getRun",
121        produces = conjure_http::server::StdResponseSerializer
122    )]
123    fn get_run(
124        &self,
125        #[auth]
126        auth_: conjure_object::BearerToken,
127        #[path(
128            name = "rid",
129            decoder = conjure_http::server::conjure::FromPlainDecoder,
130            safe
131        )]
132        rid: super::super::super::objects::scout::run::api::RunRid,
133    ) -> Result<
134        super::super::super::objects::scout::run::api::Run,
135        conjure_http::private::Error,
136    >;
137    /// Fetches details about the run in question based on its RID,
138    /// including metrics for check and violation review status.
139    #[endpoint(
140        method = GET,
141        path = "/scout/v1/run/{rid}/with-data-review-metrics",
142        name = "getRunWithDataReviewMetrics",
143        produces = conjure_http::server::StdResponseSerializer
144    )]
145    fn get_run_with_data_review_metrics(
146        &self,
147        #[auth]
148        auth_: conjure_object::BearerToken,
149        #[path(
150            name = "rid",
151            decoder = conjure_http::server::conjure::FromPlainDecoder,
152            safe
153        )]
154        rid: super::super::super::objects::scout::run::api::RunRid,
155    ) -> Result<
156        super::super::super::objects::scout::run::api::RunWithDataReviewMetrics,
157        conjure_http::private::Error,
158    >;
159    /// Fetches details about the run in question based on its RID, including a summary of the data review status.
160    #[endpoint(
161        method = GET,
162        path = "/scout/v1/run/{rid}/with-data-review-summary",
163        name = "getRunWithDataReviewSummary",
164        produces = conjure_http::server::StdResponseSerializer
165    )]
166    fn get_run_with_data_review_summary(
167        &self,
168        #[auth]
169        auth_: conjure_object::BearerToken,
170        #[path(
171            name = "rid",
172            decoder = conjure_http::server::conjure::FromPlainDecoder,
173            safe
174        )]
175        rid: super::super::super::objects::scout::run::api::RunRid,
176    ) -> Result<
177        super::super::super::objects::scout::run::api::RunWithDataReviewSummary,
178        conjure_http::private::Error,
179    >;
180    /// Fetches a run based on the run number, rather than RID.
181    #[endpoint(
182        method = POST,
183        path = "/scout/v1/run/by-id",
184        name = "getRunById",
185        produces = conjure_http::server::StdResponseSerializer
186    )]
187    fn get_run_by_id(
188        &self,
189        #[auth]
190        auth_: conjure_object::BearerToken,
191        #[body(
192            deserializer = conjure_http::server::StdRequestDeserializer,
193            log_as = "getRunByIdRequest"
194        )]
195        get_run_by_id_request: super::super::super::objects::scout::run::api::GetRunByIdRequest,
196    ) -> Result<
197        super::super::super::objects::scout::run::api::Run,
198        conjure_http::private::Error,
199    >;
200    /// Fetches a list of run details based on a list of RIDs.
201    #[endpoint(
202        method = POST,
203        path = "/scout/v1/run/multiple",
204        name = "getRuns",
205        produces = conjure_http::server::conjure::CollectionResponseSerializer
206    )]
207    fn get_runs(
208        &self,
209        #[auth]
210        auth_: conjure_object::BearerToken,
211        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
212        rids: std::collections::BTreeSet<
213            super::super::super::objects::scout::run::api::RunRid,
214        >,
215    ) -> Result<
216        std::collections::BTreeMap<
217            super::super::super::objects::scout::run::api::RunRid,
218            super::super::super::objects::scout::run::api::Run,
219        >,
220        conjure_http::private::Error,
221    >;
222    /// Fetches the runs with the given asset.
223    #[endpoint(
224        method = POST,
225        path = "/scout/v1/run/by-asset",
226        name = "getRunsByAsset",
227        produces = conjure_http::server::StdResponseSerializer
228    )]
229    fn get_runs_by_asset(
230        &self,
231        #[auth]
232        auth_: conjure_object::BearerToken,
233        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
234        request: super::super::super::objects::scout::run::api::GetRunsByAssetRequest,
235    ) -> Result<
236        super::super::super::objects::scout::run::api::GetRunsByAssetResponse,
237        conjure_http::private::Error,
238    >;
239    /// Fetches the latest run for each requested asset.
240    /// Assets without associated runs will not be included in response.
241    #[endpoint(
242        method = POST,
243        path = "/scout/v1/run/by-assets/latest",
244        name = "getLatestRunForAssets",
245        produces = conjure_http::server::conjure::CollectionResponseSerializer
246    )]
247    fn get_latest_run_for_assets(
248        &self,
249        #[auth]
250        auth_: conjure_object::BearerToken,
251        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
252        request: std::collections::BTreeSet<
253            super::super::super::objects::scout::rids::api::AssetRid,
254        >,
255    ) -> Result<
256        std::collections::BTreeMap<
257            super::super::super::objects::scout::rids::api::AssetRid,
258            super::super::super::objects::scout::run::api::Run,
259        >,
260        conjure_http::private::Error,
261    >;
262    #[endpoint(
263        method = GET,
264        path = "/scout/v1/all-runs-properties-labels",
265        name = "getAllRunsPropertiesAndLabels",
266        produces = conjure_http::server::StdResponseSerializer
267    )]
268    fn get_all_runs_properties_and_labels(
269        &self,
270        #[auth]
271        auth_: conjure_object::BearerToken,
272        #[query(
273            name = "workspaces",
274            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
275        )]
276        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
277    ) -> Result<
278        super::super::super::objects::scout::run::api::AllRunsPropertiesAndLabelsResponse,
279        conjure_http::private::Error,
280    >;
281    /// Searches for runs that match the given filters. Defaults to returning un-archived runs, absent an archive
282    /// filter.
283    #[endpoint(
284        method = POST,
285        path = "/scout/v1/search-runs",
286        name = "searchRuns",
287        produces = conjure_http::server::StdResponseSerializer
288    )]
289    fn search_runs(
290        &self,
291        #[auth]
292        auth_: conjure_object::BearerToken,
293        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
294        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
295    ) -> Result<
296        super::super::super::objects::scout::run::api::SearchRunsResponse,
297        conjure_http::private::Error,
298    >;
299    /// Searches for runs that match the given filters and
300    /// includes metrics for check and violation review status. Defaults to returning un-archived runs, absent an
301    /// archive filter.
302    #[endpoint(
303        method = POST,
304        path = "/scout/v1/search-runs-with-data-review-metrics",
305        name = "searchRunsWithDataReviewMetrics",
306        produces = conjure_http::server::StdResponseSerializer
307    )]
308    fn search_runs_with_data_review_metrics(
309        &self,
310        #[auth]
311        auth_: conjure_object::BearerToken,
312        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
313        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
314    ) -> Result<
315        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewMetricsResponse,
316        conjure_http::private::Error,
317    >;
318    /// Searches for runs that match the given filters and includes a summary of the data review status. Defaults to
319    /// returning un-archived runs, absent an archive filter.
320    #[endpoint(
321        method = POST,
322        path = "/scout/v1/search-runs-with-data-review-summary",
323        name = "searchRunsWithDataReviewSummary",
324        produces = conjure_http::server::StdResponseSerializer
325    )]
326    fn search_runs_with_data_review_summary(
327        &self,
328        #[auth]
329        auth_: conjure_object::BearerToken,
330        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
331        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
332    ) -> Result<
333        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewSummaryResponse,
334        conjure_http::private::Error,
335    >;
336    /// Soft-deletes a run. Runs still exist in the database but are no longer visible.
337    #[endpoint(
338        method = PUT,
339        path = "/scout/v1/archive-run/{rid}",
340        name = "archiveRun",
341        produces = conjure_http::server::StdResponseSerializer
342    )]
343    fn archive_run(
344        &self,
345        #[auth]
346        auth_: conjure_object::BearerToken,
347        #[path(
348            name = "rid",
349            decoder = conjure_http::server::conjure::FromPlainDecoder,
350            safe
351        )]
352        rid: super::super::super::objects::scout::run::api::RunRid,
353        #[query(
354            name = "includeLinkedWorkbooks",
355            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
356            log_as = "includeLinkedWorkbooks"
357        )]
358        include_linked_workbooks: Option<bool>,
359    ) -> Result<bool, conjure_http::private::Error>;
360    #[endpoint(
361        method = PUT,
362        path = "/scout/v1/unarchive-run/{rid}",
363        name = "unarchiveRun",
364        produces = conjure_http::server::StdResponseSerializer
365    )]
366    fn unarchive_run(
367        &self,
368        #[auth]
369        auth_: conjure_object::BearerToken,
370        #[path(
371            name = "rid",
372            decoder = conjure_http::server::conjure::FromPlainDecoder,
373            safe
374        )]
375        rid: super::super::super::objects::scout::run::api::RunRid,
376        #[query(
377            name = "includeLinkedWorkbooks",
378            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
379            log_as = "includeLinkedWorkbooks"
380        )]
381        include_linked_workbooks: Option<bool>,
382    ) -> Result<bool, conjure_http::private::Error>;
383    #[endpoint(method = POST, path = "/scout/v1/archive-run", name = "archiveRuns")]
384    fn archive_runs(
385        &self,
386        #[auth]
387        auth_: conjure_object::BearerToken,
388        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
389        request: super::super::super::objects::scout::run::api::ArchiveRunsRequest,
390    ) -> Result<(), conjure_http::private::Error>;
391    #[endpoint(method = POST, path = "/scout/v1/unarchive-run", name = "unarchiveRuns")]
392    fn unarchive_runs(
393        &self,
394        #[auth]
395        auth_: conjure_object::BearerToken,
396        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
397        request: super::super::super::objects::scout::run::api::UnarchiveRunsRequest,
398    ) -> Result<(), conjure_http::private::Error>;
399    /// Returns the list of ref names that are in use across specified and authorized workspaces.
400    #[endpoint(
401        method = GET,
402        path = "/scout/v1/data-source-ref-names-and-types",
403        name = "getDataSourceRefNameAndTypeList",
404        produces = conjure_http::server::conjure::CollectionResponseSerializer
405    )]
406    fn get_data_source_ref_name_and_type_list(
407        &self,
408        #[auth]
409        auth_: conjure_object::BearerToken,
410        #[query(
411            name = "workspaces",
412            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
413        )]
414        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
415    ) -> Result<
416        Vec<super::super::super::objects::scout::run::api::RefNameAndType>,
417        conjure_http::private::Error,
418    >;
419    /// Updates the attachments associated with a run.
420    #[endpoint(
421        method = POST,
422        path = "/scout/v1/run/{rid}/attachments",
423        name = "updateRunAttachment"
424    )]
425    fn update_run_attachment(
426        &self,
427        #[auth]
428        auth_: conjure_object::BearerToken,
429        #[path(
430            name = "rid",
431            decoder = conjure_http::server::conjure::FromPlainDecoder,
432            safe
433        )]
434        rid: super::super::super::objects::scout::run::api::RunRid,
435        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
436        request: super::super::super::objects::scout::run::api::UpdateAttachmentsRequest,
437    ) -> Result<(), conjure_http::private::Error>;
438}
439/// Runs are collections of channels and metadata from one or more data sources, synchronized over a
440/// range of real time, which represents a test event or simulation. These API endpoints let you
441/// manage runs in the Nominal app.
442#[conjure_http::conjure_endpoints(name = "RunService", use_legacy_error_serialization)]
443pub trait AsyncRunService {
444    /// Create a new run in Nominal.
445    ///
446    /// Throws if start is equal to or after end.
447    #[endpoint(
448        method = POST,
449        path = "/scout/v1/run",
450        name = "createRun",
451        produces = conjure_http::server::StdResponseSerializer
452    )]
453    async fn create_run(
454        &self,
455        #[auth]
456        auth_: conjure_object::BearerToken,
457        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
458        details: super::super::super::objects::scout::run::api::CreateRunRequest,
459    ) -> Result<
460        super::super::super::objects::scout::run::api::Run,
461        conjure_http::private::Error,
462    >;
463    /// Updates an existing run based on its RID.
464    ///
465    /// Throws if start is equal to or after end.
466    #[endpoint(
467        method = PUT,
468        path = "/scout/v1/run/{rid}",
469        name = "updateRun",
470        produces = conjure_http::server::StdResponseSerializer
471    )]
472    async fn update_run(
473        &self,
474        #[auth]
475        auth_: conjure_object::BearerToken,
476        #[path(
477            name = "rid",
478            decoder = conjure_http::server::conjure::FromPlainDecoder,
479            safe
480        )]
481        rid: super::super::super::objects::scout::run::api::RunRid,
482        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
483        details: super::super::super::objects::scout::run::api::UpdateRunRequest,
484    ) -> Result<
485        super::super::super::objects::scout::run::api::Run,
486        conjure_http::private::Error,
487    >;
488    /// Batch edits metadata across multiple runs. Supports rename/merge for labels and properties.
489    /// If more than 1000 runs are targeted, this endpoint will throw a 400.
490    #[endpoint(
491        method = POST,
492        path = "/scout/v1/run/metadata/batch-edit",
493        name = "batchEditRunMetadata",
494        produces = conjure_http::server::StdResponseSerializer
495    )]
496    async fn batch_edit_run_metadata(
497        &self,
498        #[auth]
499        auth_: conjure_object::BearerToken,
500        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
501        request: super::super::super::objects::scout::run::api::BatchEditRunMetadataRequest,
502    ) -> Result<
503        super::super::super::objects::scout::run::api::BatchEditRunMetadataResponse,
504        conjure_http::private::Error,
505    >;
506    /// Adds datasources to the run in question.
507    ///
508    /// Throws if any of the ref names conflict with existing data sources or each other.
509    #[endpoint(
510        method = POST,
511        path = "/scout/v1/run/{runRid}/data-sources",
512        name = "addDataSourcesToRun",
513        produces = conjure_http::server::StdResponseSerializer
514    )]
515    async fn add_data_sources_to_run(
516        &self,
517        #[auth]
518        auth_: conjure_object::BearerToken,
519        #[path(
520            name = "runRid",
521            decoder = conjure_http::server::conjure::FromPlainDecoder,
522            log_as = "runRid",
523            safe
524        )]
525        run_rid: super::super::super::objects::scout::run::api::RunRid,
526        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
527        request: std::collections::BTreeMap<
528            super::super::super::objects::scout::api::DataSourceRefName,
529            super::super::super::objects::scout::run::api::CreateRunDataSource,
530        >,
531    ) -> Result<
532        super::super::super::objects::scout::run::api::Run,
533        conjure_http::private::Error,
534    >;
535    /// Updates a run if it exists, otherwise it's created from scratch.
536    /// Will throw if the workspace of an existing run is different from the workspace of the request.
537    #[endpoint(
538        method = POST,
539        path = "/scout/v1/run/create-or-update",
540        name = "createOrUpdateRun",
541        produces = conjure_http::server::StdResponseSerializer
542    )]
543    async fn create_or_update_run(
544        &self,
545        #[auth]
546        auth_: conjure_object::BearerToken,
547        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
548        details: super::super::super::objects::scout::run::api::CreateOrUpdateRunRequest,
549    ) -> Result<
550        super::super::super::objects::scout::run::api::Run,
551        conjure_http::private::Error,
552    >;
553    /// Fetches details about the run in question based on its RID.
554    #[endpoint(
555        method = GET,
556        path = "/scout/v1/run/{rid}",
557        name = "getRun",
558        produces = conjure_http::server::StdResponseSerializer
559    )]
560    async fn get_run(
561        &self,
562        #[auth]
563        auth_: conjure_object::BearerToken,
564        #[path(
565            name = "rid",
566            decoder = conjure_http::server::conjure::FromPlainDecoder,
567            safe
568        )]
569        rid: super::super::super::objects::scout::run::api::RunRid,
570    ) -> Result<
571        super::super::super::objects::scout::run::api::Run,
572        conjure_http::private::Error,
573    >;
574    /// Fetches details about the run in question based on its RID,
575    /// including metrics for check and violation review status.
576    #[endpoint(
577        method = GET,
578        path = "/scout/v1/run/{rid}/with-data-review-metrics",
579        name = "getRunWithDataReviewMetrics",
580        produces = conjure_http::server::StdResponseSerializer
581    )]
582    async fn get_run_with_data_review_metrics(
583        &self,
584        #[auth]
585        auth_: conjure_object::BearerToken,
586        #[path(
587            name = "rid",
588            decoder = conjure_http::server::conjure::FromPlainDecoder,
589            safe
590        )]
591        rid: super::super::super::objects::scout::run::api::RunRid,
592    ) -> Result<
593        super::super::super::objects::scout::run::api::RunWithDataReviewMetrics,
594        conjure_http::private::Error,
595    >;
596    /// Fetches details about the run in question based on its RID, including a summary of the data review status.
597    #[endpoint(
598        method = GET,
599        path = "/scout/v1/run/{rid}/with-data-review-summary",
600        name = "getRunWithDataReviewSummary",
601        produces = conjure_http::server::StdResponseSerializer
602    )]
603    async fn get_run_with_data_review_summary(
604        &self,
605        #[auth]
606        auth_: conjure_object::BearerToken,
607        #[path(
608            name = "rid",
609            decoder = conjure_http::server::conjure::FromPlainDecoder,
610            safe
611        )]
612        rid: super::super::super::objects::scout::run::api::RunRid,
613    ) -> Result<
614        super::super::super::objects::scout::run::api::RunWithDataReviewSummary,
615        conjure_http::private::Error,
616    >;
617    /// Fetches a run based on the run number, rather than RID.
618    #[endpoint(
619        method = POST,
620        path = "/scout/v1/run/by-id",
621        name = "getRunById",
622        produces = conjure_http::server::StdResponseSerializer
623    )]
624    async fn get_run_by_id(
625        &self,
626        #[auth]
627        auth_: conjure_object::BearerToken,
628        #[body(
629            deserializer = conjure_http::server::StdRequestDeserializer,
630            log_as = "getRunByIdRequest"
631        )]
632        get_run_by_id_request: super::super::super::objects::scout::run::api::GetRunByIdRequest,
633    ) -> Result<
634        super::super::super::objects::scout::run::api::Run,
635        conjure_http::private::Error,
636    >;
637    /// Fetches a list of run details based on a list of RIDs.
638    #[endpoint(
639        method = POST,
640        path = "/scout/v1/run/multiple",
641        name = "getRuns",
642        produces = conjure_http::server::conjure::CollectionResponseSerializer
643    )]
644    async fn get_runs(
645        &self,
646        #[auth]
647        auth_: conjure_object::BearerToken,
648        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
649        rids: std::collections::BTreeSet<
650            super::super::super::objects::scout::run::api::RunRid,
651        >,
652    ) -> Result<
653        std::collections::BTreeMap<
654            super::super::super::objects::scout::run::api::RunRid,
655            super::super::super::objects::scout::run::api::Run,
656        >,
657        conjure_http::private::Error,
658    >;
659    /// Fetches the runs with the given asset.
660    #[endpoint(
661        method = POST,
662        path = "/scout/v1/run/by-asset",
663        name = "getRunsByAsset",
664        produces = conjure_http::server::StdResponseSerializer
665    )]
666    async fn get_runs_by_asset(
667        &self,
668        #[auth]
669        auth_: conjure_object::BearerToken,
670        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
671        request: super::super::super::objects::scout::run::api::GetRunsByAssetRequest,
672    ) -> Result<
673        super::super::super::objects::scout::run::api::GetRunsByAssetResponse,
674        conjure_http::private::Error,
675    >;
676    /// Fetches the latest run for each requested asset.
677    /// Assets without associated runs will not be included in response.
678    #[endpoint(
679        method = POST,
680        path = "/scout/v1/run/by-assets/latest",
681        name = "getLatestRunForAssets",
682        produces = conjure_http::server::conjure::CollectionResponseSerializer
683    )]
684    async fn get_latest_run_for_assets(
685        &self,
686        #[auth]
687        auth_: conjure_object::BearerToken,
688        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
689        request: std::collections::BTreeSet<
690            super::super::super::objects::scout::rids::api::AssetRid,
691        >,
692    ) -> Result<
693        std::collections::BTreeMap<
694            super::super::super::objects::scout::rids::api::AssetRid,
695            super::super::super::objects::scout::run::api::Run,
696        >,
697        conjure_http::private::Error,
698    >;
699    #[endpoint(
700        method = GET,
701        path = "/scout/v1/all-runs-properties-labels",
702        name = "getAllRunsPropertiesAndLabels",
703        produces = conjure_http::server::StdResponseSerializer
704    )]
705    async fn get_all_runs_properties_and_labels(
706        &self,
707        #[auth]
708        auth_: conjure_object::BearerToken,
709        #[query(
710            name = "workspaces",
711            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
712        )]
713        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
714    ) -> Result<
715        super::super::super::objects::scout::run::api::AllRunsPropertiesAndLabelsResponse,
716        conjure_http::private::Error,
717    >;
718    /// Searches for runs that match the given filters. Defaults to returning un-archived runs, absent an archive
719    /// filter.
720    #[endpoint(
721        method = POST,
722        path = "/scout/v1/search-runs",
723        name = "searchRuns",
724        produces = conjure_http::server::StdResponseSerializer
725    )]
726    async fn search_runs(
727        &self,
728        #[auth]
729        auth_: conjure_object::BearerToken,
730        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
731        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
732    ) -> Result<
733        super::super::super::objects::scout::run::api::SearchRunsResponse,
734        conjure_http::private::Error,
735    >;
736    /// Searches for runs that match the given filters and
737    /// includes metrics for check and violation review status. Defaults to returning un-archived runs, absent an
738    /// archive filter.
739    #[endpoint(
740        method = POST,
741        path = "/scout/v1/search-runs-with-data-review-metrics",
742        name = "searchRunsWithDataReviewMetrics",
743        produces = conjure_http::server::StdResponseSerializer
744    )]
745    async fn search_runs_with_data_review_metrics(
746        &self,
747        #[auth]
748        auth_: conjure_object::BearerToken,
749        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
750        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
751    ) -> Result<
752        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewMetricsResponse,
753        conjure_http::private::Error,
754    >;
755    /// Searches for runs that match the given filters and includes a summary of the data review status. Defaults to
756    /// returning un-archived runs, absent an archive filter.
757    #[endpoint(
758        method = POST,
759        path = "/scout/v1/search-runs-with-data-review-summary",
760        name = "searchRunsWithDataReviewSummary",
761        produces = conjure_http::server::StdResponseSerializer
762    )]
763    async fn search_runs_with_data_review_summary(
764        &self,
765        #[auth]
766        auth_: conjure_object::BearerToken,
767        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
768        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
769    ) -> Result<
770        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewSummaryResponse,
771        conjure_http::private::Error,
772    >;
773    /// Soft-deletes a run. Runs still exist in the database but are no longer visible.
774    #[endpoint(
775        method = PUT,
776        path = "/scout/v1/archive-run/{rid}",
777        name = "archiveRun",
778        produces = conjure_http::server::StdResponseSerializer
779    )]
780    async fn archive_run(
781        &self,
782        #[auth]
783        auth_: conjure_object::BearerToken,
784        #[path(
785            name = "rid",
786            decoder = conjure_http::server::conjure::FromPlainDecoder,
787            safe
788        )]
789        rid: super::super::super::objects::scout::run::api::RunRid,
790        #[query(
791            name = "includeLinkedWorkbooks",
792            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
793            log_as = "includeLinkedWorkbooks"
794        )]
795        include_linked_workbooks: Option<bool>,
796    ) -> Result<bool, conjure_http::private::Error>;
797    #[endpoint(
798        method = PUT,
799        path = "/scout/v1/unarchive-run/{rid}",
800        name = "unarchiveRun",
801        produces = conjure_http::server::StdResponseSerializer
802    )]
803    async fn unarchive_run(
804        &self,
805        #[auth]
806        auth_: conjure_object::BearerToken,
807        #[path(
808            name = "rid",
809            decoder = conjure_http::server::conjure::FromPlainDecoder,
810            safe
811        )]
812        rid: super::super::super::objects::scout::run::api::RunRid,
813        #[query(
814            name = "includeLinkedWorkbooks",
815            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
816            log_as = "includeLinkedWorkbooks"
817        )]
818        include_linked_workbooks: Option<bool>,
819    ) -> Result<bool, conjure_http::private::Error>;
820    #[endpoint(method = POST, path = "/scout/v1/archive-run", name = "archiveRuns")]
821    async fn archive_runs(
822        &self,
823        #[auth]
824        auth_: conjure_object::BearerToken,
825        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
826        request: super::super::super::objects::scout::run::api::ArchiveRunsRequest,
827    ) -> Result<(), conjure_http::private::Error>;
828    #[endpoint(method = POST, path = "/scout/v1/unarchive-run", name = "unarchiveRuns")]
829    async fn unarchive_runs(
830        &self,
831        #[auth]
832        auth_: conjure_object::BearerToken,
833        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
834        request: super::super::super::objects::scout::run::api::UnarchiveRunsRequest,
835    ) -> Result<(), conjure_http::private::Error>;
836    /// Returns the list of ref names that are in use across specified and authorized workspaces.
837    #[endpoint(
838        method = GET,
839        path = "/scout/v1/data-source-ref-names-and-types",
840        name = "getDataSourceRefNameAndTypeList",
841        produces = conjure_http::server::conjure::CollectionResponseSerializer
842    )]
843    async fn get_data_source_ref_name_and_type_list(
844        &self,
845        #[auth]
846        auth_: conjure_object::BearerToken,
847        #[query(
848            name = "workspaces",
849            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
850        )]
851        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
852    ) -> Result<
853        Vec<super::super::super::objects::scout::run::api::RefNameAndType>,
854        conjure_http::private::Error,
855    >;
856    /// Updates the attachments associated with a run.
857    #[endpoint(
858        method = POST,
859        path = "/scout/v1/run/{rid}/attachments",
860        name = "updateRunAttachment"
861    )]
862    async fn update_run_attachment(
863        &self,
864        #[auth]
865        auth_: conjure_object::BearerToken,
866        #[path(
867            name = "rid",
868            decoder = conjure_http::server::conjure::FromPlainDecoder,
869            safe
870        )]
871        rid: super::super::super::objects::scout::run::api::RunRid,
872        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
873        request: super::super::super::objects::scout::run::api::UpdateAttachmentsRequest,
874    ) -> Result<(), conjure_http::private::Error>;
875}
876/// Runs are collections of channels and metadata from one or more data sources, synchronized over a
877/// range of real time, which represents a test event or simulation. These API endpoints let you
878/// manage runs in the Nominal app.
879#[conjure_http::conjure_endpoints(
880    name = "RunService",
881    use_legacy_error_serialization,
882    local
883)]
884pub trait LocalAsyncRunService {
885    /// Create a new run in Nominal.
886    ///
887    /// Throws if start is equal to or after end.
888    #[endpoint(
889        method = POST,
890        path = "/scout/v1/run",
891        name = "createRun",
892        produces = conjure_http::server::StdResponseSerializer
893    )]
894    async fn create_run(
895        &self,
896        #[auth]
897        auth_: conjure_object::BearerToken,
898        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
899        details: super::super::super::objects::scout::run::api::CreateRunRequest,
900    ) -> Result<
901        super::super::super::objects::scout::run::api::Run,
902        conjure_http::private::Error,
903    >;
904    /// Updates an existing run based on its RID.
905    ///
906    /// Throws if start is equal to or after end.
907    #[endpoint(
908        method = PUT,
909        path = "/scout/v1/run/{rid}",
910        name = "updateRun",
911        produces = conjure_http::server::StdResponseSerializer
912    )]
913    async fn update_run(
914        &self,
915        #[auth]
916        auth_: conjure_object::BearerToken,
917        #[path(
918            name = "rid",
919            decoder = conjure_http::server::conjure::FromPlainDecoder,
920            safe
921        )]
922        rid: super::super::super::objects::scout::run::api::RunRid,
923        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
924        details: super::super::super::objects::scout::run::api::UpdateRunRequest,
925    ) -> Result<
926        super::super::super::objects::scout::run::api::Run,
927        conjure_http::private::Error,
928    >;
929    /// Batch edits metadata across multiple runs. Supports rename/merge for labels and properties.
930    /// If more than 1000 runs are targeted, this endpoint will throw a 400.
931    #[endpoint(
932        method = POST,
933        path = "/scout/v1/run/metadata/batch-edit",
934        name = "batchEditRunMetadata",
935        produces = conjure_http::server::StdResponseSerializer
936    )]
937    async fn batch_edit_run_metadata(
938        &self,
939        #[auth]
940        auth_: conjure_object::BearerToken,
941        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
942        request: super::super::super::objects::scout::run::api::BatchEditRunMetadataRequest,
943    ) -> Result<
944        super::super::super::objects::scout::run::api::BatchEditRunMetadataResponse,
945        conjure_http::private::Error,
946    >;
947    /// Adds datasources to the run in question.
948    ///
949    /// Throws if any of the ref names conflict with existing data sources or each other.
950    #[endpoint(
951        method = POST,
952        path = "/scout/v1/run/{runRid}/data-sources",
953        name = "addDataSourcesToRun",
954        produces = conjure_http::server::StdResponseSerializer
955    )]
956    async fn add_data_sources_to_run(
957        &self,
958        #[auth]
959        auth_: conjure_object::BearerToken,
960        #[path(
961            name = "runRid",
962            decoder = conjure_http::server::conjure::FromPlainDecoder,
963            log_as = "runRid",
964            safe
965        )]
966        run_rid: super::super::super::objects::scout::run::api::RunRid,
967        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
968        request: std::collections::BTreeMap<
969            super::super::super::objects::scout::api::DataSourceRefName,
970            super::super::super::objects::scout::run::api::CreateRunDataSource,
971        >,
972    ) -> Result<
973        super::super::super::objects::scout::run::api::Run,
974        conjure_http::private::Error,
975    >;
976    /// Updates a run if it exists, otherwise it's created from scratch.
977    /// Will throw if the workspace of an existing run is different from the workspace of the request.
978    #[endpoint(
979        method = POST,
980        path = "/scout/v1/run/create-or-update",
981        name = "createOrUpdateRun",
982        produces = conjure_http::server::StdResponseSerializer
983    )]
984    async fn create_or_update_run(
985        &self,
986        #[auth]
987        auth_: conjure_object::BearerToken,
988        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
989        details: super::super::super::objects::scout::run::api::CreateOrUpdateRunRequest,
990    ) -> Result<
991        super::super::super::objects::scout::run::api::Run,
992        conjure_http::private::Error,
993    >;
994    /// Fetches details about the run in question based on its RID.
995    #[endpoint(
996        method = GET,
997        path = "/scout/v1/run/{rid}",
998        name = "getRun",
999        produces = conjure_http::server::StdResponseSerializer
1000    )]
1001    async fn get_run(
1002        &self,
1003        #[auth]
1004        auth_: conjure_object::BearerToken,
1005        #[path(
1006            name = "rid",
1007            decoder = conjure_http::server::conjure::FromPlainDecoder,
1008            safe
1009        )]
1010        rid: super::super::super::objects::scout::run::api::RunRid,
1011    ) -> Result<
1012        super::super::super::objects::scout::run::api::Run,
1013        conjure_http::private::Error,
1014    >;
1015    /// Fetches details about the run in question based on its RID,
1016    /// including metrics for check and violation review status.
1017    #[endpoint(
1018        method = GET,
1019        path = "/scout/v1/run/{rid}/with-data-review-metrics",
1020        name = "getRunWithDataReviewMetrics",
1021        produces = conjure_http::server::StdResponseSerializer
1022    )]
1023    async fn get_run_with_data_review_metrics(
1024        &self,
1025        #[auth]
1026        auth_: conjure_object::BearerToken,
1027        #[path(
1028            name = "rid",
1029            decoder = conjure_http::server::conjure::FromPlainDecoder,
1030            safe
1031        )]
1032        rid: super::super::super::objects::scout::run::api::RunRid,
1033    ) -> Result<
1034        super::super::super::objects::scout::run::api::RunWithDataReviewMetrics,
1035        conjure_http::private::Error,
1036    >;
1037    /// Fetches details about the run in question based on its RID, including a summary of the data review status.
1038    #[endpoint(
1039        method = GET,
1040        path = "/scout/v1/run/{rid}/with-data-review-summary",
1041        name = "getRunWithDataReviewSummary",
1042        produces = conjure_http::server::StdResponseSerializer
1043    )]
1044    async fn get_run_with_data_review_summary(
1045        &self,
1046        #[auth]
1047        auth_: conjure_object::BearerToken,
1048        #[path(
1049            name = "rid",
1050            decoder = conjure_http::server::conjure::FromPlainDecoder,
1051            safe
1052        )]
1053        rid: super::super::super::objects::scout::run::api::RunRid,
1054    ) -> Result<
1055        super::super::super::objects::scout::run::api::RunWithDataReviewSummary,
1056        conjure_http::private::Error,
1057    >;
1058    /// Fetches a run based on the run number, rather than RID.
1059    #[endpoint(
1060        method = POST,
1061        path = "/scout/v1/run/by-id",
1062        name = "getRunById",
1063        produces = conjure_http::server::StdResponseSerializer
1064    )]
1065    async fn get_run_by_id(
1066        &self,
1067        #[auth]
1068        auth_: conjure_object::BearerToken,
1069        #[body(
1070            deserializer = conjure_http::server::StdRequestDeserializer,
1071            log_as = "getRunByIdRequest"
1072        )]
1073        get_run_by_id_request: super::super::super::objects::scout::run::api::GetRunByIdRequest,
1074    ) -> Result<
1075        super::super::super::objects::scout::run::api::Run,
1076        conjure_http::private::Error,
1077    >;
1078    /// Fetches a list of run details based on a list of RIDs.
1079    #[endpoint(
1080        method = POST,
1081        path = "/scout/v1/run/multiple",
1082        name = "getRuns",
1083        produces = conjure_http::server::conjure::CollectionResponseSerializer
1084    )]
1085    async fn get_runs(
1086        &self,
1087        #[auth]
1088        auth_: conjure_object::BearerToken,
1089        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1090        rids: std::collections::BTreeSet<
1091            super::super::super::objects::scout::run::api::RunRid,
1092        >,
1093    ) -> Result<
1094        std::collections::BTreeMap<
1095            super::super::super::objects::scout::run::api::RunRid,
1096            super::super::super::objects::scout::run::api::Run,
1097        >,
1098        conjure_http::private::Error,
1099    >;
1100    /// Fetches the runs with the given asset.
1101    #[endpoint(
1102        method = POST,
1103        path = "/scout/v1/run/by-asset",
1104        name = "getRunsByAsset",
1105        produces = conjure_http::server::StdResponseSerializer
1106    )]
1107    async fn get_runs_by_asset(
1108        &self,
1109        #[auth]
1110        auth_: conjure_object::BearerToken,
1111        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1112        request: super::super::super::objects::scout::run::api::GetRunsByAssetRequest,
1113    ) -> Result<
1114        super::super::super::objects::scout::run::api::GetRunsByAssetResponse,
1115        conjure_http::private::Error,
1116    >;
1117    /// Fetches the latest run for each requested asset.
1118    /// Assets without associated runs will not be included in response.
1119    #[endpoint(
1120        method = POST,
1121        path = "/scout/v1/run/by-assets/latest",
1122        name = "getLatestRunForAssets",
1123        produces = conjure_http::server::conjure::CollectionResponseSerializer
1124    )]
1125    async fn get_latest_run_for_assets(
1126        &self,
1127        #[auth]
1128        auth_: conjure_object::BearerToken,
1129        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1130        request: std::collections::BTreeSet<
1131            super::super::super::objects::scout::rids::api::AssetRid,
1132        >,
1133    ) -> Result<
1134        std::collections::BTreeMap<
1135            super::super::super::objects::scout::rids::api::AssetRid,
1136            super::super::super::objects::scout::run::api::Run,
1137        >,
1138        conjure_http::private::Error,
1139    >;
1140    #[endpoint(
1141        method = GET,
1142        path = "/scout/v1/all-runs-properties-labels",
1143        name = "getAllRunsPropertiesAndLabels",
1144        produces = conjure_http::server::StdResponseSerializer
1145    )]
1146    async fn get_all_runs_properties_and_labels(
1147        &self,
1148        #[auth]
1149        auth_: conjure_object::BearerToken,
1150        #[query(
1151            name = "workspaces",
1152            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
1153        )]
1154        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1155    ) -> Result<
1156        super::super::super::objects::scout::run::api::AllRunsPropertiesAndLabelsResponse,
1157        conjure_http::private::Error,
1158    >;
1159    /// Searches for runs that match the given filters. Defaults to returning un-archived runs, absent an archive
1160    /// filter.
1161    #[endpoint(
1162        method = POST,
1163        path = "/scout/v1/search-runs",
1164        name = "searchRuns",
1165        produces = conjure_http::server::StdResponseSerializer
1166    )]
1167    async fn search_runs(
1168        &self,
1169        #[auth]
1170        auth_: conjure_object::BearerToken,
1171        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1172        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
1173    ) -> Result<
1174        super::super::super::objects::scout::run::api::SearchRunsResponse,
1175        conjure_http::private::Error,
1176    >;
1177    /// Searches for runs that match the given filters and
1178    /// includes metrics for check and violation review status. Defaults to returning un-archived runs, absent an
1179    /// archive filter.
1180    #[endpoint(
1181        method = POST,
1182        path = "/scout/v1/search-runs-with-data-review-metrics",
1183        name = "searchRunsWithDataReviewMetrics",
1184        produces = conjure_http::server::StdResponseSerializer
1185    )]
1186    async fn search_runs_with_data_review_metrics(
1187        &self,
1188        #[auth]
1189        auth_: conjure_object::BearerToken,
1190        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1191        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
1192    ) -> Result<
1193        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewMetricsResponse,
1194        conjure_http::private::Error,
1195    >;
1196    /// Searches for runs that match the given filters and includes a summary of the data review status. Defaults to
1197    /// returning un-archived runs, absent an archive filter.
1198    #[endpoint(
1199        method = POST,
1200        path = "/scout/v1/search-runs-with-data-review-summary",
1201        name = "searchRunsWithDataReviewSummary",
1202        produces = conjure_http::server::StdResponseSerializer
1203    )]
1204    async fn search_runs_with_data_review_summary(
1205        &self,
1206        #[auth]
1207        auth_: conjure_object::BearerToken,
1208        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1209        request: super::super::super::objects::scout::run::api::SearchRunsRequest,
1210    ) -> Result<
1211        super::super::super::objects::scout::run::api::SearchRunsWithDataReviewSummaryResponse,
1212        conjure_http::private::Error,
1213    >;
1214    /// Soft-deletes a run. Runs still exist in the database but are no longer visible.
1215    #[endpoint(
1216        method = PUT,
1217        path = "/scout/v1/archive-run/{rid}",
1218        name = "archiveRun",
1219        produces = conjure_http::server::StdResponseSerializer
1220    )]
1221    async fn archive_run(
1222        &self,
1223        #[auth]
1224        auth_: conjure_object::BearerToken,
1225        #[path(
1226            name = "rid",
1227            decoder = conjure_http::server::conjure::FromPlainDecoder,
1228            safe
1229        )]
1230        rid: super::super::super::objects::scout::run::api::RunRid,
1231        #[query(
1232            name = "includeLinkedWorkbooks",
1233            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1234            log_as = "includeLinkedWorkbooks"
1235        )]
1236        include_linked_workbooks: Option<bool>,
1237    ) -> Result<bool, conjure_http::private::Error>;
1238    #[endpoint(
1239        method = PUT,
1240        path = "/scout/v1/unarchive-run/{rid}",
1241        name = "unarchiveRun",
1242        produces = conjure_http::server::StdResponseSerializer
1243    )]
1244    async fn unarchive_run(
1245        &self,
1246        #[auth]
1247        auth_: conjure_object::BearerToken,
1248        #[path(
1249            name = "rid",
1250            decoder = conjure_http::server::conjure::FromPlainDecoder,
1251            safe
1252        )]
1253        rid: super::super::super::objects::scout::run::api::RunRid,
1254        #[query(
1255            name = "includeLinkedWorkbooks",
1256            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1257            log_as = "includeLinkedWorkbooks"
1258        )]
1259        include_linked_workbooks: Option<bool>,
1260    ) -> Result<bool, conjure_http::private::Error>;
1261    #[endpoint(method = POST, path = "/scout/v1/archive-run", name = "archiveRuns")]
1262    async fn archive_runs(
1263        &self,
1264        #[auth]
1265        auth_: conjure_object::BearerToken,
1266        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1267        request: super::super::super::objects::scout::run::api::ArchiveRunsRequest,
1268    ) -> Result<(), conjure_http::private::Error>;
1269    #[endpoint(method = POST, path = "/scout/v1/unarchive-run", name = "unarchiveRuns")]
1270    async fn unarchive_runs(
1271        &self,
1272        #[auth]
1273        auth_: conjure_object::BearerToken,
1274        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1275        request: super::super::super::objects::scout::run::api::UnarchiveRunsRequest,
1276    ) -> Result<(), conjure_http::private::Error>;
1277    /// Returns the list of ref names that are in use across specified and authorized workspaces.
1278    #[endpoint(
1279        method = GET,
1280        path = "/scout/v1/data-source-ref-names-and-types",
1281        name = "getDataSourceRefNameAndTypeList",
1282        produces = conjure_http::server::conjure::CollectionResponseSerializer
1283    )]
1284    async fn get_data_source_ref_name_and_type_list(
1285        &self,
1286        #[auth]
1287        auth_: conjure_object::BearerToken,
1288        #[query(
1289            name = "workspaces",
1290            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>
1291        )]
1292        workspaces: std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
1293    ) -> Result<
1294        Vec<super::super::super::objects::scout::run::api::RefNameAndType>,
1295        conjure_http::private::Error,
1296    >;
1297    /// Updates the attachments associated with a run.
1298    #[endpoint(
1299        method = POST,
1300        path = "/scout/v1/run/{rid}/attachments",
1301        name = "updateRunAttachment"
1302    )]
1303    async fn update_run_attachment(
1304        &self,
1305        #[auth]
1306        auth_: conjure_object::BearerToken,
1307        #[path(
1308            name = "rid",
1309            decoder = conjure_http::server::conjure::FromPlainDecoder,
1310            safe
1311        )]
1312        rid: super::super::super::objects::scout::run::api::RunRid,
1313        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1314        request: super::super::super::objects::scout::run::api::UpdateAttachmentsRequest,
1315    ) -> Result<(), conjure_http::private::Error>;
1316}