Skip to main content

nominal_api/conjure/clients/scout/
notebook_service.rs

1use conjure_http::endpoint;
2/// NotebookService manages workbooks (formerly known as notebooks).
3#[conjure_http::conjure_client(name = "NotebookService")]
4pub trait NotebookService<
5    #[response_body]
6    I: Iterator<
7            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
8        >,
9> {
10    /// Creates a new workbook. The workbook will be associated with the provided run. If the run does not exist,
11    /// a RunNotFound error will be thrown.
12    #[endpoint(
13        method = POST,
14        path = "/scout/v2/notebook",
15        name = "create",
16        accept = conjure_http::client::StdResponseDeserializer
17    )]
18    fn create(
19        &self,
20        #[auth]
21        auth_: &conjure_object::BearerToken,
22        #[body(serializer = conjure_http::client::StdRequestSerializer)]
23        request: &super::super::super::objects::scout::notebook::api::CreateNotebookRequest,
24    ) -> Result<
25        super::super::super::objects::scout::notebook::api::Notebook,
26        conjure_http::private::Error,
27    >;
28    /// Updates the contents of a workbook.
29    #[endpoint(
30        method = PUT,
31        path = "/scout/v2/notebook/{rid}",
32        name = "update",
33        accept = conjure_http::client::StdResponseDeserializer
34    )]
35    fn update(
36        &self,
37        #[auth]
38        auth_: &conjure_object::BearerToken,
39        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
40        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
41        #[body(serializer = conjure_http::client::StdRequestSerializer)]
42        request: &super::super::super::objects::scout::notebook::api::UpdateNotebookRequest,
43    ) -> Result<
44        super::super::super::objects::scout::notebook::api::Notebook,
45        conjure_http::private::Error,
46    >;
47    #[endpoint(
48        method = GET,
49        path = "/scout/v2/notebook/{rid}",
50        name = "get",
51        accept = conjure_http::client::StdResponseDeserializer
52    )]
53    fn get(
54        &self,
55        #[auth]
56        auth_: &conjure_object::BearerToken,
57        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
58        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
59        #[query(
60            name = "snapshot",
61            encoder = conjure_http::client::conjure::PlainSeqEncoder
62        )]
63        snapshot: Option<&super::super::super::objects::scout::rids::api::SnapshotRid>,
64    ) -> Result<
65        super::super::super::objects::scout::notebook::api::Notebook,
66        conjure_http::private::Error,
67    >;
68    #[endpoint(
69        method = POST,
70        path = "/scout/v2/notebook/batch-get",
71        name = "batchGet",
72        accept = conjure_http::client::conjure::CollectionResponseDeserializer
73    )]
74    fn batch_get(
75        &self,
76        #[auth]
77        auth_: &conjure_object::BearerToken,
78        #[body(serializer = conjure_http::client::StdRequestSerializer)]
79        rids: &std::collections::BTreeSet<
80            super::super::super::objects::scout::rids::api::NotebookRid,
81        >,
82    ) -> Result<
83        std::collections::BTreeSet<
84            super::super::super::objects::scout::notebook::api::Notebook,
85        >,
86        conjure_http::private::Error,
87    >;
88    #[endpoint(
89        method = POST,
90        path = "/scout/v2/notebook/batch-get-metadata",
91        name = "batchGetMetadata",
92        accept = conjure_http::client::conjure::CollectionResponseDeserializer
93    )]
94    fn batch_get_metadata(
95        &self,
96        #[auth]
97        auth_: &conjure_object::BearerToken,
98        #[body(serializer = conjure_http::client::StdRequestSerializer)]
99        rids: &std::collections::BTreeSet<
100            super::super::super::objects::scout::rids::api::NotebookRid,
101        >,
102    ) -> Result<
103        std::collections::BTreeSet<
104            super::super::super::objects::scout::notebook::api::NotebookMetadataWithRid,
105        >,
106        conjure_http::private::Error,
107    >;
108    /// Updates metadata about a workbook, but not its contents.
109    #[endpoint(
110        method = PUT,
111        path = "/scout/v2/notebook/{rid}/update-metadata",
112        name = "updateMetadata",
113        accept = conjure_http::client::StdResponseDeserializer
114    )]
115    fn update_metadata(
116        &self,
117        #[auth]
118        auth_: &conjure_object::BearerToken,
119        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
120        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
121        #[body(serializer = conjure_http::client::StdRequestSerializer)]
122        request: &super::super::super::objects::scout::notebook::api::UpdateNotebookMetadataRequest,
123    ) -> Result<
124        super::super::super::objects::scout::notebook::api::NotebookMetadata,
125        conjure_http::private::Error,
126    >;
127    /// Returns the set of all ref names used by the workbook.
128    #[endpoint(
129        method = GET,
130        path = "/scout/v2/notebook/{rid}/ref-names",
131        name = "getUsedRefNames",
132        accept = conjure_http::client::conjure::CollectionResponseDeserializer
133    )]
134    fn get_used_ref_names(
135        &self,
136        #[auth]
137        auth_: &conjure_object::BearerToken,
138        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
139        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
140    ) -> Result<
141        std::collections::BTreeSet<
142            super::super::super::objects::scout::api::DataSourceRefName,
143        >,
144        conjure_http::private::Error,
145    >;
146    /// Updates the data source ref names for all variables used in the workbook.
147    #[endpoint(
148        method = POST,
149        path = "/scout/v2/notebook/{rid}/update-ref-names",
150        name = "updateRefNames",
151        accept = conjure_http::client::StdResponseDeserializer
152    )]
153    fn update_ref_names(
154        &self,
155        #[auth]
156        auth_: &conjure_object::BearerToken,
157        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
158        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
159        #[body(serializer = conjure_http::client::StdRequestSerializer)]
160        request: &super::super::super::objects::scout::notebook::api::UpdateRefNameRequest,
161    ) -> Result<
162        super::super::super::objects::scout::notebook::api::Notebook,
163        conjure_http::private::Error,
164    >;
165    /// Returns all properties (key value pairs) and labels that have been previously used on workbook. These can
166    /// be used to organize workbooks.
167    #[endpoint(
168        method = GET,
169        path = "/scout/v2/notebook/get-all-labels-properties",
170        name = "getAllLabelsAndProperties",
171        accept = conjure_http::client::StdResponseDeserializer
172    )]
173    fn get_all_labels_and_properties(
174        &self,
175        #[auth]
176        auth_: &conjure_object::BearerToken,
177        #[query(
178            name = "workspaces",
179            encoder = conjure_http::client::conjure::PlainSeqEncoder
180        )]
181        workspaces: &std::collections::BTreeSet<
182            super::super::super::objects::api::rids::WorkspaceRid,
183        >,
184    ) -> Result<
185        super::super::super::objects::scout::notebook::api::GetAllLabelsAndPropertiesResponse,
186        conjure_http::private::Error,
187    >;
188    #[endpoint(
189        method = POST,
190        path = "/scout/v2/notebook/search",
191        name = "search",
192        accept = conjure_http::client::StdResponseDeserializer
193    )]
194    fn search(
195        &self,
196        #[auth]
197        auth_: &conjure_object::BearerToken,
198        #[body(serializer = conjure_http::client::StdRequestSerializer)]
199        request: &super::super::super::objects::scout::notebook::api::SearchNotebooksRequest,
200    ) -> Result<
201        super::super::super::objects::scout::notebook::api::SearchNotebooksResponse,
202        conjure_http::private::Error,
203    >;
204    /// Batch edits metadata across multiple workbooks. Supports rename/merge for labels and properties.
205    /// If more than 1000 workbooks are targeted, this endpoint will throw a 400.
206    #[endpoint(
207        method = POST,
208        path = "/scout/v2/notebook/metadata/batch-edit",
209        name = "batchEditNotebookMetadata",
210        accept = conjure_http::client::StdResponseDeserializer
211    )]
212    fn batch_edit_notebook_metadata(
213        &self,
214        #[auth]
215        auth_: &conjure_object::BearerToken,
216        #[body(serializer = conjure_http::client::StdRequestSerializer)]
217        request: &super::super::super::objects::scout::notebook::api::BatchEditNotebookMetadataRequest,
218    ) -> Result<
219        super::super::super::objects::scout::notebook::api::BatchEditNotebookMetadataResponse,
220        conjure_http::private::Error,
221    >;
222    /// Makes a workbook uneditable.
223    /// Deprecated: use the isLocked field on updateMetadata instead.
224    #[endpoint(
225        method = PUT,
226        path = "/scout/v2/notebook/{rid}/lock",
227        name = "lock",
228        accept = conjure_http::client::conjure::EmptyResponseDeserializer
229    )]
230    fn lock(
231        &self,
232        #[auth]
233        auth_: &conjure_object::BearerToken,
234        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
235        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
236    ) -> Result<(), conjure_http::private::Error>;
237    /// Unlocks a workbook for editing.
238    /// Deprecated: use the isLocked field on updateMetadata instead.
239    #[endpoint(
240        method = PUT,
241        path = "/scout/v2/notebook/{rid}/unlock",
242        name = "unlock",
243        accept = conjure_http::client::conjure::EmptyResponseDeserializer
244    )]
245    fn unlock(
246        &self,
247        #[auth]
248        auth_: &conjure_object::BearerToken,
249        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
250        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
251    ) -> Result<(), conjure_http::private::Error>;
252    /// Archives a workbook, which excludes it from search and hides it from being publicly visible, but does not
253    /// permanently delete it. Archived workbooks can be unarchived.
254    #[endpoint(
255        method = PUT,
256        path = "/scout/v2/notebook/{rid}/archive",
257        name = "archive",
258        accept = conjure_http::client::conjure::EmptyResponseDeserializer
259    )]
260    fn archive(
261        &self,
262        #[auth]
263        auth_: &conjure_object::BearerToken,
264        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
265        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
266    ) -> Result<(), conjure_http::private::Error>;
267    /// Makes a previously archived workbook searchable.
268    #[endpoint(
269        method = PUT,
270        path = "/scout/v2/notebook/{rid}/unarchive",
271        name = "unarchive",
272        accept = conjure_http::client::conjure::EmptyResponseDeserializer
273    )]
274    fn unarchive(
275        &self,
276        #[auth]
277        auth_: &conjure_object::BearerToken,
278        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
279        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
280    ) -> Result<(), conjure_http::private::Error>;
281    /// The workbook will be deleted and is not recoverable. For soft deletion, use archive.
282    #[endpoint(
283        method = DELETE,
284        path = "/scout/v2/notebook/{rid}",
285        name = "delete",
286        accept = conjure_http::client::conjure::EmptyResponseDeserializer
287    )]
288    fn delete(
289        &self,
290        #[auth]
291        auth_: &conjure_object::BearerToken,
292        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
293        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
294    ) -> Result<(), conjure_http::private::Error>;
295    /// Duplicates an existing workbook, copying its content (layout, charts, variables, pinned events)
296    /// and optionally overriding metadata fields such as title, description, data scope, labels,
297    /// and properties. Returns the newly created workbook.
298    #[endpoint(
299        method = POST,
300        path = "/scout/v2/notebook/{rid}/duplicate",
301        name = "duplicate",
302        accept = conjure_http::client::StdResponseDeserializer
303    )]
304    fn duplicate(
305        &self,
306        #[auth]
307        auth_: &conjure_object::BearerToken,
308        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
309        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
310        #[body(serializer = conjure_http::client::StdRequestSerializer)]
311        request: &super::super::super::objects::scout::notebook::api::DuplicateNotebookRequest,
312    ) -> Result<
313        super::super::super::objects::scout::notebook::api::Notebook,
314        conjure_http::private::Error,
315    >;
316    /// Retrieves the snapshot history for a given workbook. These are sorted in reverse chronological order. Results
317    /// are limited by page size.
318    #[endpoint(
319        method = POST,
320        path = "/scout/v2/notebook/snapshot-history",
321        name = "getSnapshotHistory",
322        accept = conjure_http::client::StdResponseDeserializer
323    )]
324    fn get_snapshot_history(
325        &self,
326        #[auth]
327        auth_: &conjure_object::BearerToken,
328        #[body(serializer = conjure_http::client::StdRequestSerializer)]
329        request: &super::super::super::objects::scout::notebook::api::GetSnapshotHistoryRequest,
330    ) -> Result<
331        super::super::super::objects::scout::notebook::api::GetSnapshotHistoryResponse,
332        conjure_http::private::Error,
333    >;
334}
335/// NotebookService manages workbooks (formerly known as notebooks).
336#[conjure_http::conjure_client(name = "NotebookService")]
337pub trait AsyncNotebookService<
338    #[response_body]
339    I: conjure_http::private::Stream<
340            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
341        >,
342> {
343    /// Creates a new workbook. The workbook will be associated with the provided run. If the run does not exist,
344    /// a RunNotFound error will be thrown.
345    #[endpoint(
346        method = POST,
347        path = "/scout/v2/notebook",
348        name = "create",
349        accept = conjure_http::client::StdResponseDeserializer
350    )]
351    async fn create(
352        &self,
353        #[auth]
354        auth_: &conjure_object::BearerToken,
355        #[body(serializer = conjure_http::client::StdRequestSerializer)]
356        request: &super::super::super::objects::scout::notebook::api::CreateNotebookRequest,
357    ) -> Result<
358        super::super::super::objects::scout::notebook::api::Notebook,
359        conjure_http::private::Error,
360    >;
361    /// Updates the contents of a workbook.
362    #[endpoint(
363        method = PUT,
364        path = "/scout/v2/notebook/{rid}",
365        name = "update",
366        accept = conjure_http::client::StdResponseDeserializer
367    )]
368    async fn update(
369        &self,
370        #[auth]
371        auth_: &conjure_object::BearerToken,
372        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
373        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
374        #[body(serializer = conjure_http::client::StdRequestSerializer)]
375        request: &super::super::super::objects::scout::notebook::api::UpdateNotebookRequest,
376    ) -> Result<
377        super::super::super::objects::scout::notebook::api::Notebook,
378        conjure_http::private::Error,
379    >;
380    #[endpoint(
381        method = GET,
382        path = "/scout/v2/notebook/{rid}",
383        name = "get",
384        accept = conjure_http::client::StdResponseDeserializer
385    )]
386    async fn get(
387        &self,
388        #[auth]
389        auth_: &conjure_object::BearerToken,
390        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
391        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
392        #[query(
393            name = "snapshot",
394            encoder = conjure_http::client::conjure::PlainSeqEncoder
395        )]
396        snapshot: Option<&super::super::super::objects::scout::rids::api::SnapshotRid>,
397    ) -> Result<
398        super::super::super::objects::scout::notebook::api::Notebook,
399        conjure_http::private::Error,
400    >;
401    #[endpoint(
402        method = POST,
403        path = "/scout/v2/notebook/batch-get",
404        name = "batchGet",
405        accept = conjure_http::client::conjure::CollectionResponseDeserializer
406    )]
407    async fn batch_get(
408        &self,
409        #[auth]
410        auth_: &conjure_object::BearerToken,
411        #[body(serializer = conjure_http::client::StdRequestSerializer)]
412        rids: &std::collections::BTreeSet<
413            super::super::super::objects::scout::rids::api::NotebookRid,
414        >,
415    ) -> Result<
416        std::collections::BTreeSet<
417            super::super::super::objects::scout::notebook::api::Notebook,
418        >,
419        conjure_http::private::Error,
420    >;
421    #[endpoint(
422        method = POST,
423        path = "/scout/v2/notebook/batch-get-metadata",
424        name = "batchGetMetadata",
425        accept = conjure_http::client::conjure::CollectionResponseDeserializer
426    )]
427    async fn batch_get_metadata(
428        &self,
429        #[auth]
430        auth_: &conjure_object::BearerToken,
431        #[body(serializer = conjure_http::client::StdRequestSerializer)]
432        rids: &std::collections::BTreeSet<
433            super::super::super::objects::scout::rids::api::NotebookRid,
434        >,
435    ) -> Result<
436        std::collections::BTreeSet<
437            super::super::super::objects::scout::notebook::api::NotebookMetadataWithRid,
438        >,
439        conjure_http::private::Error,
440    >;
441    /// Updates metadata about a workbook, but not its contents.
442    #[endpoint(
443        method = PUT,
444        path = "/scout/v2/notebook/{rid}/update-metadata",
445        name = "updateMetadata",
446        accept = conjure_http::client::StdResponseDeserializer
447    )]
448    async fn update_metadata(
449        &self,
450        #[auth]
451        auth_: &conjure_object::BearerToken,
452        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
453        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
454        #[body(serializer = conjure_http::client::StdRequestSerializer)]
455        request: &super::super::super::objects::scout::notebook::api::UpdateNotebookMetadataRequest,
456    ) -> Result<
457        super::super::super::objects::scout::notebook::api::NotebookMetadata,
458        conjure_http::private::Error,
459    >;
460    /// Returns the set of all ref names used by the workbook.
461    #[endpoint(
462        method = GET,
463        path = "/scout/v2/notebook/{rid}/ref-names",
464        name = "getUsedRefNames",
465        accept = conjure_http::client::conjure::CollectionResponseDeserializer
466    )]
467    async fn get_used_ref_names(
468        &self,
469        #[auth]
470        auth_: &conjure_object::BearerToken,
471        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
472        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
473    ) -> Result<
474        std::collections::BTreeSet<
475            super::super::super::objects::scout::api::DataSourceRefName,
476        >,
477        conjure_http::private::Error,
478    >;
479    /// Updates the data source ref names for all variables used in the workbook.
480    #[endpoint(
481        method = POST,
482        path = "/scout/v2/notebook/{rid}/update-ref-names",
483        name = "updateRefNames",
484        accept = conjure_http::client::StdResponseDeserializer
485    )]
486    async fn update_ref_names(
487        &self,
488        #[auth]
489        auth_: &conjure_object::BearerToken,
490        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
491        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
492        #[body(serializer = conjure_http::client::StdRequestSerializer)]
493        request: &super::super::super::objects::scout::notebook::api::UpdateRefNameRequest,
494    ) -> Result<
495        super::super::super::objects::scout::notebook::api::Notebook,
496        conjure_http::private::Error,
497    >;
498    /// Returns all properties (key value pairs) and labels that have been previously used on workbook. These can
499    /// be used to organize workbooks.
500    #[endpoint(
501        method = GET,
502        path = "/scout/v2/notebook/get-all-labels-properties",
503        name = "getAllLabelsAndProperties",
504        accept = conjure_http::client::StdResponseDeserializer
505    )]
506    async fn get_all_labels_and_properties(
507        &self,
508        #[auth]
509        auth_: &conjure_object::BearerToken,
510        #[query(
511            name = "workspaces",
512            encoder = conjure_http::client::conjure::PlainSeqEncoder
513        )]
514        workspaces: &std::collections::BTreeSet<
515            super::super::super::objects::api::rids::WorkspaceRid,
516        >,
517    ) -> Result<
518        super::super::super::objects::scout::notebook::api::GetAllLabelsAndPropertiesResponse,
519        conjure_http::private::Error,
520    >;
521    #[endpoint(
522        method = POST,
523        path = "/scout/v2/notebook/search",
524        name = "search",
525        accept = conjure_http::client::StdResponseDeserializer
526    )]
527    async fn search(
528        &self,
529        #[auth]
530        auth_: &conjure_object::BearerToken,
531        #[body(serializer = conjure_http::client::StdRequestSerializer)]
532        request: &super::super::super::objects::scout::notebook::api::SearchNotebooksRequest,
533    ) -> Result<
534        super::super::super::objects::scout::notebook::api::SearchNotebooksResponse,
535        conjure_http::private::Error,
536    >;
537    /// Batch edits metadata across multiple workbooks. Supports rename/merge for labels and properties.
538    /// If more than 1000 workbooks are targeted, this endpoint will throw a 400.
539    #[endpoint(
540        method = POST,
541        path = "/scout/v2/notebook/metadata/batch-edit",
542        name = "batchEditNotebookMetadata",
543        accept = conjure_http::client::StdResponseDeserializer
544    )]
545    async fn batch_edit_notebook_metadata(
546        &self,
547        #[auth]
548        auth_: &conjure_object::BearerToken,
549        #[body(serializer = conjure_http::client::StdRequestSerializer)]
550        request: &super::super::super::objects::scout::notebook::api::BatchEditNotebookMetadataRequest,
551    ) -> Result<
552        super::super::super::objects::scout::notebook::api::BatchEditNotebookMetadataResponse,
553        conjure_http::private::Error,
554    >;
555    /// Makes a workbook uneditable.
556    /// Deprecated: use the isLocked field on updateMetadata instead.
557    #[endpoint(
558        method = PUT,
559        path = "/scout/v2/notebook/{rid}/lock",
560        name = "lock",
561        accept = conjure_http::client::conjure::EmptyResponseDeserializer
562    )]
563    async fn lock(
564        &self,
565        #[auth]
566        auth_: &conjure_object::BearerToken,
567        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
568        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
569    ) -> Result<(), conjure_http::private::Error>;
570    /// Unlocks a workbook for editing.
571    /// Deprecated: use the isLocked field on updateMetadata instead.
572    #[endpoint(
573        method = PUT,
574        path = "/scout/v2/notebook/{rid}/unlock",
575        name = "unlock",
576        accept = conjure_http::client::conjure::EmptyResponseDeserializer
577    )]
578    async fn unlock(
579        &self,
580        #[auth]
581        auth_: &conjure_object::BearerToken,
582        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
583        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
584    ) -> Result<(), conjure_http::private::Error>;
585    /// Archives a workbook, which excludes it from search and hides it from being publicly visible, but does not
586    /// permanently delete it. Archived workbooks can be unarchived.
587    #[endpoint(
588        method = PUT,
589        path = "/scout/v2/notebook/{rid}/archive",
590        name = "archive",
591        accept = conjure_http::client::conjure::EmptyResponseDeserializer
592    )]
593    async fn archive(
594        &self,
595        #[auth]
596        auth_: &conjure_object::BearerToken,
597        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
598        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
599    ) -> Result<(), conjure_http::private::Error>;
600    /// Makes a previously archived workbook searchable.
601    #[endpoint(
602        method = PUT,
603        path = "/scout/v2/notebook/{rid}/unarchive",
604        name = "unarchive",
605        accept = conjure_http::client::conjure::EmptyResponseDeserializer
606    )]
607    async fn unarchive(
608        &self,
609        #[auth]
610        auth_: &conjure_object::BearerToken,
611        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
612        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
613    ) -> Result<(), conjure_http::private::Error>;
614    /// The workbook will be deleted and is not recoverable. For soft deletion, use archive.
615    #[endpoint(
616        method = DELETE,
617        path = "/scout/v2/notebook/{rid}",
618        name = "delete",
619        accept = conjure_http::client::conjure::EmptyResponseDeserializer
620    )]
621    async fn delete(
622        &self,
623        #[auth]
624        auth_: &conjure_object::BearerToken,
625        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
626        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
627    ) -> Result<(), conjure_http::private::Error>;
628    /// Duplicates an existing workbook, copying its content (layout, charts, variables, pinned events)
629    /// and optionally overriding metadata fields such as title, description, data scope, labels,
630    /// and properties. Returns the newly created workbook.
631    #[endpoint(
632        method = POST,
633        path = "/scout/v2/notebook/{rid}/duplicate",
634        name = "duplicate",
635        accept = conjure_http::client::StdResponseDeserializer
636    )]
637    async fn duplicate(
638        &self,
639        #[auth]
640        auth_: &conjure_object::BearerToken,
641        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
642        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
643        #[body(serializer = conjure_http::client::StdRequestSerializer)]
644        request: &super::super::super::objects::scout::notebook::api::DuplicateNotebookRequest,
645    ) -> Result<
646        super::super::super::objects::scout::notebook::api::Notebook,
647        conjure_http::private::Error,
648    >;
649    /// Retrieves the snapshot history for a given workbook. These are sorted in reverse chronological order. Results
650    /// are limited by page size.
651    #[endpoint(
652        method = POST,
653        path = "/scout/v2/notebook/snapshot-history",
654        name = "getSnapshotHistory",
655        accept = conjure_http::client::StdResponseDeserializer
656    )]
657    async fn get_snapshot_history(
658        &self,
659        #[auth]
660        auth_: &conjure_object::BearerToken,
661        #[body(serializer = conjure_http::client::StdRequestSerializer)]
662        request: &super::super::super::objects::scout::notebook::api::GetSnapshotHistoryRequest,
663    ) -> Result<
664        super::super::super::objects::scout::notebook::api::GetSnapshotHistoryResponse,
665        conjure_http::private::Error,
666    >;
667}
668/// NotebookService manages workbooks (formerly known as notebooks).
669#[conjure_http::conjure_client(name = "NotebookService", local)]
670pub trait LocalAsyncNotebookService<
671    #[response_body]
672    I: conjure_http::private::Stream<
673            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
674        >,
675> {
676    /// Creates a new workbook. The workbook will be associated with the provided run. If the run does not exist,
677    /// a RunNotFound error will be thrown.
678    #[endpoint(
679        method = POST,
680        path = "/scout/v2/notebook",
681        name = "create",
682        accept = conjure_http::client::StdResponseDeserializer
683    )]
684    async fn create(
685        &self,
686        #[auth]
687        auth_: &conjure_object::BearerToken,
688        #[body(serializer = conjure_http::client::StdRequestSerializer)]
689        request: &super::super::super::objects::scout::notebook::api::CreateNotebookRequest,
690    ) -> Result<
691        super::super::super::objects::scout::notebook::api::Notebook,
692        conjure_http::private::Error,
693    >;
694    /// Updates the contents of a workbook.
695    #[endpoint(
696        method = PUT,
697        path = "/scout/v2/notebook/{rid}",
698        name = "update",
699        accept = conjure_http::client::StdResponseDeserializer
700    )]
701    async fn update(
702        &self,
703        #[auth]
704        auth_: &conjure_object::BearerToken,
705        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
706        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
707        #[body(serializer = conjure_http::client::StdRequestSerializer)]
708        request: &super::super::super::objects::scout::notebook::api::UpdateNotebookRequest,
709    ) -> Result<
710        super::super::super::objects::scout::notebook::api::Notebook,
711        conjure_http::private::Error,
712    >;
713    #[endpoint(
714        method = GET,
715        path = "/scout/v2/notebook/{rid}",
716        name = "get",
717        accept = conjure_http::client::StdResponseDeserializer
718    )]
719    async fn get(
720        &self,
721        #[auth]
722        auth_: &conjure_object::BearerToken,
723        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
724        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
725        #[query(
726            name = "snapshot",
727            encoder = conjure_http::client::conjure::PlainSeqEncoder
728        )]
729        snapshot: Option<&super::super::super::objects::scout::rids::api::SnapshotRid>,
730    ) -> Result<
731        super::super::super::objects::scout::notebook::api::Notebook,
732        conjure_http::private::Error,
733    >;
734    #[endpoint(
735        method = POST,
736        path = "/scout/v2/notebook/batch-get",
737        name = "batchGet",
738        accept = conjure_http::client::conjure::CollectionResponseDeserializer
739    )]
740    async fn batch_get(
741        &self,
742        #[auth]
743        auth_: &conjure_object::BearerToken,
744        #[body(serializer = conjure_http::client::StdRequestSerializer)]
745        rids: &std::collections::BTreeSet<
746            super::super::super::objects::scout::rids::api::NotebookRid,
747        >,
748    ) -> Result<
749        std::collections::BTreeSet<
750            super::super::super::objects::scout::notebook::api::Notebook,
751        >,
752        conjure_http::private::Error,
753    >;
754    #[endpoint(
755        method = POST,
756        path = "/scout/v2/notebook/batch-get-metadata",
757        name = "batchGetMetadata",
758        accept = conjure_http::client::conjure::CollectionResponseDeserializer
759    )]
760    async fn batch_get_metadata(
761        &self,
762        #[auth]
763        auth_: &conjure_object::BearerToken,
764        #[body(serializer = conjure_http::client::StdRequestSerializer)]
765        rids: &std::collections::BTreeSet<
766            super::super::super::objects::scout::rids::api::NotebookRid,
767        >,
768    ) -> Result<
769        std::collections::BTreeSet<
770            super::super::super::objects::scout::notebook::api::NotebookMetadataWithRid,
771        >,
772        conjure_http::private::Error,
773    >;
774    /// Updates metadata about a workbook, but not its contents.
775    #[endpoint(
776        method = PUT,
777        path = "/scout/v2/notebook/{rid}/update-metadata",
778        name = "updateMetadata",
779        accept = conjure_http::client::StdResponseDeserializer
780    )]
781    async fn update_metadata(
782        &self,
783        #[auth]
784        auth_: &conjure_object::BearerToken,
785        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
786        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
787        #[body(serializer = conjure_http::client::StdRequestSerializer)]
788        request: &super::super::super::objects::scout::notebook::api::UpdateNotebookMetadataRequest,
789    ) -> Result<
790        super::super::super::objects::scout::notebook::api::NotebookMetadata,
791        conjure_http::private::Error,
792    >;
793    /// Returns the set of all ref names used by the workbook.
794    #[endpoint(
795        method = GET,
796        path = "/scout/v2/notebook/{rid}/ref-names",
797        name = "getUsedRefNames",
798        accept = conjure_http::client::conjure::CollectionResponseDeserializer
799    )]
800    async fn get_used_ref_names(
801        &self,
802        #[auth]
803        auth_: &conjure_object::BearerToken,
804        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
805        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
806    ) -> Result<
807        std::collections::BTreeSet<
808            super::super::super::objects::scout::api::DataSourceRefName,
809        >,
810        conjure_http::private::Error,
811    >;
812    /// Updates the data source ref names for all variables used in the workbook.
813    #[endpoint(
814        method = POST,
815        path = "/scout/v2/notebook/{rid}/update-ref-names",
816        name = "updateRefNames",
817        accept = conjure_http::client::StdResponseDeserializer
818    )]
819    async fn update_ref_names(
820        &self,
821        #[auth]
822        auth_: &conjure_object::BearerToken,
823        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
824        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
825        #[body(serializer = conjure_http::client::StdRequestSerializer)]
826        request: &super::super::super::objects::scout::notebook::api::UpdateRefNameRequest,
827    ) -> Result<
828        super::super::super::objects::scout::notebook::api::Notebook,
829        conjure_http::private::Error,
830    >;
831    /// Returns all properties (key value pairs) and labels that have been previously used on workbook. These can
832    /// be used to organize workbooks.
833    #[endpoint(
834        method = GET,
835        path = "/scout/v2/notebook/get-all-labels-properties",
836        name = "getAllLabelsAndProperties",
837        accept = conjure_http::client::StdResponseDeserializer
838    )]
839    async fn get_all_labels_and_properties(
840        &self,
841        #[auth]
842        auth_: &conjure_object::BearerToken,
843        #[query(
844            name = "workspaces",
845            encoder = conjure_http::client::conjure::PlainSeqEncoder
846        )]
847        workspaces: &std::collections::BTreeSet<
848            super::super::super::objects::api::rids::WorkspaceRid,
849        >,
850    ) -> Result<
851        super::super::super::objects::scout::notebook::api::GetAllLabelsAndPropertiesResponse,
852        conjure_http::private::Error,
853    >;
854    #[endpoint(
855        method = POST,
856        path = "/scout/v2/notebook/search",
857        name = "search",
858        accept = conjure_http::client::StdResponseDeserializer
859    )]
860    async fn search(
861        &self,
862        #[auth]
863        auth_: &conjure_object::BearerToken,
864        #[body(serializer = conjure_http::client::StdRequestSerializer)]
865        request: &super::super::super::objects::scout::notebook::api::SearchNotebooksRequest,
866    ) -> Result<
867        super::super::super::objects::scout::notebook::api::SearchNotebooksResponse,
868        conjure_http::private::Error,
869    >;
870    /// Batch edits metadata across multiple workbooks. Supports rename/merge for labels and properties.
871    /// If more than 1000 workbooks are targeted, this endpoint will throw a 400.
872    #[endpoint(
873        method = POST,
874        path = "/scout/v2/notebook/metadata/batch-edit",
875        name = "batchEditNotebookMetadata",
876        accept = conjure_http::client::StdResponseDeserializer
877    )]
878    async fn batch_edit_notebook_metadata(
879        &self,
880        #[auth]
881        auth_: &conjure_object::BearerToken,
882        #[body(serializer = conjure_http::client::StdRequestSerializer)]
883        request: &super::super::super::objects::scout::notebook::api::BatchEditNotebookMetadataRequest,
884    ) -> Result<
885        super::super::super::objects::scout::notebook::api::BatchEditNotebookMetadataResponse,
886        conjure_http::private::Error,
887    >;
888    /// Makes a workbook uneditable.
889    /// Deprecated: use the isLocked field on updateMetadata instead.
890    #[endpoint(
891        method = PUT,
892        path = "/scout/v2/notebook/{rid}/lock",
893        name = "lock",
894        accept = conjure_http::client::conjure::EmptyResponseDeserializer
895    )]
896    async fn lock(
897        &self,
898        #[auth]
899        auth_: &conjure_object::BearerToken,
900        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
901        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
902    ) -> Result<(), conjure_http::private::Error>;
903    /// Unlocks a workbook for editing.
904    /// Deprecated: use the isLocked field on updateMetadata instead.
905    #[endpoint(
906        method = PUT,
907        path = "/scout/v2/notebook/{rid}/unlock",
908        name = "unlock",
909        accept = conjure_http::client::conjure::EmptyResponseDeserializer
910    )]
911    async fn unlock(
912        &self,
913        #[auth]
914        auth_: &conjure_object::BearerToken,
915        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
916        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
917    ) -> Result<(), conjure_http::private::Error>;
918    /// Archives a workbook, which excludes it from search and hides it from being publicly visible, but does not
919    /// permanently delete it. Archived workbooks can be unarchived.
920    #[endpoint(
921        method = PUT,
922        path = "/scout/v2/notebook/{rid}/archive",
923        name = "archive",
924        accept = conjure_http::client::conjure::EmptyResponseDeserializer
925    )]
926    async fn archive(
927        &self,
928        #[auth]
929        auth_: &conjure_object::BearerToken,
930        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
931        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
932    ) -> Result<(), conjure_http::private::Error>;
933    /// Makes a previously archived workbook searchable.
934    #[endpoint(
935        method = PUT,
936        path = "/scout/v2/notebook/{rid}/unarchive",
937        name = "unarchive",
938        accept = conjure_http::client::conjure::EmptyResponseDeserializer
939    )]
940    async fn unarchive(
941        &self,
942        #[auth]
943        auth_: &conjure_object::BearerToken,
944        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
945        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
946    ) -> Result<(), conjure_http::private::Error>;
947    /// The workbook will be deleted and is not recoverable. For soft deletion, use archive.
948    #[endpoint(
949        method = DELETE,
950        path = "/scout/v2/notebook/{rid}",
951        name = "delete",
952        accept = conjure_http::client::conjure::EmptyResponseDeserializer
953    )]
954    async fn delete(
955        &self,
956        #[auth]
957        auth_: &conjure_object::BearerToken,
958        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
959        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
960    ) -> Result<(), conjure_http::private::Error>;
961    /// Duplicates an existing workbook, copying its content (layout, charts, variables, pinned events)
962    /// and optionally overriding metadata fields such as title, description, data scope, labels,
963    /// and properties. Returns the newly created workbook.
964    #[endpoint(
965        method = POST,
966        path = "/scout/v2/notebook/{rid}/duplicate",
967        name = "duplicate",
968        accept = conjure_http::client::StdResponseDeserializer
969    )]
970    async fn duplicate(
971        &self,
972        #[auth]
973        auth_: &conjure_object::BearerToken,
974        #[path(name = "rid", encoder = conjure_http::client::conjure::PlainEncoder)]
975        rid: &super::super::super::objects::scout::rids::api::NotebookRid,
976        #[body(serializer = conjure_http::client::StdRequestSerializer)]
977        request: &super::super::super::objects::scout::notebook::api::DuplicateNotebookRequest,
978    ) -> Result<
979        super::super::super::objects::scout::notebook::api::Notebook,
980        conjure_http::private::Error,
981    >;
982    /// Retrieves the snapshot history for a given workbook. These are sorted in reverse chronological order. Results
983    /// are limited by page size.
984    #[endpoint(
985        method = POST,
986        path = "/scout/v2/notebook/snapshot-history",
987        name = "getSnapshotHistory",
988        accept = conjure_http::client::StdResponseDeserializer
989    )]
990    async fn get_snapshot_history(
991        &self,
992        #[auth]
993        auth_: &conjure_object::BearerToken,
994        #[body(serializer = conjure_http::client::StdRequestSerializer)]
995        request: &super::super::super::objects::scout::notebook::api::GetSnapshotHistoryRequest,
996    ) -> Result<
997        super::super::super::objects::scout::notebook::api::GetSnapshotHistoryResponse,
998        conjure_http::private::Error,
999    >;
1000}