Skip to main content

nominal_api/conjure/endpoints/scout/catalog/
catalog_service.rs

1use conjure_http::endpoint;
2/// The Catalog Service provides the ability to query for information about Datasets that are stored in
3/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
4/// a file, primarily CSV.
5#[conjure_http::conjure_endpoints(
6    name = "CatalogService",
7    use_legacy_error_serialization
8)]
9pub trait CatalogService {
10    #[endpoint(
11        method = GET,
12        path = "/catalog/v1/datasets/{datasetUuid}",
13        name = "getEnrichedDataset",
14        produces = conjure_http::server::StdResponseSerializer
15    )]
16    fn get_enriched_dataset(
17        &self,
18        #[auth]
19        auth_: conjure_object::BearerToken,
20        #[path(
21            name = "datasetUuid",
22            decoder = conjure_http::server::conjure::FromPlainDecoder,
23            log_as = "datasetUuid"
24        )]
25        dataset_uuid: conjure_object::Uuid,
26    ) -> Result<
27        super::super::super::super::objects::scout::catalog::EnrichedDataset,
28        conjure_http::private::Error,
29    >;
30    #[endpoint(
31        method = POST,
32        path = "/catalog/v1/datasets/multiple",
33        name = "getEnrichedDatasets",
34        produces = conjure_http::server::conjure::CollectionResponseSerializer
35    )]
36    fn get_enriched_datasets(
37        &self,
38        #[auth]
39        auth_: conjure_object::BearerToken,
40        #[body(
41            deserializer = conjure_http::server::StdRequestDeserializer,
42            log_as = "getDatasetsRequest"
43        )]
44        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
45    ) -> Result<
46        std::collections::BTreeSet<
47            super::super::super::super::objects::scout::catalog::EnrichedDataset,
48        >,
49        conjure_http::private::Error,
50    >;
51    #[endpoint(
52        method = GET,
53        path = "/catalog/v1/datasets-simple/{datasetUuid}",
54        name = "getDataset",
55        produces = conjure_http::server::StdResponseSerializer
56    )]
57    fn get_dataset(
58        &self,
59        #[auth]
60        auth_: conjure_object::BearerToken,
61        #[path(
62            name = "datasetUuid",
63            decoder = conjure_http::server::conjure::FromPlainDecoder,
64            log_as = "datasetUuid"
65        )]
66        dataset_uuid: conjure_object::Uuid,
67    ) -> Result<
68        super::super::super::super::objects::scout::catalog::Dataset,
69        conjure_http::private::Error,
70    >;
71    #[endpoint(
72        method = POST,
73        path = "/catalog/v1/datasets-simple/multiple",
74        name = "getDatasets",
75        produces = conjure_http::server::conjure::CollectionResponseSerializer
76    )]
77    fn get_datasets(
78        &self,
79        #[auth]
80        auth_: conjure_object::BearerToken,
81        #[body(
82            deserializer = conjure_http::server::StdRequestDeserializer,
83            log_as = "getDatasetsRequest"
84        )]
85        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
86    ) -> Result<
87        std::collections::BTreeSet<
88            super::super::super::super::objects::scout::catalog::Dataset,
89        >,
90        conjure_http::private::Error,
91    >;
92    /// Gets the subset of dataset RIDs that currently have external connection config attached.
93    #[endpoint(
94        method = POST,
95        path = "/catalog/v1/datasets-simple/external-config",
96        name = "getDatasetsWithExternalConnectionConfig",
97        produces = conjure_http::server::conjure::CollectionResponseSerializer
98    )]
99    fn get_datasets_with_external_connection_config(
100        &self,
101        #[auth]
102        auth_: conjure_object::BearerToken,
103        #[body(
104            deserializer = conjure_http::server::StdRequestDeserializer,
105            log_as = "getDatasetsRequest"
106        )]
107        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
108    ) -> Result<
109        std::collections::BTreeSet<
110            super::super::super::super::objects::api::rids::DatasetRid,
111        >,
112        conjure_http::private::Error,
113    >;
114    /// Registers or updates external connection configuration for an existing dataset.
115    #[endpoint(
116        method = POST,
117        path = "/catalog/v1/datasets/external-config",
118        name = "registerExternalConnectionConfig",
119        produces = conjure_http::server::StdResponseSerializer
120    )]
121    fn register_external_connection_config(
122        &self,
123        #[auth]
124        auth_: conjure_object::BearerToken,
125        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
126        request: super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
127    ) -> Result<
128        super::super::super::super::objects::scout::catalog::EnrichedDataset,
129        conjure_http::private::Error,
130    >;
131    #[endpoint(
132        method = GET,
133        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
134        name = "getDatasetFile",
135        produces = conjure_http::server::StdResponseSerializer
136    )]
137    fn get_dataset_file(
138        &self,
139        #[auth]
140        auth_: conjure_object::BearerToken,
141        #[path(
142            name = "datasetRid",
143            decoder = conjure_http::server::conjure::FromPlainDecoder,
144            log_as = "datasetRid"
145        )]
146        dataset_rid: conjure_object::ResourceIdentifier,
147        #[path(
148            name = "fileId",
149            decoder = conjure_http::server::conjure::FromPlainDecoder,
150            log_as = "fileId",
151            safe
152        )]
153        file_id: super::super::super::super::objects::datasource::DatasetFileId,
154    ) -> Result<
155        super::super::super::super::objects::scout::catalog::DatasetFile,
156        conjure_http::private::Error,
157    >;
158    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
159    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
160    #[endpoint(
161        method = POST,
162        path = "/catalog/v1/dataset-files/batchGet",
163        name = "batchGetDatasetFiles",
164        produces = conjure_http::server::conjure::CollectionResponseSerializer
165    )]
166    fn batch_get_dataset_files(
167        &self,
168        #[auth]
169        auth_: conjure_object::BearerToken,
170        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
171        request: super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
172    ) -> Result<
173        std::collections::BTreeMap<
174            super::super::super::super::objects::datasource::DatasetFileId,
175            super::super::super::super::objects::scout::catalog::DatasetFile,
176        >,
177        conjure_http::private::Error,
178    >;
179    #[endpoint(
180        method = GET,
181        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
182        name = "getDatasetFilesForJob",
183        produces = conjure_http::server::StdResponseSerializer
184    )]
185    fn get_dataset_files_for_job(
186        &self,
187        #[auth]
188        auth_: conjure_object::BearerToken,
189        #[path(
190            name = "ingestJobRid",
191            decoder = conjure_http::server::conjure::FromPlainDecoder,
192            log_as = "ingestJobRid"
193        )]
194        ingest_job_rid: conjure_object::ResourceIdentifier,
195        #[query(
196            name = "nextPageToken",
197            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
198            log_as = "nextPageToken"
199        )]
200        next_page_token: Option<super::super::super::super::objects::api::Token>,
201    ) -> Result<
202        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
203        conjure_http::private::Error,
204    >;
205    #[endpoint(
206        method = POST,
207        path = "/catalog/v1/search-datasets-v2",
208        name = "searchDatasets",
209        produces = conjure_http::server::StdResponseSerializer
210    )]
211    fn search_datasets(
212        &self,
213        #[auth]
214        auth_: conjure_object::BearerToken,
215        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
216        request: super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
217    ) -> Result<
218        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
219        conjure_http::private::Error,
220    >;
221    #[endpoint(
222        method = PUT,
223        path = "/catalog/v1/datasets/ingest-status-v2",
224        name = "updateDatasetIngestStatusV2",
225        produces = conjure_http::server::StdResponseSerializer
226    )]
227    fn update_dataset_ingest_status_v2(
228        &self,
229        #[auth]
230        auth_: conjure_object::BearerToken,
231        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
232        details: super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
233    ) -> Result<
234        super::super::super::super::objects::api::IngestStatusV2,
235        conjure_http::private::Error,
236    >;
237    #[endpoint(
238        method = GET,
239        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
240        name = "getIngestProgressV2",
241        produces = conjure_http::server::StdResponseSerializer
242    )]
243    fn get_ingest_progress_v2(
244        &self,
245        #[auth]
246        auth_: conjure_object::BearerToken,
247        #[path(
248            name = "datasetRid",
249            decoder = conjure_http::server::conjure::FromPlainDecoder,
250            log_as = "datasetRid"
251        )]
252        dataset_rid: conjure_object::ResourceIdentifier,
253    ) -> Result<
254        super::super::super::super::objects::scout::catalog::IngestProgressV2,
255        conjure_http::private::Error,
256    >;
257    #[endpoint(
258        method = GET,
259        path = "/catalog/v1/datasets/{dataset}/handle",
260        name = "getHandleForDataset",
261        produces = conjure_http::server::conjure::CollectionResponseSerializer
262    )]
263    fn get_handle_for_dataset(
264        &self,
265        #[auth]
266        auth_: conjure_object::BearerToken,
267        #[path(
268            name = "dataset",
269            decoder = conjure_http::server::conjure::FromPlainDecoder
270        )]
271        dataset: conjure_object::Uuid,
272    ) -> Result<
273        Option<super::super::super::super::objects::scout::catalog::Handle>,
274        conjure_http::private::Error,
275    >;
276    #[endpoint(
277        method = POST,
278        path = "/catalog/v1/datasets",
279        name = "createDataset",
280        produces = conjure_http::server::StdResponseSerializer
281    )]
282    fn create_dataset(
283        &self,
284        #[auth]
285        auth_: conjure_object::BearerToken,
286        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
287        details: super::super::super::super::objects::scout::catalog::CreateDataset,
288    ) -> Result<
289        super::super::super::super::objects::scout::catalog::EnrichedDataset,
290        conjure_http::private::Error,
291    >;
292    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
293    #[endpoint(
294        method = POST,
295        path = "/catalog/v1/datasets/create-or-update",
296        name = "createOrUpdateDataset",
297        produces = conjure_http::server::StdResponseSerializer
298    )]
299    fn create_or_update_dataset(
300        &self,
301        #[auth]
302        auth_: conjure_object::BearerToken,
303        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
304        details: super::super::super::super::objects::scout::catalog::CreateDataset,
305    ) -> Result<
306        super::super::super::super::objects::scout::catalog::EnrichedDataset,
307        conjure_http::private::Error,
308    >;
309    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
310    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
311    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
312    #[endpoint(
313        method = POST,
314        path = "/catalog/v1/datasets/with-uuid",
315        name = "createDatasetWithUuid",
316        produces = conjure_http::server::StdResponseSerializer
317    )]
318    fn create_dataset_with_uuid(
319        &self,
320        #[auth]
321        auth_: conjure_object::BearerToken,
322        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
323        request: super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
324    ) -> Result<
325        super::super::super::super::objects::scout::catalog::EnrichedDataset,
326        conjure_http::private::Error,
327    >;
328    /// Adds a single file to an existing dataset.
329    #[endpoint(
330        method = POST,
331        path = "/catalog/v1/datasets/{datasetRid}/add-file",
332        name = "addFileToDataset",
333        produces = conjure_http::server::StdResponseSerializer
334    )]
335    fn add_file_to_dataset(
336        &self,
337        #[auth]
338        auth_: conjure_object::BearerToken,
339        #[path(
340            name = "datasetRid",
341            decoder = conjure_http::server::conjure::FromPlainDecoder,
342            log_as = "datasetRid"
343        )]
344        dataset_rid: conjure_object::ResourceIdentifier,
345        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
346        request: super::super::super::super::objects::scout::catalog::AddFileToDataset,
347    ) -> Result<
348        super::super::super::super::objects::scout::catalog::DatasetFile,
349        conjure_http::private::Error,
350    >;
351    #[endpoint(
352        method = GET,
353        path = "/catalog/v1/datasets/{datasetRid}/files",
354        name = "listDatasetFiles",
355        produces = conjure_http::server::StdResponseSerializer
356    )]
357    fn list_dataset_files(
358        &self,
359        #[auth]
360        auth_: conjure_object::BearerToken,
361        #[path(
362            name = "datasetRid",
363            decoder = conjure_http::server::conjure::FromPlainDecoder,
364            log_as = "datasetRid"
365        )]
366        dataset_rid: conjure_object::ResourceIdentifier,
367        #[query(
368            name = "nextPageToken",
369            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
370            log_as = "nextPageToken"
371        )]
372        next_page_token: Option<super::super::super::super::objects::api::Token>,
373    ) -> Result<
374        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
375        conjure_http::private::Error,
376    >;
377    #[endpoint(
378        method = POST,
379        path = "/catalog/v1/search-dataset-files",
380        name = "searchDatasetFiles",
381        produces = conjure_http::server::StdResponseSerializer
382    )]
383    fn search_dataset_files(
384        &self,
385        #[auth]
386        auth_: conjure_object::BearerToken,
387        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
388        request: super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
389    ) -> Result<
390        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
391        conjure_http::private::Error,
392    >;
393    #[endpoint(
394        method = GET,
395        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
396        name = "getDatasetFileUri",
397        produces = conjure_http::server::StdResponseSerializer
398    )]
399    fn get_dataset_file_uri(
400        &self,
401        #[auth]
402        auth_: conjure_object::BearerToken,
403        #[path(
404            name = "datasetRid",
405            decoder = conjure_http::server::conjure::FromPlainDecoder,
406            log_as = "datasetRid",
407            safe
408        )]
409        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
410        #[path(
411            name = "fileId",
412            decoder = conjure_http::server::conjure::FromPlainDecoder,
413            log_as = "fileId",
414            safe
415        )]
416        file_id: super::super::super::super::objects::datasource::DatasetFileId,
417    ) -> Result<
418        super::super::super::super::objects::scout::catalog::DatasetFileUri,
419        conjure_http::private::Error,
420    >;
421    #[endpoint(
422        method = GET,
423        path = "/catalog/v1/videos/{videoFileRid}/uri",
424        name = "getVideoFileUri",
425        produces = conjure_http::server::StdResponseSerializer
426    )]
427    fn get_video_file_uri(
428        &self,
429        #[auth]
430        auth_: conjure_object::BearerToken,
431        #[path(
432            name = "videoFileRid",
433            decoder = conjure_http::server::conjure::FromPlainDecoder,
434            log_as = "videoFileRid",
435            safe
436        )]
437        video_file_rid: super::super::super::super::objects::api::rids::VideoFileRid,
438    ) -> Result<
439        super::super::super::super::objects::scout::catalog::VideoFileUri,
440        conjure_http::private::Error,
441    >;
442    #[endpoint(
443        method = GET,
444        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
445        name = "getOriginFileUris",
446        produces = conjure_http::server::conjure::CollectionResponseSerializer
447    )]
448    fn get_origin_file_uris(
449        &self,
450        #[auth]
451        auth_: conjure_object::BearerToken,
452        #[path(
453            name = "datasetRid",
454            decoder = conjure_http::server::conjure::FromPlainDecoder,
455            log_as = "datasetRid",
456            safe
457        )]
458        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
459        #[path(
460            name = "fileId",
461            decoder = conjure_http::server::conjure::FromPlainDecoder,
462            log_as = "fileId",
463            safe
464        )]
465        file_id: super::super::super::super::objects::datasource::DatasetFileId,
466    ) -> Result<
467        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
468        conjure_http::private::Error,
469    >;
470    #[endpoint(
471        method = PUT,
472        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
473        name = "markFileIngestSuccessful",
474        produces = conjure_http::server::StdResponseSerializer
475    )]
476    fn mark_file_ingest_successful(
477        &self,
478        #[auth]
479        auth_: conjure_object::BearerToken,
480        #[path(
481            name = "datasetRid",
482            decoder = conjure_http::server::conjure::FromPlainDecoder,
483            log_as = "datasetRid"
484        )]
485        dataset_rid: conjure_object::ResourceIdentifier,
486        #[path(
487            name = "fileId",
488            decoder = conjure_http::server::conjure::FromPlainDecoder,
489            log_as = "fileId",
490            safe
491        )]
492        file_id: super::super::super::super::objects::datasource::DatasetFileId,
493        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
494        request: super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
495    ) -> Result<
496        super::super::super::super::objects::scout::catalog::DatasetFile,
497        conjure_http::private::Error,
498    >;
499    #[endpoint(
500        method = PUT,
501        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
502        name = "markFileIngestError",
503        produces = conjure_http::server::StdResponseSerializer
504    )]
505    fn mark_file_ingest_error(
506        &self,
507        #[auth]
508        auth_: conjure_object::BearerToken,
509        #[path(
510            name = "datasetRid",
511            decoder = conjure_http::server::conjure::FromPlainDecoder,
512            log_as = "datasetRid"
513        )]
514        dataset_rid: conjure_object::ResourceIdentifier,
515        #[path(
516            name = "fileId",
517            decoder = conjure_http::server::conjure::FromPlainDecoder,
518            log_as = "fileId",
519            safe
520        )]
521        file_id: super::super::super::super::objects::datasource::DatasetFileId,
522        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
523        request: super::super::super::super::objects::scout::catalog::MarkFileIngestError,
524    ) -> Result<
525        super::super::super::super::objects::scout::catalog::DatasetFile,
526        conjure_http::private::Error,
527    >;
528    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
529    /// after video segmentation is complete.
530    #[endpoint(
531        method = PUT,
532        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
533        name = "updateDatasetFileMetadata",
534        produces = conjure_http::server::StdResponseSerializer
535    )]
536    fn update_dataset_file_metadata(
537        &self,
538        #[auth]
539        auth_: conjure_object::BearerToken,
540        #[path(
541            name = "datasetRid",
542            decoder = conjure_http::server::conjure::FromPlainDecoder,
543            log_as = "datasetRid",
544            safe
545        )]
546        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
547        #[path(
548            name = "fileId",
549            decoder = conjure_http::server::conjure::FromPlainDecoder,
550            log_as = "fileId",
551            safe
552        )]
553        file_id: super::super::super::super::objects::datasource::DatasetFileId,
554        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
555        metadata: super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
556    ) -> Result<
557        super::super::super::super::objects::scout::catalog::DatasetFile,
558        conjure_http::private::Error,
559    >;
560    #[endpoint(
561        method = PUT,
562        path = "/catalog/v1/datasets/{datasetRid}",
563        name = "updateDatasetMetadata",
564        produces = conjure_http::server::StdResponseSerializer
565    )]
566    fn update_dataset_metadata(
567        &self,
568        #[auth]
569        auth_: conjure_object::BearerToken,
570        #[path(
571            name = "datasetRid",
572            decoder = conjure_http::server::conjure::FromPlainDecoder,
573            log_as = "datasetRid"
574        )]
575        dataset_rid: conjure_object::ResourceIdentifier,
576        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
577        request: super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
578    ) -> Result<
579        super::super::super::super::objects::scout::catalog::EnrichedDataset,
580        conjure_http::private::Error,
581    >;
582    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
583    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
584    /// the bounds will be min(current start, request start), max(current end, request end).
585    #[endpoint(
586        method = PUT,
587        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
588        name = "updateGlobalDatasetBounds",
589        produces = conjure_http::server::StdResponseSerializer
590    )]
591    fn update_global_dataset_bounds(
592        &self,
593        #[auth]
594        auth_: conjure_object::BearerToken,
595        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
596        rid: conjure_object::ResourceIdentifier,
597        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
598        request: super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
599    ) -> Result<
600        super::super::super::super::objects::scout::catalog::Dataset,
601        conjure_http::private::Error,
602    >;
603    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
604    /// dataset can still be directly accessed by its UUID/rid.
605    #[endpoint(
606        method = POST,
607        path = "/catalog/v1/datasets/{datasetRid}/archive",
608        name = "archiveDataset"
609    )]
610    fn archive_dataset(
611        &self,
612        #[auth]
613        auth_: conjure_object::BearerToken,
614        #[path(
615            name = "datasetRid",
616            decoder = conjure_http::server::conjure::FromPlainDecoder,
617            log_as = "datasetRid"
618        )]
619        dataset_rid: conjure_object::ResourceIdentifier,
620    ) -> Result<(), conjure_http::private::Error>;
621    /// Undoes the archiving of a dataset.
622    #[endpoint(
623        method = POST,
624        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
625        name = "unarchiveDataset"
626    )]
627    fn unarchive_dataset(
628        &self,
629        #[auth]
630        auth_: conjure_object::BearerToken,
631        #[path(
632            name = "datasetRid",
633            decoder = conjure_http::server::conjure::FromPlainDecoder,
634            log_as = "datasetRid"
635        )]
636        dataset_rid: conjure_object::ResourceIdentifier,
637    ) -> Result<(), conjure_http::private::Error>;
638    #[endpoint(
639        method = GET,
640        path = "/catalog/v1/datasets/all-properties-labels",
641        name = "getAllPropertiesAndLabels",
642        produces = conjure_http::server::StdResponseSerializer
643    )]
644    fn get_all_properties_and_labels(
645        &self,
646        #[auth]
647        auth_: conjure_object::BearerToken,
648        #[query(
649            name = "workspaces",
650            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
651            safe
652        )]
653        workspaces: std::collections::BTreeSet<
654            super::super::super::super::objects::api::rids::WorkspaceRid,
655        >,
656    ) -> Result<
657        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
658        conjure_http::private::Error,
659    >;
660    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
661    #[endpoint(
662        method = GET,
663        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
664        name = "getLogDatasetForWorkspace",
665        produces = conjure_http::server::conjure::CollectionResponseSerializer
666    )]
667    fn get_log_dataset_for_workspace(
668        &self,
669        #[auth]
670        auth_: conjure_object::BearerToken,
671        #[path(
672            name = "workspaceRid",
673            decoder = conjure_http::server::conjure::FromPlainDecoder,
674            log_as = "workspaceRid",
675            safe
676        )]
677        workspace_rid: super::super::super::super::objects::api::rids::WorkspaceRid,
678    ) -> Result<
679        Option<super::super::super::super::objects::api::rids::DatasetRid>,
680        conjure_http::private::Error,
681    >;
682}
683/// The Catalog Service provides the ability to query for information about Datasets that are stored in
684/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
685/// a file, primarily CSV.
686#[conjure_http::conjure_endpoints(
687    name = "CatalogService",
688    use_legacy_error_serialization
689)]
690pub trait AsyncCatalogService {
691    #[endpoint(
692        method = GET,
693        path = "/catalog/v1/datasets/{datasetUuid}",
694        name = "getEnrichedDataset",
695        produces = conjure_http::server::StdResponseSerializer
696    )]
697    async fn get_enriched_dataset(
698        &self,
699        #[auth]
700        auth_: conjure_object::BearerToken,
701        #[path(
702            name = "datasetUuid",
703            decoder = conjure_http::server::conjure::FromPlainDecoder,
704            log_as = "datasetUuid"
705        )]
706        dataset_uuid: conjure_object::Uuid,
707    ) -> Result<
708        super::super::super::super::objects::scout::catalog::EnrichedDataset,
709        conjure_http::private::Error,
710    >;
711    #[endpoint(
712        method = POST,
713        path = "/catalog/v1/datasets/multiple",
714        name = "getEnrichedDatasets",
715        produces = conjure_http::server::conjure::CollectionResponseSerializer
716    )]
717    async fn get_enriched_datasets(
718        &self,
719        #[auth]
720        auth_: conjure_object::BearerToken,
721        #[body(
722            deserializer = conjure_http::server::StdRequestDeserializer,
723            log_as = "getDatasetsRequest"
724        )]
725        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
726    ) -> Result<
727        std::collections::BTreeSet<
728            super::super::super::super::objects::scout::catalog::EnrichedDataset,
729        >,
730        conjure_http::private::Error,
731    >;
732    #[endpoint(
733        method = GET,
734        path = "/catalog/v1/datasets-simple/{datasetUuid}",
735        name = "getDataset",
736        produces = conjure_http::server::StdResponseSerializer
737    )]
738    async fn get_dataset(
739        &self,
740        #[auth]
741        auth_: conjure_object::BearerToken,
742        #[path(
743            name = "datasetUuid",
744            decoder = conjure_http::server::conjure::FromPlainDecoder,
745            log_as = "datasetUuid"
746        )]
747        dataset_uuid: conjure_object::Uuid,
748    ) -> Result<
749        super::super::super::super::objects::scout::catalog::Dataset,
750        conjure_http::private::Error,
751    >;
752    #[endpoint(
753        method = POST,
754        path = "/catalog/v1/datasets-simple/multiple",
755        name = "getDatasets",
756        produces = conjure_http::server::conjure::CollectionResponseSerializer
757    )]
758    async fn get_datasets(
759        &self,
760        #[auth]
761        auth_: conjure_object::BearerToken,
762        #[body(
763            deserializer = conjure_http::server::StdRequestDeserializer,
764            log_as = "getDatasetsRequest"
765        )]
766        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
767    ) -> Result<
768        std::collections::BTreeSet<
769            super::super::super::super::objects::scout::catalog::Dataset,
770        >,
771        conjure_http::private::Error,
772    >;
773    /// Gets the subset of dataset RIDs that currently have external connection config attached.
774    #[endpoint(
775        method = POST,
776        path = "/catalog/v1/datasets-simple/external-config",
777        name = "getDatasetsWithExternalConnectionConfig",
778        produces = conjure_http::server::conjure::CollectionResponseSerializer
779    )]
780    async fn get_datasets_with_external_connection_config(
781        &self,
782        #[auth]
783        auth_: conjure_object::BearerToken,
784        #[body(
785            deserializer = conjure_http::server::StdRequestDeserializer,
786            log_as = "getDatasetsRequest"
787        )]
788        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
789    ) -> Result<
790        std::collections::BTreeSet<
791            super::super::super::super::objects::api::rids::DatasetRid,
792        >,
793        conjure_http::private::Error,
794    >;
795    /// Registers or updates external connection configuration for an existing dataset.
796    #[endpoint(
797        method = POST,
798        path = "/catalog/v1/datasets/external-config",
799        name = "registerExternalConnectionConfig",
800        produces = conjure_http::server::StdResponseSerializer
801    )]
802    async fn register_external_connection_config(
803        &self,
804        #[auth]
805        auth_: conjure_object::BearerToken,
806        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
807        request: super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
808    ) -> Result<
809        super::super::super::super::objects::scout::catalog::EnrichedDataset,
810        conjure_http::private::Error,
811    >;
812    #[endpoint(
813        method = GET,
814        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
815        name = "getDatasetFile",
816        produces = conjure_http::server::StdResponseSerializer
817    )]
818    async fn get_dataset_file(
819        &self,
820        #[auth]
821        auth_: conjure_object::BearerToken,
822        #[path(
823            name = "datasetRid",
824            decoder = conjure_http::server::conjure::FromPlainDecoder,
825            log_as = "datasetRid"
826        )]
827        dataset_rid: conjure_object::ResourceIdentifier,
828        #[path(
829            name = "fileId",
830            decoder = conjure_http::server::conjure::FromPlainDecoder,
831            log_as = "fileId",
832            safe
833        )]
834        file_id: super::super::super::super::objects::datasource::DatasetFileId,
835    ) -> Result<
836        super::super::super::super::objects::scout::catalog::DatasetFile,
837        conjure_http::private::Error,
838    >;
839    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
840    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
841    #[endpoint(
842        method = POST,
843        path = "/catalog/v1/dataset-files/batchGet",
844        name = "batchGetDatasetFiles",
845        produces = conjure_http::server::conjure::CollectionResponseSerializer
846    )]
847    async fn batch_get_dataset_files(
848        &self,
849        #[auth]
850        auth_: conjure_object::BearerToken,
851        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
852        request: super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
853    ) -> Result<
854        std::collections::BTreeMap<
855            super::super::super::super::objects::datasource::DatasetFileId,
856            super::super::super::super::objects::scout::catalog::DatasetFile,
857        >,
858        conjure_http::private::Error,
859    >;
860    #[endpoint(
861        method = GET,
862        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
863        name = "getDatasetFilesForJob",
864        produces = conjure_http::server::StdResponseSerializer
865    )]
866    async fn get_dataset_files_for_job(
867        &self,
868        #[auth]
869        auth_: conjure_object::BearerToken,
870        #[path(
871            name = "ingestJobRid",
872            decoder = conjure_http::server::conjure::FromPlainDecoder,
873            log_as = "ingestJobRid"
874        )]
875        ingest_job_rid: conjure_object::ResourceIdentifier,
876        #[query(
877            name = "nextPageToken",
878            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
879            log_as = "nextPageToken"
880        )]
881        next_page_token: Option<super::super::super::super::objects::api::Token>,
882    ) -> Result<
883        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
884        conjure_http::private::Error,
885    >;
886    #[endpoint(
887        method = POST,
888        path = "/catalog/v1/search-datasets-v2",
889        name = "searchDatasets",
890        produces = conjure_http::server::StdResponseSerializer
891    )]
892    async fn search_datasets(
893        &self,
894        #[auth]
895        auth_: conjure_object::BearerToken,
896        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
897        request: super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
898    ) -> Result<
899        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
900        conjure_http::private::Error,
901    >;
902    #[endpoint(
903        method = PUT,
904        path = "/catalog/v1/datasets/ingest-status-v2",
905        name = "updateDatasetIngestStatusV2",
906        produces = conjure_http::server::StdResponseSerializer
907    )]
908    async fn update_dataset_ingest_status_v2(
909        &self,
910        #[auth]
911        auth_: conjure_object::BearerToken,
912        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
913        details: super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
914    ) -> Result<
915        super::super::super::super::objects::api::IngestStatusV2,
916        conjure_http::private::Error,
917    >;
918    #[endpoint(
919        method = GET,
920        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
921        name = "getIngestProgressV2",
922        produces = conjure_http::server::StdResponseSerializer
923    )]
924    async fn get_ingest_progress_v2(
925        &self,
926        #[auth]
927        auth_: conjure_object::BearerToken,
928        #[path(
929            name = "datasetRid",
930            decoder = conjure_http::server::conjure::FromPlainDecoder,
931            log_as = "datasetRid"
932        )]
933        dataset_rid: conjure_object::ResourceIdentifier,
934    ) -> Result<
935        super::super::super::super::objects::scout::catalog::IngestProgressV2,
936        conjure_http::private::Error,
937    >;
938    #[endpoint(
939        method = GET,
940        path = "/catalog/v1/datasets/{dataset}/handle",
941        name = "getHandleForDataset",
942        produces = conjure_http::server::conjure::CollectionResponseSerializer
943    )]
944    async fn get_handle_for_dataset(
945        &self,
946        #[auth]
947        auth_: conjure_object::BearerToken,
948        #[path(
949            name = "dataset",
950            decoder = conjure_http::server::conjure::FromPlainDecoder
951        )]
952        dataset: conjure_object::Uuid,
953    ) -> Result<
954        Option<super::super::super::super::objects::scout::catalog::Handle>,
955        conjure_http::private::Error,
956    >;
957    #[endpoint(
958        method = POST,
959        path = "/catalog/v1/datasets",
960        name = "createDataset",
961        produces = conjure_http::server::StdResponseSerializer
962    )]
963    async fn create_dataset(
964        &self,
965        #[auth]
966        auth_: conjure_object::BearerToken,
967        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
968        details: super::super::super::super::objects::scout::catalog::CreateDataset,
969    ) -> Result<
970        super::super::super::super::objects::scout::catalog::EnrichedDataset,
971        conjure_http::private::Error,
972    >;
973    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
974    #[endpoint(
975        method = POST,
976        path = "/catalog/v1/datasets/create-or-update",
977        name = "createOrUpdateDataset",
978        produces = conjure_http::server::StdResponseSerializer
979    )]
980    async fn create_or_update_dataset(
981        &self,
982        #[auth]
983        auth_: conjure_object::BearerToken,
984        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
985        details: super::super::super::super::objects::scout::catalog::CreateDataset,
986    ) -> Result<
987        super::super::super::super::objects::scout::catalog::EnrichedDataset,
988        conjure_http::private::Error,
989    >;
990    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
991    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
992    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
993    #[endpoint(
994        method = POST,
995        path = "/catalog/v1/datasets/with-uuid",
996        name = "createDatasetWithUuid",
997        produces = conjure_http::server::StdResponseSerializer
998    )]
999    async fn create_dataset_with_uuid(
1000        &self,
1001        #[auth]
1002        auth_: conjure_object::BearerToken,
1003        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1004        request: super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
1005    ) -> Result<
1006        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1007        conjure_http::private::Error,
1008    >;
1009    /// Adds a single file to an existing dataset.
1010    #[endpoint(
1011        method = POST,
1012        path = "/catalog/v1/datasets/{datasetRid}/add-file",
1013        name = "addFileToDataset",
1014        produces = conjure_http::server::StdResponseSerializer
1015    )]
1016    async fn add_file_to_dataset(
1017        &self,
1018        #[auth]
1019        auth_: conjure_object::BearerToken,
1020        #[path(
1021            name = "datasetRid",
1022            decoder = conjure_http::server::conjure::FromPlainDecoder,
1023            log_as = "datasetRid"
1024        )]
1025        dataset_rid: conjure_object::ResourceIdentifier,
1026        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1027        request: super::super::super::super::objects::scout::catalog::AddFileToDataset,
1028    ) -> Result<
1029        super::super::super::super::objects::scout::catalog::DatasetFile,
1030        conjure_http::private::Error,
1031    >;
1032    #[endpoint(
1033        method = GET,
1034        path = "/catalog/v1/datasets/{datasetRid}/files",
1035        name = "listDatasetFiles",
1036        produces = conjure_http::server::StdResponseSerializer
1037    )]
1038    async fn list_dataset_files(
1039        &self,
1040        #[auth]
1041        auth_: conjure_object::BearerToken,
1042        #[path(
1043            name = "datasetRid",
1044            decoder = conjure_http::server::conjure::FromPlainDecoder,
1045            log_as = "datasetRid"
1046        )]
1047        dataset_rid: conjure_object::ResourceIdentifier,
1048        #[query(
1049            name = "nextPageToken",
1050            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1051            log_as = "nextPageToken"
1052        )]
1053        next_page_token: Option<super::super::super::super::objects::api::Token>,
1054    ) -> Result<
1055        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1056        conjure_http::private::Error,
1057    >;
1058    #[endpoint(
1059        method = POST,
1060        path = "/catalog/v1/search-dataset-files",
1061        name = "searchDatasetFiles",
1062        produces = conjure_http::server::StdResponseSerializer
1063    )]
1064    async fn search_dataset_files(
1065        &self,
1066        #[auth]
1067        auth_: conjure_object::BearerToken,
1068        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1069        request: super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
1070    ) -> Result<
1071        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
1072        conjure_http::private::Error,
1073    >;
1074    #[endpoint(
1075        method = GET,
1076        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
1077        name = "getDatasetFileUri",
1078        produces = conjure_http::server::StdResponseSerializer
1079    )]
1080    async fn get_dataset_file_uri(
1081        &self,
1082        #[auth]
1083        auth_: conjure_object::BearerToken,
1084        #[path(
1085            name = "datasetRid",
1086            decoder = conjure_http::server::conjure::FromPlainDecoder,
1087            log_as = "datasetRid",
1088            safe
1089        )]
1090        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
1091        #[path(
1092            name = "fileId",
1093            decoder = conjure_http::server::conjure::FromPlainDecoder,
1094            log_as = "fileId",
1095            safe
1096        )]
1097        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1098    ) -> Result<
1099        super::super::super::super::objects::scout::catalog::DatasetFileUri,
1100        conjure_http::private::Error,
1101    >;
1102    #[endpoint(
1103        method = GET,
1104        path = "/catalog/v1/videos/{videoFileRid}/uri",
1105        name = "getVideoFileUri",
1106        produces = conjure_http::server::StdResponseSerializer
1107    )]
1108    async fn get_video_file_uri(
1109        &self,
1110        #[auth]
1111        auth_: conjure_object::BearerToken,
1112        #[path(
1113            name = "videoFileRid",
1114            decoder = conjure_http::server::conjure::FromPlainDecoder,
1115            log_as = "videoFileRid",
1116            safe
1117        )]
1118        video_file_rid: super::super::super::super::objects::api::rids::VideoFileRid,
1119    ) -> Result<
1120        super::super::super::super::objects::scout::catalog::VideoFileUri,
1121        conjure_http::private::Error,
1122    >;
1123    #[endpoint(
1124        method = GET,
1125        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
1126        name = "getOriginFileUris",
1127        produces = conjure_http::server::conjure::CollectionResponseSerializer
1128    )]
1129    async fn get_origin_file_uris(
1130        &self,
1131        #[auth]
1132        auth_: conjure_object::BearerToken,
1133        #[path(
1134            name = "datasetRid",
1135            decoder = conjure_http::server::conjure::FromPlainDecoder,
1136            log_as = "datasetRid",
1137            safe
1138        )]
1139        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
1140        #[path(
1141            name = "fileId",
1142            decoder = conjure_http::server::conjure::FromPlainDecoder,
1143            log_as = "fileId",
1144            safe
1145        )]
1146        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1147    ) -> Result<
1148        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
1149        conjure_http::private::Error,
1150    >;
1151    #[endpoint(
1152        method = PUT,
1153        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
1154        name = "markFileIngestSuccessful",
1155        produces = conjure_http::server::StdResponseSerializer
1156    )]
1157    async fn mark_file_ingest_successful(
1158        &self,
1159        #[auth]
1160        auth_: conjure_object::BearerToken,
1161        #[path(
1162            name = "datasetRid",
1163            decoder = conjure_http::server::conjure::FromPlainDecoder,
1164            log_as = "datasetRid"
1165        )]
1166        dataset_rid: conjure_object::ResourceIdentifier,
1167        #[path(
1168            name = "fileId",
1169            decoder = conjure_http::server::conjure::FromPlainDecoder,
1170            log_as = "fileId",
1171            safe
1172        )]
1173        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1174        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1175        request: super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
1176    ) -> Result<
1177        super::super::super::super::objects::scout::catalog::DatasetFile,
1178        conjure_http::private::Error,
1179    >;
1180    #[endpoint(
1181        method = PUT,
1182        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
1183        name = "markFileIngestError",
1184        produces = conjure_http::server::StdResponseSerializer
1185    )]
1186    async fn mark_file_ingest_error(
1187        &self,
1188        #[auth]
1189        auth_: conjure_object::BearerToken,
1190        #[path(
1191            name = "datasetRid",
1192            decoder = conjure_http::server::conjure::FromPlainDecoder,
1193            log_as = "datasetRid"
1194        )]
1195        dataset_rid: conjure_object::ResourceIdentifier,
1196        #[path(
1197            name = "fileId",
1198            decoder = conjure_http::server::conjure::FromPlainDecoder,
1199            log_as = "fileId",
1200            safe
1201        )]
1202        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1203        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1204        request: super::super::super::super::objects::scout::catalog::MarkFileIngestError,
1205    ) -> Result<
1206        super::super::super::super::objects::scout::catalog::DatasetFile,
1207        conjure_http::private::Error,
1208    >;
1209    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
1210    /// after video segmentation is complete.
1211    #[endpoint(
1212        method = PUT,
1213        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
1214        name = "updateDatasetFileMetadata",
1215        produces = conjure_http::server::StdResponseSerializer
1216    )]
1217    async fn update_dataset_file_metadata(
1218        &self,
1219        #[auth]
1220        auth_: conjure_object::BearerToken,
1221        #[path(
1222            name = "datasetRid",
1223            decoder = conjure_http::server::conjure::FromPlainDecoder,
1224            log_as = "datasetRid",
1225            safe
1226        )]
1227        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
1228        #[path(
1229            name = "fileId",
1230            decoder = conjure_http::server::conjure::FromPlainDecoder,
1231            log_as = "fileId",
1232            safe
1233        )]
1234        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1235        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1236        metadata: super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
1237    ) -> Result<
1238        super::super::super::super::objects::scout::catalog::DatasetFile,
1239        conjure_http::private::Error,
1240    >;
1241    #[endpoint(
1242        method = PUT,
1243        path = "/catalog/v1/datasets/{datasetRid}",
1244        name = "updateDatasetMetadata",
1245        produces = conjure_http::server::StdResponseSerializer
1246    )]
1247    async fn update_dataset_metadata(
1248        &self,
1249        #[auth]
1250        auth_: conjure_object::BearerToken,
1251        #[path(
1252            name = "datasetRid",
1253            decoder = conjure_http::server::conjure::FromPlainDecoder,
1254            log_as = "datasetRid"
1255        )]
1256        dataset_rid: conjure_object::ResourceIdentifier,
1257        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1258        request: super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
1259    ) -> Result<
1260        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1261        conjure_http::private::Error,
1262    >;
1263    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
1264    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
1265    /// the bounds will be min(current start, request start), max(current end, request end).
1266    #[endpoint(
1267        method = PUT,
1268        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
1269        name = "updateGlobalDatasetBounds",
1270        produces = conjure_http::server::StdResponseSerializer
1271    )]
1272    async fn update_global_dataset_bounds(
1273        &self,
1274        #[auth]
1275        auth_: conjure_object::BearerToken,
1276        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
1277        rid: conjure_object::ResourceIdentifier,
1278        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1279        request: super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
1280    ) -> Result<
1281        super::super::super::super::objects::scout::catalog::Dataset,
1282        conjure_http::private::Error,
1283    >;
1284    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
1285    /// dataset can still be directly accessed by its UUID/rid.
1286    #[endpoint(
1287        method = POST,
1288        path = "/catalog/v1/datasets/{datasetRid}/archive",
1289        name = "archiveDataset"
1290    )]
1291    async fn archive_dataset(
1292        &self,
1293        #[auth]
1294        auth_: conjure_object::BearerToken,
1295        #[path(
1296            name = "datasetRid",
1297            decoder = conjure_http::server::conjure::FromPlainDecoder,
1298            log_as = "datasetRid"
1299        )]
1300        dataset_rid: conjure_object::ResourceIdentifier,
1301    ) -> Result<(), conjure_http::private::Error>;
1302    /// Undoes the archiving of a dataset.
1303    #[endpoint(
1304        method = POST,
1305        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
1306        name = "unarchiveDataset"
1307    )]
1308    async fn unarchive_dataset(
1309        &self,
1310        #[auth]
1311        auth_: conjure_object::BearerToken,
1312        #[path(
1313            name = "datasetRid",
1314            decoder = conjure_http::server::conjure::FromPlainDecoder,
1315            log_as = "datasetRid"
1316        )]
1317        dataset_rid: conjure_object::ResourceIdentifier,
1318    ) -> Result<(), conjure_http::private::Error>;
1319    #[endpoint(
1320        method = GET,
1321        path = "/catalog/v1/datasets/all-properties-labels",
1322        name = "getAllPropertiesAndLabels",
1323        produces = conjure_http::server::StdResponseSerializer
1324    )]
1325    async fn get_all_properties_and_labels(
1326        &self,
1327        #[auth]
1328        auth_: conjure_object::BearerToken,
1329        #[query(
1330            name = "workspaces",
1331            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
1332            safe
1333        )]
1334        workspaces: std::collections::BTreeSet<
1335            super::super::super::super::objects::api::rids::WorkspaceRid,
1336        >,
1337    ) -> Result<
1338        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
1339        conjure_http::private::Error,
1340    >;
1341    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
1342    #[endpoint(
1343        method = GET,
1344        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
1345        name = "getLogDatasetForWorkspace",
1346        produces = conjure_http::server::conjure::CollectionResponseSerializer
1347    )]
1348    async fn get_log_dataset_for_workspace(
1349        &self,
1350        #[auth]
1351        auth_: conjure_object::BearerToken,
1352        #[path(
1353            name = "workspaceRid",
1354            decoder = conjure_http::server::conjure::FromPlainDecoder,
1355            log_as = "workspaceRid",
1356            safe
1357        )]
1358        workspace_rid: super::super::super::super::objects::api::rids::WorkspaceRid,
1359    ) -> Result<
1360        Option<super::super::super::super::objects::api::rids::DatasetRid>,
1361        conjure_http::private::Error,
1362    >;
1363}
1364/// The Catalog Service provides the ability to query for information about Datasets that are stored in
1365/// the Nominal platform. A Dataset is the Nominal representation of data that has been uploaded to Nominal via
1366/// a file, primarily CSV.
1367#[conjure_http::conjure_endpoints(
1368    name = "CatalogService",
1369    use_legacy_error_serialization,
1370    local
1371)]
1372pub trait LocalAsyncCatalogService {
1373    #[endpoint(
1374        method = GET,
1375        path = "/catalog/v1/datasets/{datasetUuid}",
1376        name = "getEnrichedDataset",
1377        produces = conjure_http::server::StdResponseSerializer
1378    )]
1379    async fn get_enriched_dataset(
1380        &self,
1381        #[auth]
1382        auth_: conjure_object::BearerToken,
1383        #[path(
1384            name = "datasetUuid",
1385            decoder = conjure_http::server::conjure::FromPlainDecoder,
1386            log_as = "datasetUuid"
1387        )]
1388        dataset_uuid: conjure_object::Uuid,
1389    ) -> Result<
1390        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1391        conjure_http::private::Error,
1392    >;
1393    #[endpoint(
1394        method = POST,
1395        path = "/catalog/v1/datasets/multiple",
1396        name = "getEnrichedDatasets",
1397        produces = conjure_http::server::conjure::CollectionResponseSerializer
1398    )]
1399    async fn get_enriched_datasets(
1400        &self,
1401        #[auth]
1402        auth_: conjure_object::BearerToken,
1403        #[body(
1404            deserializer = conjure_http::server::StdRequestDeserializer,
1405            log_as = "getDatasetsRequest"
1406        )]
1407        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1408    ) -> Result<
1409        std::collections::BTreeSet<
1410            super::super::super::super::objects::scout::catalog::EnrichedDataset,
1411        >,
1412        conjure_http::private::Error,
1413    >;
1414    #[endpoint(
1415        method = GET,
1416        path = "/catalog/v1/datasets-simple/{datasetUuid}",
1417        name = "getDataset",
1418        produces = conjure_http::server::StdResponseSerializer
1419    )]
1420    async fn get_dataset(
1421        &self,
1422        #[auth]
1423        auth_: conjure_object::BearerToken,
1424        #[path(
1425            name = "datasetUuid",
1426            decoder = conjure_http::server::conjure::FromPlainDecoder,
1427            log_as = "datasetUuid"
1428        )]
1429        dataset_uuid: conjure_object::Uuid,
1430    ) -> Result<
1431        super::super::super::super::objects::scout::catalog::Dataset,
1432        conjure_http::private::Error,
1433    >;
1434    #[endpoint(
1435        method = POST,
1436        path = "/catalog/v1/datasets-simple/multiple",
1437        name = "getDatasets",
1438        produces = conjure_http::server::conjure::CollectionResponseSerializer
1439    )]
1440    async fn get_datasets(
1441        &self,
1442        #[auth]
1443        auth_: conjure_object::BearerToken,
1444        #[body(
1445            deserializer = conjure_http::server::StdRequestDeserializer,
1446            log_as = "getDatasetsRequest"
1447        )]
1448        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1449    ) -> Result<
1450        std::collections::BTreeSet<
1451            super::super::super::super::objects::scout::catalog::Dataset,
1452        >,
1453        conjure_http::private::Error,
1454    >;
1455    /// Gets the subset of dataset RIDs that currently have external connection config attached.
1456    #[endpoint(
1457        method = POST,
1458        path = "/catalog/v1/datasets-simple/external-config",
1459        name = "getDatasetsWithExternalConnectionConfig",
1460        produces = conjure_http::server::conjure::CollectionResponseSerializer
1461    )]
1462    async fn get_datasets_with_external_connection_config(
1463        &self,
1464        #[auth]
1465        auth_: conjure_object::BearerToken,
1466        #[body(
1467            deserializer = conjure_http::server::StdRequestDeserializer,
1468            log_as = "getDatasetsRequest"
1469        )]
1470        get_datasets_request: super::super::super::super::objects::scout::catalog::GetDatasetsRequest,
1471    ) -> Result<
1472        std::collections::BTreeSet<
1473            super::super::super::super::objects::api::rids::DatasetRid,
1474        >,
1475        conjure_http::private::Error,
1476    >;
1477    /// Registers or updates external connection configuration for an existing dataset.
1478    #[endpoint(
1479        method = POST,
1480        path = "/catalog/v1/datasets/external-config",
1481        name = "registerExternalConnectionConfig",
1482        produces = conjure_http::server::StdResponseSerializer
1483    )]
1484    async fn register_external_connection_config(
1485        &self,
1486        #[auth]
1487        auth_: conjure_object::BearerToken,
1488        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1489        request: super::super::super::super::objects::scout::catalog::RegisterExternalConnectionConfigRequest,
1490    ) -> Result<
1491        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1492        conjure_http::private::Error,
1493    >;
1494    #[endpoint(
1495        method = GET,
1496        path = "/catalog/v1/dataset/{datasetRid}/file/{fileId}",
1497        name = "getDatasetFile",
1498        produces = conjure_http::server::StdResponseSerializer
1499    )]
1500    async fn get_dataset_file(
1501        &self,
1502        #[auth]
1503        auth_: conjure_object::BearerToken,
1504        #[path(
1505            name = "datasetRid",
1506            decoder = conjure_http::server::conjure::FromPlainDecoder,
1507            log_as = "datasetRid"
1508        )]
1509        dataset_rid: conjure_object::ResourceIdentifier,
1510        #[path(
1511            name = "fileId",
1512            decoder = conjure_http::server::conjure::FromPlainDecoder,
1513            log_as = "fileId",
1514            safe
1515        )]
1516        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1517    ) -> Result<
1518        super::super::super::super::objects::scout::catalog::DatasetFile,
1519        conjure_http::private::Error,
1520    >;
1521    /// Returns dataset files for the given file IDs within a single dataset. Only returns files that
1522    /// exist and belong to the specified dataset. Useful for checking ingestion status of many files at once.
1523    #[endpoint(
1524        method = POST,
1525        path = "/catalog/v1/dataset-files/batchGet",
1526        name = "batchGetDatasetFiles",
1527        produces = conjure_http::server::conjure::CollectionResponseSerializer
1528    )]
1529    async fn batch_get_dataset_files(
1530        &self,
1531        #[auth]
1532        auth_: conjure_object::BearerToken,
1533        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1534        request: super::super::super::super::objects::scout::catalog::BatchGetDatasetFilesRequest,
1535    ) -> Result<
1536        std::collections::BTreeMap<
1537            super::super::super::super::objects::datasource::DatasetFileId,
1538            super::super::super::super::objects::scout::catalog::DatasetFile,
1539        >,
1540        conjure_http::private::Error,
1541    >;
1542    #[endpoint(
1543        method = GET,
1544        path = "/catalog/v1/ingest-job/{ingestJobRid}/files",
1545        name = "getDatasetFilesForJob",
1546        produces = conjure_http::server::StdResponseSerializer
1547    )]
1548    async fn get_dataset_files_for_job(
1549        &self,
1550        #[auth]
1551        auth_: conjure_object::BearerToken,
1552        #[path(
1553            name = "ingestJobRid",
1554            decoder = conjure_http::server::conjure::FromPlainDecoder,
1555            log_as = "ingestJobRid"
1556        )]
1557        ingest_job_rid: conjure_object::ResourceIdentifier,
1558        #[query(
1559            name = "nextPageToken",
1560            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1561            log_as = "nextPageToken"
1562        )]
1563        next_page_token: Option<super::super::super::super::objects::api::Token>,
1564    ) -> Result<
1565        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1566        conjure_http::private::Error,
1567    >;
1568    #[endpoint(
1569        method = POST,
1570        path = "/catalog/v1/search-datasets-v2",
1571        name = "searchDatasets",
1572        produces = conjure_http::server::StdResponseSerializer
1573    )]
1574    async fn search_datasets(
1575        &self,
1576        #[auth]
1577        auth_: conjure_object::BearerToken,
1578        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1579        request: super::super::super::super::objects::scout::catalog::SearchDatasetsRequest,
1580    ) -> Result<
1581        super::super::super::super::objects::scout::catalog::SearchDatasetsResponse,
1582        conjure_http::private::Error,
1583    >;
1584    #[endpoint(
1585        method = PUT,
1586        path = "/catalog/v1/datasets/ingest-status-v2",
1587        name = "updateDatasetIngestStatusV2",
1588        produces = conjure_http::server::StdResponseSerializer
1589    )]
1590    async fn update_dataset_ingest_status_v2(
1591        &self,
1592        #[auth]
1593        auth_: conjure_object::BearerToken,
1594        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1595        details: super::super::super::super::objects::scout::catalog::UpdateIngestStatusV2,
1596    ) -> Result<
1597        super::super::super::super::objects::api::IngestStatusV2,
1598        conjure_http::private::Error,
1599    >;
1600    #[endpoint(
1601        method = GET,
1602        path = "/catalog/v1/datasets/{datasetRid}/ingest-progress-v2",
1603        name = "getIngestProgressV2",
1604        produces = conjure_http::server::StdResponseSerializer
1605    )]
1606    async fn get_ingest_progress_v2(
1607        &self,
1608        #[auth]
1609        auth_: conjure_object::BearerToken,
1610        #[path(
1611            name = "datasetRid",
1612            decoder = conjure_http::server::conjure::FromPlainDecoder,
1613            log_as = "datasetRid"
1614        )]
1615        dataset_rid: conjure_object::ResourceIdentifier,
1616    ) -> Result<
1617        super::super::super::super::objects::scout::catalog::IngestProgressV2,
1618        conjure_http::private::Error,
1619    >;
1620    #[endpoint(
1621        method = GET,
1622        path = "/catalog/v1/datasets/{dataset}/handle",
1623        name = "getHandleForDataset",
1624        produces = conjure_http::server::conjure::CollectionResponseSerializer
1625    )]
1626    async fn get_handle_for_dataset(
1627        &self,
1628        #[auth]
1629        auth_: conjure_object::BearerToken,
1630        #[path(
1631            name = "dataset",
1632            decoder = conjure_http::server::conjure::FromPlainDecoder
1633        )]
1634        dataset: conjure_object::Uuid,
1635    ) -> Result<
1636        Option<super::super::super::super::objects::scout::catalog::Handle>,
1637        conjure_http::private::Error,
1638    >;
1639    #[endpoint(
1640        method = POST,
1641        path = "/catalog/v1/datasets",
1642        name = "createDataset",
1643        produces = conjure_http::server::StdResponseSerializer
1644    )]
1645    async fn create_dataset(
1646        &self,
1647        #[auth]
1648        auth_: conjure_object::BearerToken,
1649        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1650        details: super::super::super::super::objects::scout::catalog::CreateDataset,
1651    ) -> Result<
1652        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1653        conjure_http::private::Error,
1654    >;
1655    /// Creates a dataset if the s3 path does not exist, otherwise updates the dataset
1656    #[endpoint(
1657        method = POST,
1658        path = "/catalog/v1/datasets/create-or-update",
1659        name = "createOrUpdateDataset",
1660        produces = conjure_http::server::StdResponseSerializer
1661    )]
1662    async fn create_or_update_dataset(
1663        &self,
1664        #[auth]
1665        auth_: conjure_object::BearerToken,
1666        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1667        details: super::super::super::super::objects::scout::catalog::CreateDataset,
1668    ) -> Result<
1669        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1670        conjure_http::private::Error,
1671    >;
1672    /// Creates a dataset with a specific UUID. This is useful for migrations and advanced use cases
1673    /// where the dataset UUID must be controlled by the caller. Throws a conflict error if a dataset
1674    /// with the specified UUID already exists. This endpoint is not intended for general use. Use /datasets instead to create a new dataset.
1675    #[endpoint(
1676        method = POST,
1677        path = "/catalog/v1/datasets/with-uuid",
1678        name = "createDatasetWithUuid",
1679        produces = conjure_http::server::StdResponseSerializer
1680    )]
1681    async fn create_dataset_with_uuid(
1682        &self,
1683        #[auth]
1684        auth_: conjure_object::BearerToken,
1685        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1686        request: super::super::super::super::objects::scout::catalog::CreateDatasetWithUuidRequest,
1687    ) -> Result<
1688        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1689        conjure_http::private::Error,
1690    >;
1691    /// Adds a single file to an existing dataset.
1692    #[endpoint(
1693        method = POST,
1694        path = "/catalog/v1/datasets/{datasetRid}/add-file",
1695        name = "addFileToDataset",
1696        produces = conjure_http::server::StdResponseSerializer
1697    )]
1698    async fn add_file_to_dataset(
1699        &self,
1700        #[auth]
1701        auth_: conjure_object::BearerToken,
1702        #[path(
1703            name = "datasetRid",
1704            decoder = conjure_http::server::conjure::FromPlainDecoder,
1705            log_as = "datasetRid"
1706        )]
1707        dataset_rid: conjure_object::ResourceIdentifier,
1708        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1709        request: super::super::super::super::objects::scout::catalog::AddFileToDataset,
1710    ) -> Result<
1711        super::super::super::super::objects::scout::catalog::DatasetFile,
1712        conjure_http::private::Error,
1713    >;
1714    #[endpoint(
1715        method = GET,
1716        path = "/catalog/v1/datasets/{datasetRid}/files",
1717        name = "listDatasetFiles",
1718        produces = conjure_http::server::StdResponseSerializer
1719    )]
1720    async fn list_dataset_files(
1721        &self,
1722        #[auth]
1723        auth_: conjure_object::BearerToken,
1724        #[path(
1725            name = "datasetRid",
1726            decoder = conjure_http::server::conjure::FromPlainDecoder,
1727            log_as = "datasetRid"
1728        )]
1729        dataset_rid: conjure_object::ResourceIdentifier,
1730        #[query(
1731            name = "nextPageToken",
1732            decoder = conjure_http::server::conjure::FromPlainOptionDecoder,
1733            log_as = "nextPageToken"
1734        )]
1735        next_page_token: Option<super::super::super::super::objects::api::Token>,
1736    ) -> Result<
1737        super::super::super::super::objects::scout::catalog::DatasetFilesPage,
1738        conjure_http::private::Error,
1739    >;
1740    #[endpoint(
1741        method = POST,
1742        path = "/catalog/v1/search-dataset-files",
1743        name = "searchDatasetFiles",
1744        produces = conjure_http::server::StdResponseSerializer
1745    )]
1746    async fn search_dataset_files(
1747        &self,
1748        #[auth]
1749        auth_: conjure_object::BearerToken,
1750        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1751        request: super::super::super::super::objects::scout::catalog::SearchDatasetFilesRequest,
1752    ) -> Result<
1753        super::super::super::super::objects::scout::catalog::SearchDatasetFilesResponse,
1754        conjure_http::private::Error,
1755    >;
1756    #[endpoint(
1757        method = GET,
1758        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/uri",
1759        name = "getDatasetFileUri",
1760        produces = conjure_http::server::StdResponseSerializer
1761    )]
1762    async fn get_dataset_file_uri(
1763        &self,
1764        #[auth]
1765        auth_: conjure_object::BearerToken,
1766        #[path(
1767            name = "datasetRid",
1768            decoder = conjure_http::server::conjure::FromPlainDecoder,
1769            log_as = "datasetRid",
1770            safe
1771        )]
1772        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
1773        #[path(
1774            name = "fileId",
1775            decoder = conjure_http::server::conjure::FromPlainDecoder,
1776            log_as = "fileId",
1777            safe
1778        )]
1779        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1780    ) -> Result<
1781        super::super::super::super::objects::scout::catalog::DatasetFileUri,
1782        conjure_http::private::Error,
1783    >;
1784    #[endpoint(
1785        method = GET,
1786        path = "/catalog/v1/videos/{videoFileRid}/uri",
1787        name = "getVideoFileUri",
1788        produces = conjure_http::server::StdResponseSerializer
1789    )]
1790    async fn get_video_file_uri(
1791        &self,
1792        #[auth]
1793        auth_: conjure_object::BearerToken,
1794        #[path(
1795            name = "videoFileRid",
1796            decoder = conjure_http::server::conjure::FromPlainDecoder,
1797            log_as = "videoFileRid",
1798            safe
1799        )]
1800        video_file_rid: super::super::super::super::objects::api::rids::VideoFileRid,
1801    ) -> Result<
1802        super::super::super::super::objects::scout::catalog::VideoFileUri,
1803        conjure_http::private::Error,
1804    >;
1805    #[endpoint(
1806        method = GET,
1807        path = "/catalog/v1/datasets/{datasetRid}/{fileId}/origin-uris",
1808        name = "getOriginFileUris",
1809        produces = conjure_http::server::conjure::CollectionResponseSerializer
1810    )]
1811    async fn get_origin_file_uris(
1812        &self,
1813        #[auth]
1814        auth_: conjure_object::BearerToken,
1815        #[path(
1816            name = "datasetRid",
1817            decoder = conjure_http::server::conjure::FromPlainDecoder,
1818            log_as = "datasetRid",
1819            safe
1820        )]
1821        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
1822        #[path(
1823            name = "fileId",
1824            decoder = conjure_http::server::conjure::FromPlainDecoder,
1825            log_as = "fileId",
1826            safe
1827        )]
1828        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1829    ) -> Result<
1830        Vec<super::super::super::super::objects::scout::catalog::OriginFileUri>,
1831        conjure_http::private::Error,
1832    >;
1833    #[endpoint(
1834        method = PUT,
1835        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/success",
1836        name = "markFileIngestSuccessful",
1837        produces = conjure_http::server::StdResponseSerializer
1838    )]
1839    async fn mark_file_ingest_successful(
1840        &self,
1841        #[auth]
1842        auth_: conjure_object::BearerToken,
1843        #[path(
1844            name = "datasetRid",
1845            decoder = conjure_http::server::conjure::FromPlainDecoder,
1846            log_as = "datasetRid"
1847        )]
1848        dataset_rid: conjure_object::ResourceIdentifier,
1849        #[path(
1850            name = "fileId",
1851            decoder = conjure_http::server::conjure::FromPlainDecoder,
1852            log_as = "fileId",
1853            safe
1854        )]
1855        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1856        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1857        request: super::super::super::super::objects::scout::catalog::MarkFileIngestSuccessful,
1858    ) -> Result<
1859        super::super::super::super::objects::scout::catalog::DatasetFile,
1860        conjure_http::private::Error,
1861    >;
1862    #[endpoint(
1863        method = PUT,
1864        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/error",
1865        name = "markFileIngestError",
1866        produces = conjure_http::server::StdResponseSerializer
1867    )]
1868    async fn mark_file_ingest_error(
1869        &self,
1870        #[auth]
1871        auth_: conjure_object::BearerToken,
1872        #[path(
1873            name = "datasetRid",
1874            decoder = conjure_http::server::conjure::FromPlainDecoder,
1875            log_as = "datasetRid"
1876        )]
1877        dataset_rid: conjure_object::ResourceIdentifier,
1878        #[path(
1879            name = "fileId",
1880            decoder = conjure_http::server::conjure::FromPlainDecoder,
1881            log_as = "fileId",
1882            safe
1883        )]
1884        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1885        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1886        request: super::super::super::super::objects::scout::catalog::MarkFileIngestError,
1887    ) -> Result<
1888        super::super::super::super::objects::scout::catalog::DatasetFile,
1889        conjure_http::private::Error,
1890    >;
1891    /// Updates file-type-specific metadata for a dataset file. Currently used to update video segment metadata
1892    /// after video segmentation is complete.
1893    #[endpoint(
1894        method = PUT,
1895        path = "/catalog/v1/datasets/{datasetRid}/file/{fileId}/metadata",
1896        name = "updateDatasetFileMetadata",
1897        produces = conjure_http::server::StdResponseSerializer
1898    )]
1899    async fn update_dataset_file_metadata(
1900        &self,
1901        #[auth]
1902        auth_: conjure_object::BearerToken,
1903        #[path(
1904            name = "datasetRid",
1905            decoder = conjure_http::server::conjure::FromPlainDecoder,
1906            log_as = "datasetRid",
1907            safe
1908        )]
1909        dataset_rid: super::super::super::super::objects::api::rids::DatasetRid,
1910        #[path(
1911            name = "fileId",
1912            decoder = conjure_http::server::conjure::FromPlainDecoder,
1913            log_as = "fileId",
1914            safe
1915        )]
1916        file_id: super::super::super::super::objects::datasource::DatasetFileId,
1917        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1918        metadata: super::super::super::super::objects::scout::catalog::DatasetFileMetadata,
1919    ) -> Result<
1920        super::super::super::super::objects::scout::catalog::DatasetFile,
1921        conjure_http::private::Error,
1922    >;
1923    #[endpoint(
1924        method = PUT,
1925        path = "/catalog/v1/datasets/{datasetRid}",
1926        name = "updateDatasetMetadata",
1927        produces = conjure_http::server::StdResponseSerializer
1928    )]
1929    async fn update_dataset_metadata(
1930        &self,
1931        #[auth]
1932        auth_: conjure_object::BearerToken,
1933        #[path(
1934            name = "datasetRid",
1935            decoder = conjure_http::server::conjure::FromPlainDecoder,
1936            log_as = "datasetRid"
1937        )]
1938        dataset_rid: conjure_object::ResourceIdentifier,
1939        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
1940        request: super::super::super::super::objects::scout::catalog::UpdateDatasetMetadata,
1941    ) -> Result<
1942        super::super::super::super::objects::scout::catalog::EnrichedDataset,
1943        conjure_http::private::Error,
1944    >;
1945    /// Update the bounds for a dataset without updating bounds of files within the dataset. If the
1946    /// current bounds of the dataset are not set, then the bounds of the request will be used. Otherwise,
1947    /// the bounds will be min(current start, request start), max(current end, request end).
1948    #[endpoint(
1949        method = PUT,
1950        path = "/catalog/v1/datasets/{rid}/bounds-from-streaming",
1951        name = "updateGlobalDatasetBounds",
1952        produces = conjure_http::server::StdResponseSerializer
1953    )]
1954    async fn update_global_dataset_bounds(
1955        &self,
1956        #[auth]
1957        auth_: conjure_object::BearerToken,
1958        #[path(name = "rid", decoder = conjure_http::server::conjure::FromPlainDecoder)]
1959        rid: conjure_object::ResourceIdentifier,
1960        #[body(deserializer = conjure_http::server::StdRequestDeserializer, safe)]
1961        request: super::super::super::super::objects::scout::catalog::UpdateBoundsRequest,
1962    ) -> Result<
1963        super::super::super::super::objects::scout::catalog::Dataset,
1964        conjure_http::private::Error,
1965    >;
1966    /// Archives a dataset, which will hide it from search results unless the includeArchived flag is set to true. The
1967    /// dataset can still be directly accessed by its UUID/rid.
1968    #[endpoint(
1969        method = POST,
1970        path = "/catalog/v1/datasets/{datasetRid}/archive",
1971        name = "archiveDataset"
1972    )]
1973    async fn archive_dataset(
1974        &self,
1975        #[auth]
1976        auth_: conjure_object::BearerToken,
1977        #[path(
1978            name = "datasetRid",
1979            decoder = conjure_http::server::conjure::FromPlainDecoder,
1980            log_as = "datasetRid"
1981        )]
1982        dataset_rid: conjure_object::ResourceIdentifier,
1983    ) -> Result<(), conjure_http::private::Error>;
1984    /// Undoes the archiving of a dataset.
1985    #[endpoint(
1986        method = POST,
1987        path = "/catalog/v1/datasets/{datasetRid}/unarchive",
1988        name = "unarchiveDataset"
1989    )]
1990    async fn unarchive_dataset(
1991        &self,
1992        #[auth]
1993        auth_: conjure_object::BearerToken,
1994        #[path(
1995            name = "datasetRid",
1996            decoder = conjure_http::server::conjure::FromPlainDecoder,
1997            log_as = "datasetRid"
1998        )]
1999        dataset_rid: conjure_object::ResourceIdentifier,
2000    ) -> Result<(), conjure_http::private::Error>;
2001    #[endpoint(
2002        method = GET,
2003        path = "/catalog/v1/datasets/all-properties-labels",
2004        name = "getAllPropertiesAndLabels",
2005        produces = conjure_http::server::StdResponseSerializer
2006    )]
2007    async fn get_all_properties_and_labels(
2008        &self,
2009        #[auth]
2010        auth_: conjure_object::BearerToken,
2011        #[query(
2012            name = "workspaces",
2013            decoder = conjure_http::server::conjure::FromPlainSeqDecoder<_>,
2014            safe
2015        )]
2016        workspaces: std::collections::BTreeSet<
2017            super::super::super::super::objects::api::rids::WorkspaceRid,
2018        >,
2019    ) -> Result<
2020        super::super::super::super::objects::scout::catalog::AllPropertiesAndLabelsResponse,
2021        conjure_http::private::Error,
2022    >;
2023    /// Returns the log dataset RID for the specified workspace if configured and accessible to the caller.
2024    #[endpoint(
2025        method = GET,
2026        path = "/catalog/v1/workspaces/{workspaceRid}/log-dataset",
2027        name = "getLogDatasetForWorkspace",
2028        produces = conjure_http::server::conjure::CollectionResponseSerializer
2029    )]
2030    async fn get_log_dataset_for_workspace(
2031        &self,
2032        #[auth]
2033        auth_: conjure_object::BearerToken,
2034        #[path(
2035            name = "workspaceRid",
2036            decoder = conjure_http::server::conjure::FromPlainDecoder,
2037            log_as = "workspaceRid",
2038            safe
2039        )]
2040        workspace_rid: super::super::super::super::objects::api::rids::WorkspaceRid,
2041    ) -> Result<
2042        Option<super::super::super::super::objects::api::rids::DatasetRid>,
2043        conjure_http::private::Error,
2044    >;
2045}