@inneropen/marvin-sdk 1.0.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2698 @@
1
+ import { H as HttpClient } from './HttpClient-CLtgQGXH.cjs';
2
+
3
+ interface components {
4
+ schemas: {
5
+ /**
6
+ * APIClientCreate
7
+ * @description Schema for creating a new API client.
8
+ */
9
+ APIClientCreate: {
10
+ /** Name */
11
+ name: string;
12
+ /** Slug */
13
+ slug?: string | null;
14
+ /** Description */
15
+ description?: string | null;
16
+ /** Permissions */
17
+ permissions?: {
18
+ [key: string]: unknown;
19
+ } | null;
20
+ };
21
+ /**
22
+ * APIClientRead
23
+ * @description Full schema for reading an API client.
24
+ */
25
+ APIClientRead: {
26
+ /**
27
+ * Id
28
+ * Format: uuid4
29
+ */
30
+ id: string;
31
+ /** Name */
32
+ name: string;
33
+ /** Slug */
34
+ slug: string;
35
+ /** Description */
36
+ description?: string | null;
37
+ /** Enabled */
38
+ enabled: boolean;
39
+ /**
40
+ * Groupid
41
+ * Format: uuid4
42
+ */
43
+ groupId: string;
44
+ /** Permissions */
45
+ permissions: {
46
+ [key: string]: unknown;
47
+ };
48
+ /** Lastusedat */
49
+ lastUsedAt?: string | null;
50
+ /** Createdat */
51
+ createdAt?: string | null;
52
+ /** Updateat */
53
+ updateAt?: string | null;
54
+ /** Revokedat */
55
+ revokedAt?: string | null;
56
+ };
57
+ /**
58
+ * APIClientUpdate
59
+ * @description Schema for updating an API client.
60
+ */
61
+ APIClientUpdate: {
62
+ /** Name */
63
+ name?: string | null;
64
+ /** Description */
65
+ description?: string | null;
66
+ /** Permissions */
67
+ permissions?: {
68
+ [key: string]: unknown;
69
+ } | null;
70
+ /** Enabled */
71
+ enabled?: boolean | null;
72
+ };
73
+ /**
74
+ * APIClientWithToken
75
+ * @description Response when creating or rotating an API client token - includes plaintext token ONCE.
76
+ */
77
+ APIClientWithToken: {
78
+ /**
79
+ * Id
80
+ * Format: uuid4
81
+ */
82
+ id: string;
83
+ /**
84
+ * Groupid
85
+ * Format: uuid4
86
+ */
87
+ groupId: string;
88
+ /** Name */
89
+ name: string;
90
+ /** Slug */
91
+ slug: string;
92
+ /** Description */
93
+ description?: string | null;
94
+ /** Permissions */
95
+ permissions: {
96
+ [key: string]: unknown;
97
+ };
98
+ /** Token */
99
+ token: string;
100
+ /** Enabled */
101
+ enabled: boolean;
102
+ /** Createdat */
103
+ createdAt?: string | null;
104
+ };
105
+ /**
106
+ * AdminAboutInfo
107
+ * @description Schema for detailed application information, extending `AppInfo` with
108
+ * additional details relevant for administrators.
109
+ */
110
+ AdminAboutInfo: {
111
+ /** Production */
112
+ production: boolean;
113
+ /** Version */
114
+ version: string;
115
+ /** Demostatus */
116
+ demoStatus: boolean;
117
+ /** Allowsignup */
118
+ allowSignup: boolean;
119
+ /** Defaultgroupslug */
120
+ defaultGroupSlug?: string | null;
121
+ /** Defaulthouseholdslug */
122
+ defaultHouseholdSlug?: string | null;
123
+ /** Enableoidc */
124
+ enableOidc: boolean;
125
+ /** Oidcredirect */
126
+ oidcRedirect: boolean;
127
+ /** Oidcprovidername */
128
+ oidcProviderName: string;
129
+ /** Enableopenai */
130
+ enableOpenai: boolean;
131
+ /** Enableopenaiimageservices */
132
+ enableOpenaiImageServices: boolean;
133
+ /** Versionlatest */
134
+ versionLatest: string;
135
+ /** Apiport */
136
+ apiPort: number;
137
+ /** Apidocs */
138
+ apiDocs: boolean;
139
+ /** Dbtype */
140
+ dbType: string;
141
+ /** Dburl */
142
+ dbUrl?: string | null;
143
+ /** Defaultgroup */
144
+ defaultGroup: string;
145
+ /** Buildid */
146
+ buildId: string;
147
+ };
148
+ /**
149
+ * AppInfo
150
+ * @description Schema for general, publicly accessible application information.
151
+ */
152
+ AppInfo: {
153
+ /** Production */
154
+ production: boolean;
155
+ /** Version */
156
+ version: string;
157
+ };
158
+ /**
159
+ * AppStatistics
160
+ * @description Schema for comprehensive application statistics.
161
+ */
162
+ AppStatistics: {
163
+ /** Totalusers */
164
+ totalUsers: number;
165
+ /** Totalgroups */
166
+ totalGroups: number;
167
+ /** Totalentries */
168
+ totalEntries: number;
169
+ /** Totalcollections */
170
+ totalCollections: number;
171
+ /** Totalentrytypes */
172
+ totalEntryTypes: number;
173
+ /** Totalassets */
174
+ totalAssets: number;
175
+ /** Totalresources */
176
+ totalResources: number;
177
+ /** Totalapitokens */
178
+ totalApiTokens: number;
179
+ /** Totalapiclients */
180
+ totalApiClients: number;
181
+ /** Totalwebhooks */
182
+ totalWebhooks: number;
183
+ };
184
+ /**
185
+ * AppTheme
186
+ * @description Schema defining the color palette for the application's light and dark themes.
187
+ * Provides default hex color values for various UI elements, intended for client-side use.
188
+ */
189
+ AppTheme: {
190
+ /**
191
+ * Lightprimary
192
+ * @default #E58325
193
+ */
194
+ lightPrimary: string;
195
+ /**
196
+ * Lightaccent
197
+ * @default #007A99
198
+ */
199
+ lightAccent: string;
200
+ /**
201
+ * Lightsecondary
202
+ * @default #973542
203
+ */
204
+ lightSecondary: string;
205
+ /**
206
+ * Lightsuccess
207
+ * @default #43A047
208
+ */
209
+ lightSuccess: string;
210
+ /**
211
+ * Lightinfo
212
+ * @default #1976D2
213
+ */
214
+ lightInfo: string;
215
+ /**
216
+ * Lightwarning
217
+ * @default #FF6D00
218
+ */
219
+ lightWarning: string;
220
+ /**
221
+ * Lighterror
222
+ * @default #EF5350
223
+ */
224
+ lightError: string;
225
+ /**
226
+ * Darkprimary
227
+ * @default #E58325
228
+ */
229
+ darkPrimary: string;
230
+ /**
231
+ * Darkaccent
232
+ * @default #007A99
233
+ */
234
+ darkAccent: string;
235
+ /**
236
+ * Darksecondary
237
+ * @default #973542
238
+ */
239
+ darkSecondary: string;
240
+ /**
241
+ * Darksuccess
242
+ * @default #43A047
243
+ */
244
+ darkSuccess: string;
245
+ /**
246
+ * Darkinfo
247
+ * @default #1976D2
248
+ */
249
+ darkInfo: string;
250
+ /**
251
+ * Darkwarning
252
+ * @default #FF6D00
253
+ */
254
+ darkWarning: string;
255
+ /**
256
+ * Darkerror
257
+ * @default #EF5350
258
+ */
259
+ darkError: string;
260
+ };
261
+ /**
262
+ * AssetCreate
263
+ * @description Schema for creating a new asset.
264
+ */
265
+ AssetCreate: {
266
+ /** Slug */
267
+ slug: string;
268
+ /** Name */
269
+ name: string;
270
+ /** Filepath */
271
+ filePath: string;
272
+ /** Filesize */
273
+ fileSize: number;
274
+ /** Mimetype */
275
+ mimeType: string;
276
+ /** Width */
277
+ width?: number | null;
278
+ /** Height */
279
+ height?: number | null;
280
+ /** Alttext */
281
+ altText?: string | null;
282
+ /** Description */
283
+ description?: string | null;
284
+ /** Metadata */
285
+ metadata?: {
286
+ [key: string]: unknown;
287
+ } | null;
288
+ };
289
+ /**
290
+ * AssetRead
291
+ * @description Full schema for reading an asset.
292
+ */
293
+ AssetRead: {
294
+ /**
295
+ * Id
296
+ * Format: uuid4
297
+ */
298
+ id: string;
299
+ /** Slug */
300
+ slug: string;
301
+ /** Name */
302
+ name: string;
303
+ /** Mimetype */
304
+ mimeType: string;
305
+ /** Alttext */
306
+ altText?: string | null;
307
+ /** Filesize */
308
+ fileSize: number;
309
+ /** Width */
310
+ width?: number | null;
311
+ /** Height */
312
+ height?: number | null;
313
+ /** Description */
314
+ description?: string | null;
315
+ /** Metadata */
316
+ metadata_?: {
317
+ [key: string]: unknown;
318
+ } | null;
319
+ /**
320
+ * Uploadedby
321
+ * Format: uuid4
322
+ */
323
+ uploadedBy: string;
324
+ };
325
+ /**
326
+ * AuthMethod
327
+ * @description Enumeration for the authentication methods a user can be associated with.
328
+ * @enum {string}
329
+ */
330
+ AuthMethod: "MARVIN" | "LDAP" | "OIDC";
331
+ /** Body_debug_openai_api_admin_debug_openai_post */
332
+ Body_debug_openai_api_admin_debug_openai_post: {
333
+ /** Image */
334
+ image?: string | null;
335
+ };
336
+ /** Body_get_token_api_auth_token_post */
337
+ Body_get_token_api_auth_token_post: {
338
+ /**
339
+ * Username
340
+ * @default
341
+ */
342
+ username: string;
343
+ /**
344
+ * Password
345
+ * @default
346
+ */
347
+ password: string;
348
+ /**
349
+ * Remember Me
350
+ * @default false
351
+ */
352
+ remember_me: boolean;
353
+ };
354
+ /**
355
+ * ChangePassword
356
+ * @description Schema for a password change request.
357
+ * Requires the user's current password and the new password (min length 8).
358
+ */
359
+ ChangePassword: {
360
+ /**
361
+ * Currentpassword
362
+ * @default
363
+ */
364
+ currentPassword: string;
365
+ /** Newpassword */
366
+ newPassword: string;
367
+ };
368
+ /**
369
+ * CheckAppConfig
370
+ * @description Schema representing the status of various critical application configurations.
371
+ * Used to quickly assess if key features are configured and ready for use.
372
+ */
373
+ CheckAppConfig: {
374
+ /** Emailready */
375
+ emailReady: boolean;
376
+ /** Ldapready */
377
+ ldapReady: boolean;
378
+ /** Oidcready */
379
+ oidcReady: boolean;
380
+ /** Enableopenai */
381
+ enableOpenai: boolean;
382
+ /** Appriseready */
383
+ appriseReady: boolean;
384
+ /** Baseurlset */
385
+ baseUrlSet: boolean;
386
+ /** Isuptodate */
387
+ isUpToDate: boolean;
388
+ };
389
+ /**
390
+ * CollectionCreate
391
+ * @description Schema for creating a new collection.
392
+ */
393
+ CollectionCreate: {
394
+ /** Name */
395
+ name: string;
396
+ /** Slug */
397
+ slug?: string | null;
398
+ /** Description */
399
+ description?: string | null;
400
+ /**
401
+ * Sortorder
402
+ * @default 0
403
+ */
404
+ sortOrder: number;
405
+ /** Icon */
406
+ icon?: string | null;
407
+ /** Color */
408
+ color?: string | null;
409
+ /**
410
+ * Issmart
411
+ * @default false
412
+ */
413
+ isSmart: boolean;
414
+ /** Smartrules */
415
+ smartRules?: {
416
+ [key: string]: unknown;
417
+ } | null;
418
+ };
419
+ /**
420
+ * CollectionRead
421
+ * @description Full schema for reading a collection.
422
+ */
423
+ CollectionRead: {
424
+ /**
425
+ * Id
426
+ * Format: uuid4
427
+ */
428
+ id: string;
429
+ /** Name */
430
+ name: string;
431
+ /** Slug */
432
+ slug: string;
433
+ /** Description */
434
+ description?: string | null;
435
+ /** Sortorder */
436
+ sortOrder: number;
437
+ /** Icon */
438
+ icon?: string | null;
439
+ /** Color */
440
+ color?: string | null;
441
+ /** Issmart */
442
+ isSmart: boolean;
443
+ /** Createdat */
444
+ createdAt?: string | null;
445
+ /** Updateat */
446
+ updateAt?: string | null;
447
+ /**
448
+ * Groupid
449
+ * Format: uuid4
450
+ */
451
+ groupId: string;
452
+ /** Smartrules */
453
+ smartRules?: {
454
+ [key: string]: unknown;
455
+ } | null;
456
+ };
457
+ /**
458
+ * CollectionUpdate
459
+ * @description Schema for updating a collection.
460
+ */
461
+ CollectionUpdate: {
462
+ /** Name */
463
+ name?: string | null;
464
+ /** Slug */
465
+ slug?: string | null;
466
+ /** Description */
467
+ description?: string | null;
468
+ /** Sortorder */
469
+ sortOrder?: number | null;
470
+ /** Icon */
471
+ icon?: string | null;
472
+ /** Color */
473
+ color?: string | null;
474
+ /** Issmart */
475
+ isSmart?: boolean | null;
476
+ /** Smartrules */
477
+ smartRules?: {
478
+ [key: string]: unknown;
479
+ } | null;
480
+ };
481
+ /**
482
+ * DebugResponse
483
+ * @description Schema for a standardized response from debugging endpoints.
484
+ *
485
+ * Indicates the success status of a debug operation and provides an optional
486
+ * response message or data string.
487
+ */
488
+ DebugResponse: {
489
+ /** Success */
490
+ success: boolean;
491
+ /** Response */
492
+ response?: string | null;
493
+ };
494
+ /**
495
+ * EmailInitationResponse
496
+ * @description Schema for the response after attempting to send an email invitation.
497
+ * Indicates success or failure and provides an error message if applicable.
498
+ */
499
+ EmailInitationResponse: {
500
+ /** Success */
501
+ success: boolean;
502
+ /** Error */
503
+ error?: string | null;
504
+ };
505
+ /**
506
+ * EmailInvitation
507
+ * @description Schema for the request body when sending an email invitation.
508
+ * Contains the recipient's email and the invitation token string.
509
+ */
510
+ EmailInvitation: {
511
+ /** Email */
512
+ email: string;
513
+ /** Token */
514
+ token: string;
515
+ };
516
+ /**
517
+ * EmailReady
518
+ * @description Schema indicating the readiness of the email (SMTP) service.
519
+ */
520
+ EmailReady: {
521
+ /** Ready */
522
+ ready: boolean;
523
+ };
524
+ /**
525
+ * EmailSuccess
526
+ * @description Schema for the response when an email operation (like sending a test email) is attempted.
527
+ * Indicates success or failure and provides an error message if applicable.
528
+ */
529
+ EmailSuccess: {
530
+ /** Success */
531
+ success: boolean;
532
+ /** Error */
533
+ error?: string | null;
534
+ };
535
+ /**
536
+ * EmailTest
537
+ * @description Schema for the request body when sending a test email.
538
+ * Specifies the recipient email address.
539
+ */
540
+ EmailTest: {
541
+ /** Email */
542
+ email: string;
543
+ };
544
+ /**
545
+ * EntryAssetRead
546
+ * @description Asset metadata plus entry-specific placement details.
547
+ */
548
+ EntryAssetRead: {
549
+ /** Role */
550
+ role?: string | null;
551
+ /** Usage */
552
+ usage?: string | null;
553
+ /**
554
+ * Position
555
+ * @default 0
556
+ */
557
+ position: number;
558
+ /** Focalpoint */
559
+ focalPoint?: string | null;
560
+ /** Caption */
561
+ caption?: string | null;
562
+ /** Placementmetadata */
563
+ placementMetadata?: {
564
+ [key: string]: unknown;
565
+ } | null;
566
+ /**
567
+ * Id
568
+ * Format: uuid4
569
+ */
570
+ id: string;
571
+ /** Slug */
572
+ slug: string;
573
+ /** Name */
574
+ name: string;
575
+ /** Mimetype */
576
+ mimeType: string;
577
+ /** Alttext */
578
+ altText?: string | null;
579
+ /** Filesize */
580
+ fileSize: number;
581
+ /** Width */
582
+ width?: number | null;
583
+ /** Height */
584
+ height?: number | null;
585
+ /** Description */
586
+ description?: string | null;
587
+ /** Metadata */
588
+ metadata_?: {
589
+ [key: string]: unknown;
590
+ } | null;
591
+ /**
592
+ * Uploadedby
593
+ * Format: uuid4
594
+ */
595
+ uploadedBy: string;
596
+ };
597
+ /**
598
+ * EntryCreate
599
+ * @description Schema for creating an entry.
600
+ */
601
+ EntryCreate: {
602
+ /**
603
+ * Entrytypeid
604
+ * Format: uuid4
605
+ */
606
+ entryTypeId: string;
607
+ /** Title */
608
+ title: string;
609
+ /** Slug */
610
+ slug?: string | null;
611
+ /** Summary */
612
+ summary?: string | null;
613
+ /** Description */
614
+ description?: string | null;
615
+ /** Contentmarkdown */
616
+ contentMarkdown?: string | null;
617
+ /**
618
+ * Status
619
+ * @default inbox
620
+ */
621
+ status: string;
622
+ /** Publishedat */
623
+ publishedAt?: string | null;
624
+ /** Metadatajson */
625
+ metadataJson?: {
626
+ [key: string]: unknown;
627
+ } | null;
628
+ };
629
+ /**
630
+ * EntryRead
631
+ * @description Schema for reading an entry.
632
+ */
633
+ EntryRead: {
634
+ /**
635
+ * Id
636
+ * Format: uuid4
637
+ */
638
+ id: string;
639
+ /**
640
+ * Groupid
641
+ * Format: uuid4
642
+ */
643
+ groupId: string;
644
+ /**
645
+ * Entrytypeid
646
+ * Format: uuid4
647
+ */
648
+ entryTypeId: string;
649
+ /** Title */
650
+ title: string;
651
+ /** Slug */
652
+ slug: string;
653
+ /** Summary */
654
+ summary?: string | null;
655
+ /** Description */
656
+ description?: string | null;
657
+ /** Contentmarkdown */
658
+ contentMarkdown?: string | null;
659
+ /** Status */
660
+ status: string;
661
+ /** Publishedat */
662
+ publishedAt?: string | null;
663
+ /** Metadatajson */
664
+ metadataJson?: {
665
+ [key: string]: unknown;
666
+ } | null;
667
+ /** Createdby */
668
+ createdBy?: string | null;
669
+ /** Createdat */
670
+ createdAt?: string | null;
671
+ /** Updateat */
672
+ updateAt?: string | null;
673
+ /**
674
+ * Resources
675
+ * @default []
676
+ */
677
+ resources: components["schemas"]["ResourceSummary"][];
678
+ /**
679
+ * Assets
680
+ * @default []
681
+ */
682
+ assets: components["schemas"]["EntryAssetRead"][];
683
+ /**
684
+ * Collections
685
+ * @default []
686
+ */
687
+ collections: string[];
688
+ };
689
+ /**
690
+ * EntryTypeCreate
691
+ * @description Schema for creating an entry type.
692
+ */
693
+ EntryTypeCreate: {
694
+ /** Name */
695
+ name: string;
696
+ /** Slug */
697
+ slug?: string | null;
698
+ /** Icon */
699
+ icon?: string | null;
700
+ /** Color */
701
+ color?: string | null;
702
+ /** Description */
703
+ description?: string | null;
704
+ /**
705
+ * Sortorder
706
+ * @default 0
707
+ */
708
+ sortOrder: number;
709
+ /**
710
+ * Issystem
711
+ * @default false
712
+ */
713
+ isSystem: boolean;
714
+ };
715
+ /**
716
+ * EntryTypeRead
717
+ * @description Schema for reading an entry type.
718
+ */
719
+ EntryTypeRead: {
720
+ /**
721
+ * Id
722
+ * Format: uuid4
723
+ */
724
+ id: string;
725
+ /**
726
+ * Groupid
727
+ * Format: uuid4
728
+ */
729
+ groupId: string;
730
+ /** Name */
731
+ name: string;
732
+ /** Slug */
733
+ slug: string;
734
+ /** Icon */
735
+ icon?: string | null;
736
+ /** Color */
737
+ color?: string | null;
738
+ /** Description */
739
+ description?: string | null;
740
+ /** Sortorder */
741
+ sortOrder: number;
742
+ /** Issystem */
743
+ isSystem: boolean;
744
+ /** Createdat */
745
+ createdAt?: string | null;
746
+ /** Updateat */
747
+ updateAt?: string | null;
748
+ };
749
+ /**
750
+ * EntryTypeUpdate
751
+ * @description Schema for patching an entry type.
752
+ */
753
+ EntryTypeUpdate: {
754
+ /** Name */
755
+ name?: string | null;
756
+ /** Slug */
757
+ slug?: string | null;
758
+ /** Icon */
759
+ icon?: string | null;
760
+ /** Color */
761
+ color?: string | null;
762
+ /** Description */
763
+ description?: string | null;
764
+ /** Sortorder */
765
+ sortOrder?: number | null;
766
+ /** Issystem */
767
+ isSystem?: boolean | null;
768
+ };
769
+ /**
770
+ * EntryUpdate
771
+ * @description Schema for patching an entry.
772
+ */
773
+ EntryUpdate: {
774
+ /** Entrytypeid */
775
+ entryTypeId?: string | null;
776
+ /** Title */
777
+ title?: string | null;
778
+ /** Slug */
779
+ slug?: string | null;
780
+ /** Summary */
781
+ summary?: string | null;
782
+ /** Description */
783
+ description?: string | null;
784
+ /** Contentmarkdown */
785
+ contentMarkdown?: string | null;
786
+ /** Status */
787
+ status?: string | null;
788
+ /** Publishedat */
789
+ publishedAt?: string | null;
790
+ /** Metadatajson */
791
+ metadataJson?: {
792
+ [key: string]: unknown;
793
+ } | null;
794
+ };
795
+ /**
796
+ * EventDocumentType
797
+ * @description Enumeration for the type of document or data payload associated with an event.
798
+ * Helps listeners understand the nature of `EventDocumentDataBase` content.
799
+ * @enum {string}
800
+ */
801
+ EventDocumentType: "generic" | "user" | "workspace" | "entry" | "collection" | "asset" | "webhook" | "member" | "invitation" | "api_token" | "deployment";
802
+ /**
803
+ * EventNotifierOptionsPagination
804
+ * @description Schema for paginated responses containing a list of event notifier option summaries.
805
+ */
806
+ EventNotifierOptionsPagination: {
807
+ /**
808
+ * Page
809
+ * @default 1
810
+ */
811
+ page: number;
812
+ /**
813
+ * Per Page
814
+ * @default 10
815
+ */
816
+ per_page: number;
817
+ /**
818
+ * Total
819
+ * @default 0
820
+ */
821
+ total: number;
822
+ /**
823
+ * Total Pages
824
+ * @default 0
825
+ */
826
+ total_pages: number;
827
+ /** Items */
828
+ items: components["schemas"]["EventNotifierOptionsSummary"][];
829
+ /** Next */
830
+ next?: string | null;
831
+ /** Previous */
832
+ previous?: string | null;
833
+ };
834
+ /**
835
+ * EventNotifierOptionsSummary
836
+ * @description Schema for a summary representation of an event notifier option.
837
+ * Extends `EventNotifierOptionsRead` with a combined `option` field (namespace.slug).
838
+ */
839
+ EventNotifierOptionsSummary: {
840
+ /** Name */
841
+ name: string;
842
+ /** Description */
843
+ description: string | null;
844
+ /**
845
+ * Enabled
846
+ * @default false
847
+ */
848
+ enabled: boolean | null;
849
+ /** Slug */
850
+ slug: string | null;
851
+ /** Option */
852
+ option: string;
853
+ };
854
+ /**
855
+ * ForgotPassword
856
+ * @description Schema for the "forgot password" request.
857
+ * Requires the user's email address to initiate the password reset process.
858
+ */
859
+ ForgotPassword: {
860
+ /** Email */
861
+ email: string;
862
+ };
863
+ /**
864
+ * GroupAdminUpdate
865
+ * @description Schema for administrators to update a group.
866
+ * Allows updating the name and group preferences. Inherits `name` from `GroupCreate`.
867
+ */
868
+ GroupAdminUpdate: {
869
+ /** Name */
870
+ name: string;
871
+ /**
872
+ * Id
873
+ * Format: uuid4
874
+ */
875
+ id: string;
876
+ preferences?: components["schemas"]["GroupPreferencesUpdate"] | null;
877
+ };
878
+ /**
879
+ * GroupCreate
880
+ * @description Schema for creating a new group. Requires only a name.
881
+ * The name will be stripped of whitespace and must have a minimum length of 1.
882
+ */
883
+ GroupCreate: {
884
+ /** Name */
885
+ name: string;
886
+ };
887
+ /**
888
+ * GroupEventNotifierCreate
889
+ * @description Schema for creating a new group event notifier.
890
+ * A notifier typically involves a service URL (e.g., Apprise) and a set of
891
+ * event options it should react to.
892
+ * @example {
893
+ * "apprise_url": "json://some-service-url/for/notifications",
894
+ * "name": "My Project Updates Notifier",
895
+ * "options": [
896
+ * "core.test-message",
897
+ * "project.task_completed"
898
+ * ]
899
+ * }
900
+ */
901
+ GroupEventNotifierCreate: {
902
+ /** Name */
903
+ name: string;
904
+ /** Appriseurl */
905
+ appriseUrl?: string | null;
906
+ /**
907
+ * Options
908
+ * @default []
909
+ */
910
+ options: string[];
911
+ };
912
+ /**
913
+ * GroupEventNotifierOptionsSummary
914
+ * @description Schema for a summary representation of a group event notifier option.
915
+ * Provides a combined `option` string (namespace.slug).
916
+ */
917
+ GroupEventNotifierOptionsSummary: {
918
+ /** Option */
919
+ option: string;
920
+ };
921
+ /**
922
+ * GroupEventNotifierPagination
923
+ * @description Schema for paginated responses containing a list of group event notifiers.
924
+ */
925
+ GroupEventNotifierPagination: {
926
+ /**
927
+ * Page
928
+ * @default 1
929
+ */
930
+ page: number;
931
+ /**
932
+ * Per Page
933
+ * @default 10
934
+ */
935
+ per_page: number;
936
+ /**
937
+ * Total
938
+ * @default 0
939
+ */
940
+ total: number;
941
+ /**
942
+ * Total Pages
943
+ * @default 0
944
+ */
945
+ total_pages: number;
946
+ /** Items */
947
+ items: components["schemas"]["GroupEventNotifierRead"][];
948
+ /** Next */
949
+ next?: string | null;
950
+ /** Previous */
951
+ previous?: string | null;
952
+ };
953
+ /**
954
+ * GroupEventNotifierRead
955
+ * @description Schema for representing a group event notifier when read from the system.
956
+ * Includes its configuration and the list of event options it's subscribed to.
957
+ */
958
+ GroupEventNotifierRead: {
959
+ /**
960
+ * Id
961
+ * Format: uuid4
962
+ */
963
+ id: string;
964
+ /** Name */
965
+ name: string;
966
+ /** Enabled */
967
+ enabled: boolean;
968
+ /**
969
+ * Groupid
970
+ * Format: uuid4
971
+ */
972
+ groupId: string;
973
+ /**
974
+ * Options
975
+ * @default []
976
+ */
977
+ options: components["schemas"]["GroupEventNotifierOptionsSummary"][];
978
+ };
979
+ /**
980
+ * GroupEventNotifierUpdate
981
+ * @description Schema for updating an existing group event notifier.
982
+ * Extends `GroupEventNotifierSave`, implying all fields can be updated,
983
+ * and adds an `enabled` flag.
984
+ *
985
+ * For partial updates (PATCH), individual fields should be `Optional`.
986
+ * This schema implies a PUT-style update where all fields are provided.
987
+ * @example {
988
+ * "apprise_url": "json://some-service-url/for/notifications",
989
+ * "name": "My Project Updates Notifier",
990
+ * "options": [
991
+ * "core.test-message",
992
+ * "project.task_completed"
993
+ * ]
994
+ * }
995
+ */
996
+ GroupEventNotifierUpdate: {
997
+ /** Name */
998
+ name: string;
999
+ /** Appriseurl */
1000
+ appriseUrl?: string | null;
1001
+ /**
1002
+ * Options
1003
+ * @default []
1004
+ */
1005
+ options: string[];
1006
+ /**
1007
+ * Groupid
1008
+ * Format: uuid4
1009
+ */
1010
+ groupId: string;
1011
+ /**
1012
+ * Enabled
1013
+ * @default true
1014
+ */
1015
+ enabled: boolean;
1016
+ };
1017
+ /**
1018
+ * GroupPagination
1019
+ * @description Schema for paginated responses containing a list of groups.
1020
+ * The items in the list are expected to conform to the `GroupRead` schema.
1021
+ */
1022
+ GroupPagination: {
1023
+ /**
1024
+ * Page
1025
+ * @default 1
1026
+ */
1027
+ page: number;
1028
+ /**
1029
+ * Per Page
1030
+ * @default 10
1031
+ */
1032
+ per_page: number;
1033
+ /**
1034
+ * Total
1035
+ * @default 0
1036
+ */
1037
+ total: number;
1038
+ /**
1039
+ * Total Pages
1040
+ * @default 0
1041
+ */
1042
+ total_pages: number;
1043
+ /** Items */
1044
+ items: components["schemas"]["GroupRead"][];
1045
+ /** Next */
1046
+ next?: string | null;
1047
+ /** Previous */
1048
+ previous?: string | null;
1049
+ };
1050
+ /**
1051
+ * GroupPreferencesRead
1052
+ * @description Schema for representing group preferences when read from the system.
1053
+ * Includes all preference fields.
1054
+ */
1055
+ GroupPreferencesRead: {
1056
+ /**
1057
+ * Groupid
1058
+ * Format: uuid4
1059
+ */
1060
+ groupId: string;
1061
+ /**
1062
+ * Privategroup
1063
+ * @default true
1064
+ */
1065
+ privateGroup: boolean;
1066
+ /**
1067
+ * Firstdayofweek
1068
+ * @default 0
1069
+ */
1070
+ firstDayOfWeek: number;
1071
+ /** Sitetitle */
1072
+ siteTitle?: string | null;
1073
+ /** Sitetagline */
1074
+ siteTagline?: string | null;
1075
+ /** Sitedescription */
1076
+ siteDescription?: string | null;
1077
+ /** Sitecanonicalurl */
1078
+ siteCanonicalUrl?: string | null;
1079
+ /** Sitelogo */
1080
+ siteLogo?: string | null;
1081
+ /** Sitefavicon */
1082
+ siteFavicon?: string | null;
1083
+ /**
1084
+ * Sitelocale
1085
+ * @default en-US
1086
+ */
1087
+ siteLocale: string | null;
1088
+ /**
1089
+ * Sitetimezone
1090
+ * @default America/New_York
1091
+ */
1092
+ siteTimezone: string | null;
1093
+ /** Sitecontactemail */
1094
+ siteContactEmail?: string | null;
1095
+ /** Sitesocialjson */
1096
+ siteSocialJson?: {
1097
+ [key: string]: unknown;
1098
+ } | null;
1099
+ /** Sitemetadatajson */
1100
+ siteMetadataJson?: {
1101
+ [key: string]: unknown;
1102
+ } | null;
1103
+ };
1104
+ /**
1105
+ * GroupPreferencesUpdate
1106
+ * @description Schema for updating existing group preferences and workspace settings.
1107
+ * All fields are optional for partial updates.
1108
+ * The id and group_id are set by the controller based on the URL path.
1109
+ */
1110
+ GroupPreferencesUpdate: {
1111
+ /** Id */
1112
+ id?: string | null;
1113
+ /** Groupid */
1114
+ groupId?: string | null;
1115
+ /** Name */
1116
+ name?: string | null;
1117
+ /** Privategroup */
1118
+ privateGroup?: boolean | null;
1119
+ /** Firstdayofweek */
1120
+ firstDayOfWeek?: number | null;
1121
+ /** Sitetitle */
1122
+ siteTitle?: string | null;
1123
+ /** Sitetagline */
1124
+ siteTagline?: string | null;
1125
+ /** Sitedescription */
1126
+ siteDescription?: string | null;
1127
+ /** Sitecanonicalurl */
1128
+ siteCanonicalUrl?: string | null;
1129
+ /** Sitelogo */
1130
+ siteLogo?: string | null;
1131
+ /** Sitefavicon */
1132
+ siteFavicon?: string | null;
1133
+ /** Sitelocale */
1134
+ siteLocale?: string | null;
1135
+ /** Sitetimezone */
1136
+ siteTimezone?: string | null;
1137
+ /** Sitecontactemail */
1138
+ siteContactEmail?: string | null;
1139
+ /** Sitesocialjson */
1140
+ siteSocialJson?: {
1141
+ [key: string]: unknown;
1142
+ } | null;
1143
+ /** Sitemetadatajson */
1144
+ siteMetadataJson?: {
1145
+ [key: string]: unknown;
1146
+ } | null;
1147
+ };
1148
+ /**
1149
+ * GroupRead
1150
+ * @description Schema for representing a group when read from the system, including detailed information.
1151
+ * This typically serves as a response model for GET requests.
1152
+ * Inherits `id`, `name`, and `webhooks` (as `WebhookRead`) from `GroupUpdate`.
1153
+ */
1154
+ GroupRead: {
1155
+ /** Name */
1156
+ name: string;
1157
+ /**
1158
+ * Id
1159
+ * Format: uuid4
1160
+ */
1161
+ id: string;
1162
+ /**
1163
+ * Webhooks
1164
+ * @default []
1165
+ */
1166
+ webhooks: components["schemas"]["WebhookRead"][];
1167
+ /** Slug */
1168
+ slug?: string | null;
1169
+ /** Users */
1170
+ users?: components["schemas"]["UserSummary"][] | null;
1171
+ preferences?: components["schemas"]["GroupPreferencesRead"] | null;
1172
+ };
1173
+ /** HTTPValidationError */
1174
+ HTTPValidationError: {
1175
+ /** Detail */
1176
+ detail?: components["schemas"]["ValidationError"][];
1177
+ };
1178
+ /**
1179
+ * HealthCheck
1180
+ * @description Response model for the health check endpoint.
1181
+ * Indicates the operational status of the application.
1182
+ */
1183
+ HealthCheck: {
1184
+ /**
1185
+ * Status
1186
+ * @default OK
1187
+ */
1188
+ status: string;
1189
+ };
1190
+ /**
1191
+ * InviteTokenCreate
1192
+ * @description Schema for creating a new group invitation token.
1193
+ * Specifies the initial number of uses and the group it belongs to.
1194
+ */
1195
+ InviteTokenCreate: {
1196
+ /** Usesleft */
1197
+ usesLeft: number;
1198
+ };
1199
+ /**
1200
+ * InviteTokenPagination
1201
+ * @description Schema for paginated responses containing a list of invite token summaries.
1202
+ */
1203
+ InviteTokenPagination: {
1204
+ /**
1205
+ * Page
1206
+ * @default 1
1207
+ */
1208
+ page: number;
1209
+ /**
1210
+ * Per Page
1211
+ * @default 10
1212
+ */
1213
+ per_page: number;
1214
+ /**
1215
+ * Total
1216
+ * @default 0
1217
+ */
1218
+ total: number;
1219
+ /**
1220
+ * Total Pages
1221
+ * @default 0
1222
+ */
1223
+ total_pages: number;
1224
+ /** Items */
1225
+ items: components["schemas"]["InviteTokenSummary"][];
1226
+ /** Next */
1227
+ next?: string | null;
1228
+ /** Previous */
1229
+ previous?: string | null;
1230
+ };
1231
+ /**
1232
+ * InviteTokenSummary
1233
+ * @description Schema for a summary representation of a invite token .
1234
+ */
1235
+ InviteTokenSummary: {
1236
+ /** Usesleft */
1237
+ usesLeft: number;
1238
+ /** Token */
1239
+ token: string;
1240
+ };
1241
+ /**
1242
+ * LongLiveTokenCreate
1243
+ * @description Schema for creating a new long-lived API token (Personal Access Token).
1244
+ */
1245
+ LongLiveTokenCreate: {
1246
+ /** Name */
1247
+ name: string;
1248
+ /** Description */
1249
+ description?: string | null;
1250
+ /**
1251
+ * Integrationid
1252
+ * @default generic
1253
+ */
1254
+ integrationId: string;
1255
+ };
1256
+ /**
1257
+ * LongLiveTokenRead
1258
+ * @description Schema for representing a long-lived API token when read from the system.
1259
+ * Excludes the sensitive token string itself (never return token_hash).
1260
+ * Includes security fields: enabled, last_used_at, revoked_at.
1261
+ */
1262
+ LongLiveTokenRead: {
1263
+ /**
1264
+ * Id
1265
+ * Format: uuid4
1266
+ */
1267
+ id: string;
1268
+ /**
1269
+ * Userid
1270
+ * Format: uuid4
1271
+ */
1272
+ userId: string;
1273
+ /** Name */
1274
+ name: string;
1275
+ /** Description */
1276
+ description?: string | null;
1277
+ /** Enabled */
1278
+ enabled: boolean;
1279
+ /** Lastusedat */
1280
+ lastUsedAt?: string | null;
1281
+ /** Revokedat */
1282
+ revokedAt?: string | null;
1283
+ /** Createdat */
1284
+ createdAt?: string | null;
1285
+ /** Updateat */
1286
+ updateAt?: string | null;
1287
+ /**
1288
+ * Integrationid
1289
+ * @default generic
1290
+ */
1291
+ integrationId: string;
1292
+ };
1293
+ /**
1294
+ * LongLiveTokenUpdate
1295
+ * @description Schema for updating an existing long-lived API token.
1296
+ * All fields are optional.
1297
+ */
1298
+ LongLiveTokenUpdate: {
1299
+ /** Name */
1300
+ name?: string | null;
1301
+ /** Description */
1302
+ description?: string | null;
1303
+ /** Enabled */
1304
+ enabled?: boolean | null;
1305
+ };
1306
+ /**
1307
+ * LongLiveTokenWithToken
1308
+ * @description Schema for the response when a new token is created or rotated.
1309
+ * Includes the actual `token` string, which is shown ONLY ONCE.
1310
+ *
1311
+ * IMPORTANT: The plaintext token is never stored in the database.
1312
+ * Only the bcrypt hash is stored.
1313
+ */
1314
+ LongLiveTokenWithToken: {
1315
+ /**
1316
+ * Id
1317
+ * Format: uuid4
1318
+ */
1319
+ id: string;
1320
+ /**
1321
+ * Userid
1322
+ * Format: uuid4
1323
+ */
1324
+ userId: string;
1325
+ /** Name */
1326
+ name: string;
1327
+ /** Description */
1328
+ description?: string | null;
1329
+ /** Enabled */
1330
+ enabled: boolean;
1331
+ /** Token */
1332
+ token: string;
1333
+ /** Createdat */
1334
+ createdAt?: string | null;
1335
+ };
1336
+ /**
1337
+ * MaintenanceStorageDetails
1338
+ * @description Schema providing detailed storage usage for various key application directories.
1339
+ * All sizes are presented as human-readable strings.
1340
+ */
1341
+ MaintenanceStorageDetails: {
1342
+ /** Tempdirsize */
1343
+ tempDirSize: string;
1344
+ /** Backupsdirsize */
1345
+ backupsDirSize: string;
1346
+ /** Seedsdirsize */
1347
+ seedsDirSize: string;
1348
+ /** Plugindirsize */
1349
+ pluginDirSize: string;
1350
+ };
1351
+ /**
1352
+ * MaintenanceSummary
1353
+ * @description Schema for a summary of maintenance information, currently focused on data directory size.
1354
+ */
1355
+ MaintenanceSummary: {
1356
+ /** Datadirsize */
1357
+ dataDirSize: string;
1358
+ };
1359
+ /**
1360
+ * MarvinAuthToken
1361
+ * @description Pydantic response model for authentication tokens.
1362
+ */
1363
+ MarvinAuthToken: {
1364
+ /** Access Token */
1365
+ access_token: string;
1366
+ /**
1367
+ * Token Type
1368
+ * @default bearer
1369
+ */
1370
+ token_type: string;
1371
+ };
1372
+ /**
1373
+ * OrderByNullPosition
1374
+ * @description Enumeration for specifying how NULL values should be positioned in ordered results.
1375
+ * @enum {string}
1376
+ */
1377
+ OrderByNullPosition: "first" | "last";
1378
+ /**
1379
+ * OrderDirection
1380
+ * @description Enumeration for specifying the direction of ordering in queries.
1381
+ * @enum {string}
1382
+ */
1383
+ OrderDirection: "asc" | "desc";
1384
+ /**
1385
+ * PaginationMeta
1386
+ * @description Pagination metadata.
1387
+ */
1388
+ PaginationMeta: {
1389
+ /** Total */
1390
+ total: number;
1391
+ /** Page */
1392
+ page: number;
1393
+ /** Limit */
1394
+ limit: number;
1395
+ /** Offset */
1396
+ offset: number;
1397
+ };
1398
+ /**
1399
+ * PasswordResetToken
1400
+ * @description Schema representing a password reset token along with the associated email.
1401
+ * This might be used when returning token information or in contexts where
1402
+ * both email and token are relevant.
1403
+ */
1404
+ PasswordResetToken: {
1405
+ /** Email */
1406
+ email: string;
1407
+ /** Token */
1408
+ token: string;
1409
+ };
1410
+ /**
1411
+ * PlatformRole
1412
+ * @description Platform-level roles for Marvin.
1413
+ *
1414
+ * A user has ONE platform role that determines their platform-level access.
1415
+ * Platform roles are independent of workspace membership.
1416
+ * @enum {string}
1417
+ */
1418
+ PlatformRole: "NONE" | "SUPER_ADMIN";
1419
+ /**
1420
+ * PublishedAssetRead
1421
+ * @description Schema for published assets in the publishing API.
1422
+ *
1423
+ * Provides asset metadata for external sites to build proper media tags.
1424
+ */
1425
+ PublishedAssetRead: {
1426
+ /** Slug */
1427
+ slug: string;
1428
+ /** Name */
1429
+ name: string;
1430
+ /** Mimetype */
1431
+ mimeType: string;
1432
+ /** Width */
1433
+ width?: number | null;
1434
+ /** Height */
1435
+ height?: number | null;
1436
+ /** Alttext */
1437
+ altText?: string | null;
1438
+ /** Fileurl */
1439
+ fileUrl: string;
1440
+ };
1441
+ /**
1442
+ * PublishedAssetsResponse
1443
+ * @description Paginated response for listing published assets.
1444
+ */
1445
+ PublishedAssetsResponse: {
1446
+ /** Data */
1447
+ data: components["schemas"]["PublishedAssetRead"][];
1448
+ meta: components["schemas"]["PaginationMeta"];
1449
+ };
1450
+ /**
1451
+ * PublishedCollectionRead
1452
+ * @description Schema for published collections in the publishing API.
1453
+ *
1454
+ * Includes collection metadata and its published entries.
1455
+ */
1456
+ PublishedCollectionRead: {
1457
+ /** Slug */
1458
+ slug: string;
1459
+ /** Name */
1460
+ name: string;
1461
+ /** Description */
1462
+ description?: string | null;
1463
+ /** Entrycount */
1464
+ entryCount: number;
1465
+ /** Entries */
1466
+ entries: components["schemas"]["PublishedEntryListItem"][];
1467
+ };
1468
+ /**
1469
+ * PublishedCollectionSummary
1470
+ * @description Summary schema for published collections (for listing).
1471
+ */
1472
+ PublishedCollectionSummary: {
1473
+ /** Slug */
1474
+ slug: string;
1475
+ /** Name */
1476
+ name: string;
1477
+ /** Description */
1478
+ description?: string | null;
1479
+ /** Entrycount */
1480
+ entryCount: number;
1481
+ /** Sortorder */
1482
+ sortOrder: number;
1483
+ /** Icon */
1484
+ icon?: string | null;
1485
+ /** Color */
1486
+ color?: string | null;
1487
+ };
1488
+ /**
1489
+ * PublishedCollectionsResponse
1490
+ * @description Paginated response for listing published collections.
1491
+ */
1492
+ PublishedCollectionsResponse: {
1493
+ /** Data */
1494
+ data: components["schemas"]["PublishedCollectionSummary"][];
1495
+ meta: components["schemas"]["PaginationMeta"];
1496
+ };
1497
+ /**
1498
+ * PublishedEntriesResponse
1499
+ * @description Paginated response for listing published entries.
1500
+ */
1501
+ PublishedEntriesResponse: {
1502
+ /** Data */
1503
+ data: components["schemas"]["PublishedEntryListItem"][];
1504
+ meta: components["schemas"]["PaginationMeta"];
1505
+ };
1506
+ /**
1507
+ * PublishedEntryListItem
1508
+ * @description Minimal entry schema for list responses.
1509
+ *
1510
+ * Used when listing multiple entries - returns only essential fields
1511
+ * without full content.
1512
+ */
1513
+ PublishedEntryListItem: {
1514
+ /** Slug */
1515
+ slug: string;
1516
+ /** Title */
1517
+ title: string;
1518
+ /** Entrytype */
1519
+ entryType: string;
1520
+ /** Summary */
1521
+ summary?: string | null;
1522
+ /** Publishedat */
1523
+ publishedAt?: string | null;
1524
+ /**
1525
+ * Collections
1526
+ * @default []
1527
+ */
1528
+ collections: string[];
1529
+ };
1530
+ /**
1531
+ * PublishedEntryRead
1532
+ * @description Schema for published entries in the publishing API.
1533
+ *
1534
+ * Only includes public-facing fields. Excludes all admin metadata,
1535
+ * internal fields, and user information.
1536
+ */
1537
+ PublishedEntryRead: {
1538
+ /** Slug */
1539
+ slug: string;
1540
+ /** Title */
1541
+ title: string;
1542
+ /** Entrytype */
1543
+ entryType: string;
1544
+ /** Summary */
1545
+ summary?: string | null;
1546
+ /** Contentmarkdown */
1547
+ contentMarkdown?: string | null;
1548
+ /** Publishedat */
1549
+ publishedAt?: string | null;
1550
+ /** Metadata */
1551
+ metadata?: {
1552
+ [key: string]: unknown;
1553
+ } | null;
1554
+ /**
1555
+ * Collections
1556
+ * @default []
1557
+ */
1558
+ collections: string[];
1559
+ /**
1560
+ * Resources
1561
+ * @default []
1562
+ */
1563
+ resources: components["schemas"]["PublishedResourceRead"][];
1564
+ /**
1565
+ * Assets
1566
+ * @default []
1567
+ */
1568
+ assets: components["schemas"]["PublishedAssetRead"][];
1569
+ };
1570
+ /**
1571
+ * PublishedResourceRead
1572
+ * @description Schema for published resources in entry context.
1573
+ *
1574
+ * Combines resource metadata with entry-specific placement info.
1575
+ */
1576
+ PublishedResourceRead: {
1577
+ /** Slug */
1578
+ slug: string;
1579
+ /** Name */
1580
+ name: string;
1581
+ /** Resourcetype */
1582
+ resourceType: string;
1583
+ /** Description */
1584
+ description?: string | null;
1585
+ /** Url */
1586
+ url?: string | null;
1587
+ /** Externalid */
1588
+ externalId?: string | null;
1589
+ /** Role */
1590
+ role?: string | null;
1591
+ /** Quantity */
1592
+ quantity?: string | null;
1593
+ /** Unit */
1594
+ unit?: string | null;
1595
+ /**
1596
+ * Position
1597
+ * @default 0
1598
+ */
1599
+ position: number;
1600
+ };
1601
+ /**
1602
+ * PublishedResourceSummary
1603
+ * @description Schema for published resources in standalone context.
1604
+ *
1605
+ * Provides resource metadata without entry-specific placement info.
1606
+ * Used for listing resources and getting individual resource details.
1607
+ */
1608
+ PublishedResourceSummary: {
1609
+ /** Slug */
1610
+ slug: string;
1611
+ /** Name */
1612
+ name: string;
1613
+ /** Resourcetype */
1614
+ resourceType: string;
1615
+ /** Description */
1616
+ description?: string | null;
1617
+ /** Url */
1618
+ url?: string | null;
1619
+ /** Externalid */
1620
+ externalId?: string | null;
1621
+ /** Metadata */
1622
+ metadata?: {
1623
+ [key: string]: unknown;
1624
+ } | null;
1625
+ };
1626
+ /**
1627
+ * PublishedResourcesResponse
1628
+ * @description Paginated response for listing published resources.
1629
+ */
1630
+ PublishedResourcesResponse: {
1631
+ /** Data */
1632
+ data: components["schemas"]["PublishedResourceSummary"][];
1633
+ meta: components["schemas"]["PaginationMeta"];
1634
+ };
1635
+ /**
1636
+ * ResetPassword
1637
+ * @description Schema for the actual password reset operation.
1638
+ * Requires the reset token, the user's email (for verification, though token
1639
+ * should be sufficient if unique and mapped to user), and the new password
1640
+ * with confirmation.
1641
+ */
1642
+ ResetPassword: {
1643
+ /** Token */
1644
+ token: string;
1645
+ /** Email */
1646
+ email: string;
1647
+ /** Password */
1648
+ password: string;
1649
+ /** Passwordconfirm */
1650
+ passwordConfirm: string;
1651
+ };
1652
+ /**
1653
+ * ResourceCreate
1654
+ * @description Schema for creating a new resource.
1655
+ */
1656
+ ResourceCreate: {
1657
+ /** Slug */
1658
+ slug: string;
1659
+ /** Name */
1660
+ name: string;
1661
+ /** Resourcetype */
1662
+ resourceType: string;
1663
+ /** Description */
1664
+ description?: string | null;
1665
+ /** Url */
1666
+ url?: string | null;
1667
+ /** Externalid */
1668
+ externalId?: string | null;
1669
+ /** Metadata */
1670
+ metadata?: {
1671
+ [key: string]: unknown;
1672
+ } | null;
1673
+ };
1674
+ /**
1675
+ * ResourceRead
1676
+ * @description Full schema for reading a resource.
1677
+ */
1678
+ ResourceRead: {
1679
+ /**
1680
+ * Id
1681
+ * Format: uuid4
1682
+ */
1683
+ id: string;
1684
+ /** Slug */
1685
+ slug: string;
1686
+ /** Name */
1687
+ name: string;
1688
+ /** Resourcetype */
1689
+ resourceType: string;
1690
+ /** Description */
1691
+ description?: string | null;
1692
+ /** Url */
1693
+ url?: string | null;
1694
+ /** Externalid */
1695
+ externalId?: string | null;
1696
+ /** Metadata */
1697
+ metadata?: {
1698
+ [key: string]: unknown;
1699
+ } | null;
1700
+ /**
1701
+ * Createdby
1702
+ * Format: uuid4
1703
+ */
1704
+ createdBy: string;
1705
+ };
1706
+ /**
1707
+ * ResourceSummary
1708
+ * @description Summary schema for a resource.
1709
+ */
1710
+ ResourceSummary: {
1711
+ /**
1712
+ * Id
1713
+ * Format: uuid4
1714
+ */
1715
+ id: string;
1716
+ /** Slug */
1717
+ slug: string;
1718
+ /** Name */
1719
+ name: string;
1720
+ /** Resourcetype */
1721
+ resourceType: string;
1722
+ /** Description */
1723
+ description?: string | null;
1724
+ /** Url */
1725
+ url?: string | null;
1726
+ /** Externalid */
1727
+ externalId?: string | null;
1728
+ };
1729
+ /**
1730
+ * ResourceUpdate
1731
+ * @description Schema for updating a resource.
1732
+ */
1733
+ ResourceUpdate: {
1734
+ /** Slug */
1735
+ slug: string;
1736
+ /** Name */
1737
+ name: string;
1738
+ /** Resourcetype */
1739
+ resourceType: string;
1740
+ /** Description */
1741
+ description?: string | null;
1742
+ /** Url */
1743
+ url?: string | null;
1744
+ /** Externalid */
1745
+ externalId?: string | null;
1746
+ /** Metadata */
1747
+ metadata?: {
1748
+ [key: string]: unknown;
1749
+ } | null;
1750
+ /**
1751
+ * Id
1752
+ * Format: uuid4
1753
+ */
1754
+ id: string;
1755
+ };
1756
+ /**
1757
+ * SiteConfiguration
1758
+ * @description Site configuration for publishing API.
1759
+ *
1760
+ * Provides the public identity and settings for a workspace's published site.
1761
+ * This replaces hardcoded site.ts files in Astro projects.
1762
+ */
1763
+ SiteConfiguration: {
1764
+ /** Title */
1765
+ title?: string | null;
1766
+ /** Tagline */
1767
+ tagline?: string | null;
1768
+ /** Description */
1769
+ description?: string | null;
1770
+ /** Canonicalurl */
1771
+ canonicalUrl?: string | null;
1772
+ /** Logo */
1773
+ logo?: string | null;
1774
+ /** Favicon */
1775
+ favicon?: string | null;
1776
+ /**
1777
+ * Locale
1778
+ * @default en-US
1779
+ */
1780
+ locale: string;
1781
+ /**
1782
+ * Timezone
1783
+ * @default America/New_York
1784
+ */
1785
+ timezone: string;
1786
+ /** Contactemail */
1787
+ contactEmail?: string | null;
1788
+ /** Social */
1789
+ social?: {
1790
+ [key: string]: unknown;
1791
+ } | null;
1792
+ /** Metadata */
1793
+ metadata?: {
1794
+ [key: string]: unknown;
1795
+ } | null;
1796
+ };
1797
+ /**
1798
+ * SuccessResponse
1799
+ * @description Standardized schema for generic API success responses.
1800
+ * Provides a success message and an error flag set to False.
1801
+ */
1802
+ SuccessResponse: {
1803
+ /** Message */
1804
+ message: string;
1805
+ /**
1806
+ * Error
1807
+ * @default false
1808
+ */
1809
+ error: boolean;
1810
+ };
1811
+ /**
1812
+ * SystemStats
1813
+ * @description System statistics response model.
1814
+ */
1815
+ SystemStats: {
1816
+ /** Users Count */
1817
+ users_count: number;
1818
+ /** Groups Count */
1819
+ groups_count: number;
1820
+ /** Entries Count */
1821
+ entries_count: number;
1822
+ /** Assets Count */
1823
+ assets_count: number;
1824
+ /** Api Tokens Count */
1825
+ api_tokens_count: number;
1826
+ /** Webhooks Count */
1827
+ webhooks_count: number;
1828
+ /** Database Size */
1829
+ database_size: string;
1830
+ /** Database Path */
1831
+ database_path: string;
1832
+ /** Assets Size */
1833
+ assets_size: string;
1834
+ /** Assets Path */
1835
+ assets_path: string;
1836
+ /** Backups Size */
1837
+ backups_size: string;
1838
+ /** Backups Path */
1839
+ backups_path: string;
1840
+ /** Total Size */
1841
+ total_size: string;
1842
+ /** Data Dir Path */
1843
+ data_dir_path: string;
1844
+ };
1845
+ /**
1846
+ * TokenResponseDelete
1847
+ * @description Schema for the response after successfully deleting an API token.
1848
+ * Confirms which token was deleted by its name.
1849
+ */
1850
+ TokenResponseDelete: {
1851
+ /** Tokendelete */
1852
+ tokenDelete: string;
1853
+ };
1854
+ /**
1855
+ * UnlockResults
1856
+ * @description Schema for the response when an operation to unlock user accounts is performed.
1857
+ * Indicates how many user accounts were successfully unlocked.
1858
+ */
1859
+ UnlockResults: {
1860
+ /**
1861
+ * Unlocked
1862
+ * @default 0
1863
+ */
1864
+ unlocked: number;
1865
+ };
1866
+ /**
1867
+ * UserCreate
1868
+ * @description Schema for creating a new user.
1869
+ * Includes essential user details, authentication method, admin status,
1870
+ * group assignment, permissions, and password.
1871
+ * @example {
1872
+ * "admin": false,
1873
+ * "email": "newuser@example.com",
1874
+ * "fullName": "New User Name",
1875
+ * "group": "Default",
1876
+ * "password": "aSecurePassword123",
1877
+ * "username": "NewUser"
1878
+ * }
1879
+ */
1880
+ UserCreate: {
1881
+ /** Id */
1882
+ id?: string | null;
1883
+ /** Username */
1884
+ username?: string | null;
1885
+ /** Fullname */
1886
+ fullName?: string | null;
1887
+ /** Email */
1888
+ email: string;
1889
+ /** @default MARVIN */
1890
+ authMethod: components["schemas"]["AuthMethod"];
1891
+ /** @default NONE */
1892
+ platformRole: components["schemas"]["PlatformRole"];
1893
+ /**
1894
+ * Admin
1895
+ * @default false
1896
+ */
1897
+ admin: boolean;
1898
+ /**
1899
+ * Issuperuser
1900
+ * @default false
1901
+ */
1902
+ isSuperuser: boolean;
1903
+ /** Group */
1904
+ group?: string | null;
1905
+ /**
1906
+ * Advanced
1907
+ * @default false
1908
+ */
1909
+ advanced: boolean;
1910
+ /** Password */
1911
+ password: string;
1912
+ /**
1913
+ * Caninvite
1914
+ * @default false
1915
+ */
1916
+ canInvite: boolean;
1917
+ /**
1918
+ * Canmanage
1919
+ * @default false
1920
+ */
1921
+ canManage: boolean;
1922
+ /**
1923
+ * Canorganize
1924
+ * @default false
1925
+ */
1926
+ canOrganize: boolean;
1927
+ };
1928
+ /**
1929
+ * UserPagination
1930
+ * @description Schema for paginated responses containing a list of users.
1931
+ * Items are expected to conform to the `UserRead` schema.
1932
+ */
1933
+ UserPagination: {
1934
+ /**
1935
+ * Page
1936
+ * @default 1
1937
+ */
1938
+ page: number;
1939
+ /**
1940
+ * Per Page
1941
+ * @default 10
1942
+ */
1943
+ per_page: number;
1944
+ /**
1945
+ * Total
1946
+ * @default 0
1947
+ */
1948
+ total: number;
1949
+ /**
1950
+ * Total Pages
1951
+ * @default 0
1952
+ */
1953
+ total_pages: number;
1954
+ /** Items */
1955
+ items: components["schemas"]["UserRead"][];
1956
+ /** Next */
1957
+ next?: string | null;
1958
+ /** Previous */
1959
+ previous?: string | null;
1960
+ };
1961
+ /**
1962
+ * UserRead
1963
+ * @description Schema for representing a user when read from the system.
1964
+ * Extends `UserCreate` (which includes password), and adds system-generated fields
1965
+ * like `id`, group details, and `cache_key`.
1966
+ *
1967
+ * NOTE: Inheriting from `UserCreate` means this schema will include `password`.
1968
+ * For public user representations, `password` should typically be excluded.
1969
+ * Consider having a different base or explicitly excluding password here if this
1970
+ * is for general-purpose reading. `PrivateUser` below handles sensitive data.
1971
+ * @example {
1972
+ * "admin": false,
1973
+ * "email": "newuser@example.com",
1974
+ * "fullName": "New User Name",
1975
+ * "group": "Default",
1976
+ * "password": "aSecurePassword123",
1977
+ * "username": "NewUser"
1978
+ * }
1979
+ */
1980
+ UserRead: {
1981
+ /**
1982
+ * Id
1983
+ * Format: uuid4
1984
+ */
1985
+ id: string;
1986
+ /** Username */
1987
+ username?: string | null;
1988
+ /** Fullname */
1989
+ fullName?: string | null;
1990
+ /** Email */
1991
+ email: string;
1992
+ /** @default MARVIN */
1993
+ authMethod: components["schemas"]["AuthMethod"];
1994
+ platformRole: components["schemas"]["PlatformRole"];
1995
+ /**
1996
+ * Admin
1997
+ * @default false
1998
+ */
1999
+ admin: boolean;
2000
+ /**
2001
+ * Issuperuser
2002
+ * @default false
2003
+ */
2004
+ isSuperuser: boolean;
2005
+ /** Group */
2006
+ group: string;
2007
+ /**
2008
+ * Advanced
2009
+ * @default false
2010
+ */
2011
+ advanced: boolean;
2012
+ /** Password */
2013
+ password: string;
2014
+ /**
2015
+ * Caninvite
2016
+ * @default false
2017
+ */
2018
+ canInvite: boolean;
2019
+ /**
2020
+ * Canmanage
2021
+ * @default false
2022
+ */
2023
+ canManage: boolean;
2024
+ /**
2025
+ * Canorganize
2026
+ * @default false
2027
+ */
2028
+ canOrganize: boolean;
2029
+ /**
2030
+ * Groupid
2031
+ * Format: uuid4
2032
+ */
2033
+ groupId: string;
2034
+ /** Groupslug */
2035
+ groupSlug: string;
2036
+ /** Activegroupid */
2037
+ activeGroupId?: string | null;
2038
+ /**
2039
+ * Workspacememberships
2040
+ * @default []
2041
+ */
2042
+ workspaceMemberships: components["schemas"]["WorkspaceMembershipSummary"][];
2043
+ /** Cachekey */
2044
+ cacheKey: string | null;
2045
+ };
2046
+ /** UserRegistrationCreate */
2047
+ UserRegistrationCreate: {
2048
+ /** Group */
2049
+ group?: string | null;
2050
+ /** Grouptoken */
2051
+ groupToken?: string | null;
2052
+ /** Email */
2053
+ email: string;
2054
+ /** Username */
2055
+ username: string;
2056
+ /** Fullname */
2057
+ fullName: string;
2058
+ /** Password */
2059
+ password: string;
2060
+ /** Passwordconfirm */
2061
+ passwordConfirm: string;
2062
+ /**
2063
+ * Advanced
2064
+ * @default false
2065
+ */
2066
+ advanced: boolean;
2067
+ /**
2068
+ * Private
2069
+ * @default false
2070
+ */
2071
+ private: boolean;
2072
+ /**
2073
+ * Seeddata
2074
+ * @default false
2075
+ */
2076
+ seedData: boolean;
2077
+ };
2078
+ /**
2079
+ * UserSummary
2080
+ * @description Schema for a summary representation of a user.
2081
+ * Provides key identifying information, suitable for lists or brief displays.
2082
+ */
2083
+ UserSummary: {
2084
+ /**
2085
+ * Id
2086
+ * Format: uuid4
2087
+ */
2088
+ id: string;
2089
+ /**
2090
+ * Groupid
2091
+ * Format: uuid4
2092
+ */
2093
+ groupId: string;
2094
+ /** Username */
2095
+ username: string;
2096
+ /** Email */
2097
+ email?: string | null;
2098
+ /** Fullname */
2099
+ fullName?: string | null;
2100
+ };
2101
+ /**
2102
+ * UserUpdate
2103
+ * @description Schema likely used internally for saving a user to the database,
2104
+ * ensuring required fields like `username`, `full_name`, and `password` are present.
2105
+ * Extends `UserCreate`.
2106
+ * @example {
2107
+ * "admin": false,
2108
+ * "email": "newuser@example.com",
2109
+ * "fullName": "New User Name",
2110
+ * "group": "Default",
2111
+ * "password": "aSecurePassword123",
2112
+ * "username": "NewUser"
2113
+ * }
2114
+ */
2115
+ UserUpdate: {
2116
+ /** Id */
2117
+ id?: string | null;
2118
+ /** Username */
2119
+ username: string;
2120
+ /** Fullname */
2121
+ fullName: string;
2122
+ /** Email */
2123
+ email: string;
2124
+ /** @default MARVIN */
2125
+ authMethod: components["schemas"]["AuthMethod"];
2126
+ /** @default NONE */
2127
+ platformRole: components["schemas"]["PlatformRole"];
2128
+ /**
2129
+ * Admin
2130
+ * @default false
2131
+ */
2132
+ admin: boolean;
2133
+ /**
2134
+ * Issuperuser
2135
+ * @default false
2136
+ */
2137
+ isSuperuser: boolean;
2138
+ /** Group */
2139
+ group?: string | null;
2140
+ /**
2141
+ * Advanced
2142
+ * @default false
2143
+ */
2144
+ advanced: boolean;
2145
+ /** Password */
2146
+ password: string;
2147
+ /**
2148
+ * Caninvite
2149
+ * @default false
2150
+ */
2151
+ canInvite: boolean;
2152
+ /**
2153
+ * Canmanage
2154
+ * @default false
2155
+ */
2156
+ canManage: boolean;
2157
+ /**
2158
+ * Canorganize
2159
+ * @default false
2160
+ */
2161
+ canOrganize: boolean;
2162
+ };
2163
+ /** ValidationError */
2164
+ ValidationError: {
2165
+ /** Location */
2166
+ loc: (string | number)[];
2167
+ /** Message */
2168
+ msg: string;
2169
+ /** Error Type */
2170
+ type: string;
2171
+ };
2172
+ /**
2173
+ * WebhookCreate
2174
+ * @description Schema for creating a new webhook configuration.
2175
+ * Includes fields for enabling the webhook, naming it, specifying the target URL,
2176
+ * HTTP method, type, and an optional scheduled time for execution.
2177
+ */
2178
+ WebhookCreate: {
2179
+ /**
2180
+ * Enabled
2181
+ * @default true
2182
+ */
2183
+ enabled: boolean;
2184
+ /** Name */
2185
+ name: string;
2186
+ /**
2187
+ * Url
2188
+ * Format: uri
2189
+ */
2190
+ url: string;
2191
+ /** @default POST */
2192
+ method: components["schemas"]["WebhookMethod"];
2193
+ /** @default generic */
2194
+ webhookType: components["schemas"]["EventDocumentType"];
2195
+ /**
2196
+ * Scheduledtime
2197
+ * Format: date-time
2198
+ */
2199
+ scheduledTime: string;
2200
+ };
2201
+ /**
2202
+ * WebhookMethod
2203
+ * @description Enumeration for HTTP methods supported by webhooks.
2204
+ * @enum {string}
2205
+ */
2206
+ WebhookMethod: "GET" | "POST";
2207
+ /**
2208
+ * WebhookPagination
2209
+ * @description Schema for paginated responses containing a list of webhook configurations.
2210
+ */
2211
+ WebhookPagination: {
2212
+ /**
2213
+ * Page
2214
+ * @default 1
2215
+ */
2216
+ page: number;
2217
+ /**
2218
+ * Per Page
2219
+ * @default 10
2220
+ */
2221
+ per_page: number;
2222
+ /**
2223
+ * Total
2224
+ * @default 0
2225
+ */
2226
+ total: number;
2227
+ /**
2228
+ * Total Pages
2229
+ * @default 0
2230
+ */
2231
+ total_pages: number;
2232
+ /** Items */
2233
+ items: components["schemas"]["WebhookRead"][];
2234
+ /** Next */
2235
+ next?: string | null;
2236
+ /** Previous */
2237
+ previous?: string | null;
2238
+ };
2239
+ /**
2240
+ * WebhookRead
2241
+ * @description Schema for representing a webhook configuration when read from the system.
2242
+ * Extends `WebhookUpdate` by adding the unique `id` of the webhook.
2243
+ */
2244
+ WebhookRead: {
2245
+ /**
2246
+ * Enabled
2247
+ * @default true
2248
+ */
2249
+ enabled: boolean;
2250
+ /** Name */
2251
+ name: string;
2252
+ /**
2253
+ * Url
2254
+ * Format: uri
2255
+ */
2256
+ url: string;
2257
+ /** @default POST */
2258
+ method: components["schemas"]["WebhookMethod"];
2259
+ /** @default generic */
2260
+ webhookType: components["schemas"]["EventDocumentType"];
2261
+ /**
2262
+ * Scheduledtime
2263
+ * Format: date-time
2264
+ */
2265
+ scheduledTime: string;
2266
+ /**
2267
+ * Groupid
2268
+ * Format: uuid4
2269
+ */
2270
+ groupId: string;
2271
+ /**
2272
+ * Id
2273
+ * Format: uuid4
2274
+ */
2275
+ id: string;
2276
+ };
2277
+ /**
2278
+ * WorkspaceActivationRequest
2279
+ * @description Request to change active workspace.
2280
+ */
2281
+ WorkspaceActivationRequest: {
2282
+ /**
2283
+ * Workspaceid
2284
+ * Format: uuid4
2285
+ */
2286
+ workspaceId: string;
2287
+ };
2288
+ /**
2289
+ * WorkspaceInfo
2290
+ * @description Public workspace information for publishing API.
2291
+ */
2292
+ WorkspaceInfo: {
2293
+ /** Slug */
2294
+ slug: string;
2295
+ /** Name */
2296
+ name: string;
2297
+ };
2298
+ /**
2299
+ * WorkspaceMemberCreate
2300
+ * @description Schema for adding a user to a workspace.
2301
+ *
2302
+ * Used when a workspace admin wants to invite a user to their workspace.
2303
+ */
2304
+ WorkspaceMemberCreate: {
2305
+ /**
2306
+ * Userid
2307
+ * Format: uuid4
2308
+ */
2309
+ userId: string;
2310
+ workspaceRole: components["schemas"]["WorkspaceRole"];
2311
+ };
2312
+ /**
2313
+ * WorkspaceMemberUpdate
2314
+ * @description Schema for updating a workspace member's role.
2315
+ *
2316
+ * Used when changing a user's permissions within a workspace.
2317
+ */
2318
+ WorkspaceMemberUpdate: {
2319
+ workspaceRole: components["schemas"]["WorkspaceRole"];
2320
+ };
2321
+ /**
2322
+ * WorkspaceMembershipRead
2323
+ * @description Schema for reading a user's workspace membership with role.
2324
+ * Represents the relationship between a user and a workspace.
2325
+ * Includes user details when loaded with joinedload.
2326
+ */
2327
+ WorkspaceMembershipRead: {
2328
+ /**
2329
+ * Id
2330
+ * Format: uuid4
2331
+ */
2332
+ id: string;
2333
+ /**
2334
+ * Userid
2335
+ * Format: uuid4
2336
+ */
2337
+ userId: string;
2338
+ /**
2339
+ * Groupid
2340
+ * Format: uuid4
2341
+ */
2342
+ groupId: string;
2343
+ workspaceRole: components["schemas"]["WorkspaceRole"];
2344
+ user?: components["schemas"]["UserSummary"] | null;
2345
+ };
2346
+ /**
2347
+ * WorkspaceMembershipSummary
2348
+ * @description Schema for summarized workspace membership information.
2349
+ * Used in user profiles to show which workspaces they belong to.
2350
+ */
2351
+ WorkspaceMembershipSummary: {
2352
+ /**
2353
+ * Groupid
2354
+ * Format: uuid4
2355
+ */
2356
+ groupId: string;
2357
+ workspaceRole: components["schemas"]["WorkspaceRole"];
2358
+ };
2359
+ /**
2360
+ * WorkspaceRole
2361
+ * @description Workspace-level roles for workspace members.
2362
+ *
2363
+ * Each user-workspace membership has ONE workspace role that determines
2364
+ * what they can do within that specific workspace.
2365
+ * @enum {string}
2366
+ */
2367
+ WorkspaceRole: "OWNER" | "ADMIN" | "EDITOR" | "AUTHOR" | "VIEWER";
2368
+ /**
2369
+ * WorkspaceSiteInfo
2370
+ * @description Combined workspace and site configuration response.
2371
+ *
2372
+ * Returns everything an external site needs to initialize itself.
2373
+ */
2374
+ WorkspaceSiteInfo: {
2375
+ workspace: components["schemas"]["WorkspaceInfo"];
2376
+ site: components["schemas"]["SiteConfiguration"];
2377
+ };
2378
+ /**
2379
+ * WorkspaceWithMembership
2380
+ * @description Workspace with user's role and active status.
2381
+ */
2382
+ WorkspaceWithMembership: {
2383
+ workspace: components["schemas"]["GroupRead"];
2384
+ role: components["schemas"]["WorkspaceRole"];
2385
+ /** Isactive */
2386
+ isActive: boolean;
2387
+ };
2388
+ };
2389
+ responses: never;
2390
+ parameters: never;
2391
+ requestBodies: never;
2392
+ headers: never;
2393
+ pathItems: never;
2394
+ }
2395
+
2396
+ /**
2397
+ * Platform API Types
2398
+ *
2399
+ * Re-exports types from the auto-generated OpenAPI schema
2400
+ * with better naming for public API consumption
2401
+ */
2402
+
2403
+ /**
2404
+ * Entry (Platform API - full CRUD)
2405
+ */
2406
+ type PlatformEntry = components['schemas']['EntryRead'];
2407
+ type PlatformEntryCreate = components['schemas']['EntryCreate'];
2408
+ type PlatformEntryUpdate = components['schemas']['EntryUpdate'];
2409
+ /**
2410
+ * Entry Type
2411
+ */
2412
+ type PlatformEntryType = components['schemas']['EntryTypeRead'];
2413
+ /**
2414
+ * Collection (Platform API - full CRUD)
2415
+ */
2416
+ type PlatformCollection = components['schemas']['CollectionRead'];
2417
+ type PlatformCollectionCreate = components['schemas']['CollectionCreate'];
2418
+ type PlatformCollectionUpdate = components['schemas']['CollectionUpdate'];
2419
+ /**
2420
+ * Resource (Platform API - full CRUD)
2421
+ */
2422
+ type PlatformResource = components['schemas']['ResourceRead'];
2423
+ type PlatformResourceCreate = components['schemas']['ResourceCreate'];
2424
+ type PlatformResourceUpdate = components['schemas']['ResourceUpdate'];
2425
+ /**
2426
+ * Asset (Platform API - full CRUD)
2427
+ */
2428
+ type PlatformAsset = components['schemas']['AssetRead'];
2429
+ type PlatformAssetCreate = components['schemas']['AssetCreate'];
2430
+ type PlatformAssetUpdate = Partial<PlatformAssetCreate>;
2431
+ /**
2432
+ * API Client (Platform API - manage publishing tokens)
2433
+ */
2434
+ type PlatformAPIClient = components['schemas']['APIClientRead'];
2435
+ type PlatformAPIClientCreate = components['schemas']['APIClientCreate'];
2436
+ type PlatformAPIClientUpdate = components['schemas']['APIClientUpdate'];
2437
+ type PlatformAPIClientWithToken = components['schemas']['APIClientWithToken'];
2438
+ /**
2439
+ * Workspace Member (Platform API - member management)
2440
+ */
2441
+ type PlatformWorkspaceMember = components['schemas']['WorkspaceMembershipRead'];
2442
+ type PlatformWorkspaceMemberCreate = components['schemas']['WorkspaceMemberCreate'];
2443
+ type PlatformWorkspaceMemberUpdate = components['schemas']['WorkspaceMemberUpdate'];
2444
+
2445
+ /**
2446
+ * Entries Module - Platform API
2447
+ *
2448
+ * CRUD operations for entries
2449
+ */
2450
+
2451
+ declare class EntriesModule {
2452
+ private http;
2453
+ constructor(http: HttpClient);
2454
+ /**
2455
+ * List all entries
2456
+ */
2457
+ list(): Promise<PlatformEntry[]>;
2458
+ /**
2459
+ * Get a single entry by ID
2460
+ */
2461
+ get(id: string): Promise<PlatformEntry>;
2462
+ /**
2463
+ * Create a new entry
2464
+ */
2465
+ create(data: PlatformEntryCreate): Promise<PlatformEntry>;
2466
+ /**
2467
+ * Update an entry
2468
+ */
2469
+ update(id: string, data: PlatformEntryUpdate): Promise<PlatformEntry>;
2470
+ /**
2471
+ * Delete an entry
2472
+ */
2473
+ delete(id: string): Promise<void>;
2474
+ /**
2475
+ * Get collections that this entry belongs to
2476
+ */
2477
+ listCollections(entryId: string): Promise<PlatformCollection[]>;
2478
+ /**
2479
+ * Add entry to a collection
2480
+ */
2481
+ addToCollection(entryId: string, collectionId: string): Promise<{
2482
+ message: string;
2483
+ }>;
2484
+ /**
2485
+ * Remove entry from a collection
2486
+ */
2487
+ removeFromCollection(entryId: string, collectionId: string): Promise<void>;
2488
+ }
2489
+
2490
+ /**
2491
+ * Collections Module - Platform API
2492
+ *
2493
+ * CRUD operations for collections
2494
+ */
2495
+
2496
+ declare class CollectionsModule {
2497
+ private http;
2498
+ constructor(http: HttpClient);
2499
+ /**
2500
+ * List all collections
2501
+ */
2502
+ list(): Promise<PlatformCollection[]>;
2503
+ /**
2504
+ * Get a single collection by ID
2505
+ */
2506
+ get(id: string): Promise<PlatformCollection>;
2507
+ /**
2508
+ * Create a new collection
2509
+ */
2510
+ create(data: PlatformCollectionCreate): Promise<PlatformCollection>;
2511
+ /**
2512
+ * Update a collection
2513
+ */
2514
+ update(id: string, data: PlatformCollectionUpdate): Promise<PlatformCollection>;
2515
+ /**
2516
+ * Delete a collection
2517
+ */
2518
+ delete(id: string): Promise<void>;
2519
+ }
2520
+
2521
+ /**
2522
+ * Resources Module - Platform API
2523
+ *
2524
+ * CRUD operations for resources
2525
+ */
2526
+
2527
+ declare class ResourcesModule {
2528
+ private http;
2529
+ constructor(http: HttpClient);
2530
+ /**
2531
+ * List all resources
2532
+ */
2533
+ list(): Promise<PlatformResource[]>;
2534
+ /**
2535
+ * Get a single resource by ID
2536
+ */
2537
+ get(id: string): Promise<PlatformResource>;
2538
+ /**
2539
+ * Create a new resource
2540
+ */
2541
+ create(data: PlatformResourceCreate): Promise<PlatformResource>;
2542
+ /**
2543
+ * Update a resource
2544
+ */
2545
+ update(id: string, data: PlatformResourceUpdate): Promise<PlatformResource>;
2546
+ /**
2547
+ * Delete a resource
2548
+ */
2549
+ delete(id: string): Promise<void>;
2550
+ }
2551
+
2552
+ /**
2553
+ * Assets Module - Platform API
2554
+ *
2555
+ * CRUD operations for assets
2556
+ */
2557
+
2558
+ declare class AssetsModule {
2559
+ private http;
2560
+ constructor(http: HttpClient);
2561
+ /**
2562
+ * List all assets
2563
+ */
2564
+ list(): Promise<PlatformAsset[]>;
2565
+ /**
2566
+ * Get a single asset by ID
2567
+ */
2568
+ get(id: string): Promise<PlatformAsset>;
2569
+ /**
2570
+ * Create a new asset
2571
+ */
2572
+ create(data: PlatformAssetCreate): Promise<PlatformAsset>;
2573
+ /**
2574
+ * Update an asset
2575
+ */
2576
+ update(id: string, data: PlatformAssetUpdate): Promise<PlatformAsset>;
2577
+ /**
2578
+ * Delete an asset
2579
+ */
2580
+ delete(id: string): Promise<void>;
2581
+ }
2582
+
2583
+ /**
2584
+ * API Clients Module - Platform API
2585
+ *
2586
+ * Manage publishing API tokens
2587
+ */
2588
+
2589
+ declare class APIClientsModule {
2590
+ private http;
2591
+ constructor(http: HttpClient);
2592
+ /**
2593
+ * List all API clients
2594
+ */
2595
+ list(): Promise<PlatformAPIClient[]>;
2596
+ /**
2597
+ * Get a single API client by ID
2598
+ */
2599
+ get(id: string): Promise<PlatformAPIClient>;
2600
+ /**
2601
+ * Create a new API client (returns client with token)
2602
+ */
2603
+ create(data: PlatformAPIClientCreate): Promise<PlatformAPIClientWithToken>;
2604
+ /**
2605
+ * Update an API client
2606
+ */
2607
+ update(id: string, data: PlatformAPIClientUpdate): Promise<PlatformAPIClient>;
2608
+ /**
2609
+ * Delete an API client
2610
+ */
2611
+ delete(id: string): Promise<void>;
2612
+ /**
2613
+ * Rotate API client token (generates new token, invalidates old one)
2614
+ */
2615
+ rotateToken(id: string): Promise<PlatformAPIClientWithToken>;
2616
+ /**
2617
+ * Preview API client token (show token prefix and metadata without revealing full token)
2618
+ */
2619
+ preview(id: string): Promise<PlatformAPIClient>;
2620
+ }
2621
+
2622
+ /**
2623
+ * Entry Types Module - Platform API
2624
+ *
2625
+ * Read-only access to entry types
2626
+ */
2627
+
2628
+ declare class EntryTypesModule {
2629
+ private http;
2630
+ constructor(http: HttpClient);
2631
+ /**
2632
+ * List all entry types
2633
+ */
2634
+ list(): Promise<PlatformEntryType[]>;
2635
+ /**
2636
+ * Get a single entry type by ID
2637
+ */
2638
+ get(id: string): Promise<PlatformEntryType>;
2639
+ }
2640
+
2641
+ /**
2642
+ * Workspace Members Module - Platform API
2643
+ *
2644
+ * Manage workspace members and their roles
2645
+ */
2646
+
2647
+ declare class WorkspaceMembersModule {
2648
+ private http;
2649
+ constructor(http: HttpClient);
2650
+ /**
2651
+ * List all members of a workspace
2652
+ */
2653
+ list(workspaceId: string): Promise<PlatformWorkspaceMember[]>;
2654
+ /**
2655
+ * Get a specific workspace member
2656
+ */
2657
+ get(workspaceId: string, userId: string): Promise<PlatformWorkspaceMember>;
2658
+ /**
2659
+ * Add a user to a workspace with a specific role
2660
+ */
2661
+ add(workspaceId: string, data: PlatformWorkspaceMemberCreate): Promise<PlatformWorkspaceMember>;
2662
+ /**
2663
+ * Update a workspace member's role
2664
+ */
2665
+ updateRole(workspaceId: string, userId: string, data: PlatformWorkspaceMemberUpdate): Promise<PlatformWorkspaceMember>;
2666
+ /**
2667
+ * Remove a user from a workspace
2668
+ */
2669
+ remove(workspaceId: string, userId: string): Promise<void>;
2670
+ }
2671
+
2672
+ /**
2673
+ * Platform API Client
2674
+ *
2675
+ * Workspace management API for authenticated users
2676
+ */
2677
+
2678
+ interface PlatformClientConfig {
2679
+ apiUrl: string;
2680
+ userToken?: string;
2681
+ credentials?: RequestCredentials;
2682
+ }
2683
+ declare class PlatformClient extends HttpClient {
2684
+ entries: EntriesModule;
2685
+ collections: CollectionsModule;
2686
+ resources: ResourcesModule;
2687
+ assets: AssetsModule;
2688
+ apiClients: APIClientsModule;
2689
+ entryTypes: EntryTypesModule;
2690
+ workspaceMembers: WorkspaceMembersModule;
2691
+ constructor(config: PlatformClientConfig);
2692
+ }
2693
+ /**
2694
+ * Create a Platform API client
2695
+ */
2696
+ declare function createPlatformClient(config: PlatformClientConfig): PlatformClient;
2697
+
2698
+ export { APIClientsModule, AssetsModule, CollectionsModule, EntriesModule, EntryTypesModule, type PlatformAPIClient, type PlatformAPIClientCreate, type PlatformAPIClientUpdate, type PlatformAPIClientWithToken, type PlatformAsset, type PlatformAssetCreate, type PlatformAssetUpdate, PlatformClient, type PlatformClientConfig, type PlatformCollection, type PlatformCollectionCreate, type PlatformCollectionUpdate, type PlatformEntry, type PlatformEntryCreate, type PlatformEntryType, type PlatformEntryUpdate, type PlatformResource, type PlatformResourceCreate, type PlatformResourceUpdate, type PlatformWorkspaceMember, type PlatformWorkspaceMemberCreate, type PlatformWorkspaceMemberUpdate, ResourcesModule, WorkspaceMembersModule, createPlatformClient };