@inneropen/marvin-sdk 2.0.0-next.24 → 2.0.0-next.25

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,3394 @@
1
+ interface components {
2
+ schemas: {
3
+ /**
4
+ * APIClientCreate
5
+ * @description Schema for creating a new API client.
6
+ */
7
+ APIClientCreate: {
8
+ /** Name */
9
+ name: string;
10
+ /** Slug */
11
+ slug?: string | null;
12
+ /** Description */
13
+ description?: string | null;
14
+ /** Permissions */
15
+ permissions?: {
16
+ [key: string]: unknown;
17
+ } | null;
18
+ };
19
+ /**
20
+ * APIClientRead
21
+ * @description Full schema for reading an API client.
22
+ */
23
+ APIClientRead: {
24
+ /**
25
+ * Id
26
+ * Format: uuid4
27
+ */
28
+ id: string;
29
+ /** Name */
30
+ name: string;
31
+ /** Slug */
32
+ slug: string;
33
+ /** Description */
34
+ description?: string | null;
35
+ /** Enabled */
36
+ enabled: boolean;
37
+ /**
38
+ * Groupid
39
+ * Format: uuid4
40
+ */
41
+ groupId: string;
42
+ /** Permissions */
43
+ permissions: {
44
+ [key: string]: unknown;
45
+ };
46
+ /** Lastusedat */
47
+ lastUsedAt?: string | null;
48
+ /** Createdat */
49
+ createdAt?: string | null;
50
+ /** Updateat */
51
+ updateAt?: string | null;
52
+ /** Revokedat */
53
+ revokedAt?: string | null;
54
+ };
55
+ /**
56
+ * APIClientUpdate
57
+ * @description Schema for updating an API client.
58
+ */
59
+ APIClientUpdate: {
60
+ /** Name */
61
+ name?: string | null;
62
+ /** Description */
63
+ description?: string | null;
64
+ /** Permissions */
65
+ permissions?: {
66
+ [key: string]: unknown;
67
+ } | null;
68
+ /** Enabled */
69
+ enabled?: boolean | null;
70
+ };
71
+ /**
72
+ * APIClientWithToken
73
+ * @description Response when creating or rotating an API client token - includes plaintext token ONCE.
74
+ */
75
+ APIClientWithToken: {
76
+ /**
77
+ * Id
78
+ * Format: uuid4
79
+ */
80
+ id: string;
81
+ /**
82
+ * Groupid
83
+ * Format: uuid4
84
+ */
85
+ groupId: string;
86
+ /** Name */
87
+ name: string;
88
+ /** Slug */
89
+ slug: string;
90
+ /** Description */
91
+ description?: string | null;
92
+ /** Permissions */
93
+ permissions: {
94
+ [key: string]: unknown;
95
+ };
96
+ /** Token */
97
+ token: string;
98
+ /** Enabled */
99
+ enabled: boolean;
100
+ /** Createdat */
101
+ createdAt?: string | null;
102
+ };
103
+ /**
104
+ * AdminAboutInfo
105
+ * @description Schema for detailed application information, extending `AppInfo` with
106
+ * additional details relevant for administrators.
107
+ */
108
+ AdminAboutInfo: {
109
+ /** Production */
110
+ production: boolean;
111
+ /** Version */
112
+ version: string;
113
+ /** Demostatus */
114
+ demoStatus: boolean;
115
+ /** Allowsignup */
116
+ allowSignup: boolean;
117
+ /** Defaultgroupslug */
118
+ defaultGroupSlug?: string | null;
119
+ /** Defaulthouseholdslug */
120
+ defaultHouseholdSlug?: string | null;
121
+ /** Enableoidc */
122
+ enableOidc: boolean;
123
+ /** Oidcredirect */
124
+ oidcRedirect: boolean;
125
+ /** Oidcprovidername */
126
+ oidcProviderName: string;
127
+ /** Enableopenai */
128
+ enableOpenai: boolean;
129
+ /** Enableopenaiimageservices */
130
+ enableOpenaiImageServices: boolean;
131
+ /** Versionlatest */
132
+ versionLatest: string;
133
+ /** Apiport */
134
+ apiPort: number;
135
+ /** Apidocs */
136
+ apiDocs: boolean;
137
+ /** Dbtype */
138
+ dbType: string;
139
+ /** Dburl */
140
+ dbUrl?: string | null;
141
+ /** Defaultgroup */
142
+ defaultGroup: string;
143
+ /** Buildid */
144
+ buildId: string;
145
+ };
146
+ /**
147
+ * AppInfo
148
+ * @description Schema for general, publicly accessible application information.
149
+ */
150
+ AppInfo: {
151
+ /** Production */
152
+ production: boolean;
153
+ /** Version */
154
+ version: string;
155
+ };
156
+ /**
157
+ * AppStatistics
158
+ * @description Schema for comprehensive application statistics.
159
+ */
160
+ AppStatistics: {
161
+ /** Totalusers */
162
+ totalUsers: number;
163
+ /** Totalgroups */
164
+ totalGroups: number;
165
+ /** Totalentries */
166
+ totalEntries: number;
167
+ /** Totalcollections */
168
+ totalCollections: number;
169
+ /** Totalentrytypes */
170
+ totalEntryTypes: number;
171
+ /** Totalassets */
172
+ totalAssets: number;
173
+ /** Totalresources */
174
+ totalResources: number;
175
+ /** Totalapitokens */
176
+ totalApiTokens: number;
177
+ /** Totalapiclients */
178
+ totalApiClients: number;
179
+ /** Totalwebhooks */
180
+ totalWebhooks: number;
181
+ };
182
+ /**
183
+ * AppTheme
184
+ * @description Schema defining the complete color system for the application's light and dark themes.
185
+ * Includes background, surface, text, border, and accent colors.
186
+ * Actual color values are defined in core/settings/theme.py
187
+ */
188
+ AppTheme: {
189
+ /** Lightbg */
190
+ lightBg: string;
191
+ /** Lightpanel */
192
+ lightPanel: string;
193
+ /** Lightpanelsecondary */
194
+ lightPanelSecondary: string;
195
+ /** Lighttext */
196
+ lightText: string;
197
+ /** Lighttextmuted */
198
+ lightTextMuted: string;
199
+ /** Lightborder */
200
+ lightBorder: string;
201
+ /** Lightprimary */
202
+ lightPrimary: string;
203
+ /** Lightaccent */
204
+ lightAccent: string;
205
+ /** Lightsecondary */
206
+ lightSecondary: string;
207
+ /** Lightsuccess */
208
+ lightSuccess: string;
209
+ /** Lightinfo */
210
+ lightInfo: string;
211
+ /** Lightwarning */
212
+ lightWarning: string;
213
+ /** Lighterror */
214
+ lightError: string;
215
+ /** Darkbg */
216
+ darkBg: string;
217
+ /** Darkpanel */
218
+ darkPanel: string;
219
+ /** Darkpanelsecondary */
220
+ darkPanelSecondary: string;
221
+ /** Darktext */
222
+ darkText: string;
223
+ /** Darktextmuted */
224
+ darkTextMuted: string;
225
+ /** Darkborder */
226
+ darkBorder: string;
227
+ /** Darkprimary */
228
+ darkPrimary: string;
229
+ /** Darkaccent */
230
+ darkAccent: string;
231
+ /** Darksecondary */
232
+ darkSecondary: string;
233
+ /** Darksuccess */
234
+ darkSuccess: string;
235
+ /** Darkinfo */
236
+ darkInfo: string;
237
+ /** Darkwarning */
238
+ darkWarning: string;
239
+ /** Darkerror */
240
+ darkError: string;
241
+ };
242
+ /**
243
+ * AssetRead
244
+ * @description Full schema for reading an asset.
245
+ */
246
+ AssetRead: {
247
+ /**
248
+ * Id
249
+ * Format: uuid4
250
+ */
251
+ id: string;
252
+ /** Slug */
253
+ slug: string;
254
+ /** Name */
255
+ name: string;
256
+ /** Mimetype */
257
+ mimeType: string;
258
+ /** Alttext */
259
+ altText?: string | null;
260
+ /** Originalfilename */
261
+ originalFilename: string;
262
+ /** Filename */
263
+ filename: string;
264
+ /** Extension */
265
+ extension: string;
266
+ /** Filesize */
267
+ fileSize: number;
268
+ /**
269
+ * Assettype
270
+ * @enum {string}
271
+ */
272
+ assetType: "image" | "document" | "video" | "audio" | "archive" | "svg" | "other";
273
+ /** Checksum */
274
+ checksum: string;
275
+ /** Width */
276
+ width?: number | null;
277
+ /** Height */
278
+ height?: number | null;
279
+ /** Orientation */
280
+ orientation?: number | null;
281
+ /** Storageprovider */
282
+ storageProvider: string;
283
+ /** Storagekey */
284
+ storageKey: string;
285
+ /** Publicurl */
286
+ publicUrl?: string | null;
287
+ /** Description */
288
+ description?: string | null;
289
+ /** Metadata */
290
+ metadata_?: {
291
+ [key: string]: unknown;
292
+ } | null;
293
+ /**
294
+ * Uploadedby
295
+ * Format: uuid4
296
+ */
297
+ uploadedBy: string;
298
+ };
299
+ /**
300
+ * AssetUpdate
301
+ * @description Schema for updating editable asset fields.
302
+ */
303
+ AssetUpdate: {
304
+ /** Slug */
305
+ slug?: string | null;
306
+ /** Name */
307
+ name?: string | null;
308
+ /** Alt Text */
309
+ alt_text?: string | null;
310
+ /** Description */
311
+ description?: string | null;
312
+ /** Metadata */
313
+ metadata?: {
314
+ [key: string]: unknown;
315
+ } | null;
316
+ };
317
+ /**
318
+ * AuthMethod
319
+ * @description Enumeration for the authentication methods a user can be associated with.
320
+ * @enum {string}
321
+ */
322
+ AuthMethod: "MARVIN" | "LDAP" | "OIDC";
323
+ /** Body_get_token_api_auth_token_post */
324
+ Body_get_token_api_auth_token_post: {
325
+ /**
326
+ * Username
327
+ * @default
328
+ */
329
+ username: string;
330
+ /**
331
+ * Password
332
+ * @default
333
+ */
334
+ password: string;
335
+ /**
336
+ * Remember Me
337
+ * @default false
338
+ */
339
+ remember_me: boolean;
340
+ };
341
+ /** Body_upload_asset_api_platform_assets_upload_post */
342
+ Body_upload_asset_api_platform_assets_upload_post: {
343
+ /**
344
+ * File
345
+ * Format: binary
346
+ */
347
+ file: string;
348
+ /** Slug */
349
+ slug: string;
350
+ /** Name */
351
+ name: string;
352
+ /** Alt Text */
353
+ alt_text?: string | null;
354
+ /** Description */
355
+ description?: string | null;
356
+ /** Metadata */
357
+ metadata?: string | null;
358
+ };
359
+ /**
360
+ * ChangePassword
361
+ * @description Schema for a password change request.
362
+ * Requires the user's current password and the new password (min length 8).
363
+ */
364
+ ChangePassword: {
365
+ /**
366
+ * Currentpassword
367
+ * @default
368
+ */
369
+ currentPassword: string;
370
+ /** Newpassword */
371
+ newPassword: string;
372
+ };
373
+ /**
374
+ * CheckAppConfig
375
+ * @description Schema representing the status of various critical application configurations.
376
+ * Used to quickly assess if key features are configured and ready for use.
377
+ */
378
+ CheckAppConfig: {
379
+ /** Emailready */
380
+ emailReady: boolean;
381
+ /** Ldapready */
382
+ ldapReady: boolean;
383
+ /** Oidcready */
384
+ oidcReady: boolean;
385
+ /** Enableopenai */
386
+ enableOpenai: boolean;
387
+ /** Appriseready */
388
+ appriseReady: boolean;
389
+ /** Baseurlset */
390
+ baseUrlSet: boolean;
391
+ /** Isuptodate */
392
+ isUpToDate: boolean;
393
+ };
394
+ /**
395
+ * CollectionCreate
396
+ * @description Schema for creating a new collection.
397
+ */
398
+ CollectionCreate: {
399
+ /** Name */
400
+ name: string;
401
+ /** Slug */
402
+ slug?: string | null;
403
+ /** Description */
404
+ description?: string | null;
405
+ /**
406
+ * Sortorder
407
+ * @default 0
408
+ */
409
+ sortOrder: number;
410
+ /** Icon */
411
+ icon?: string | null;
412
+ /** Color */
413
+ color?: string | null;
414
+ /**
415
+ * Issmart
416
+ * @default false
417
+ */
418
+ isSmart: boolean;
419
+ /** Smartrules */
420
+ smartRules?: {
421
+ [key: string]: unknown;
422
+ } | null;
423
+ /** Metadatajson */
424
+ metadataJson?: {
425
+ [key: string]: unknown;
426
+ } | null;
427
+ /** Entryids */
428
+ entryIds?: string[] | null;
429
+ };
430
+ /**
431
+ * CollectionRead
432
+ * @description Full schema for reading a collection.
433
+ */
434
+ CollectionRead: {
435
+ /**
436
+ * Id
437
+ * Format: uuid4
438
+ */
439
+ id: string;
440
+ /** Name */
441
+ name: string;
442
+ /** Slug */
443
+ slug: string;
444
+ /** Description */
445
+ description?: string | null;
446
+ /** Sortorder */
447
+ sortOrder: number;
448
+ /** Icon */
449
+ icon?: string | null;
450
+ /** Color */
451
+ color?: string | null;
452
+ /** Issmart */
453
+ isSmart: boolean;
454
+ /** Createdat */
455
+ createdAt?: string | null;
456
+ /** Updateat */
457
+ updateAt?: string | null;
458
+ /**
459
+ * Groupid
460
+ * Format: uuid4
461
+ */
462
+ groupId: string;
463
+ /** Smartrules */
464
+ smartRules?: {
465
+ [key: string]: unknown;
466
+ } | null;
467
+ /** Metadatajson */
468
+ metadataJson?: {
469
+ [key: string]: unknown;
470
+ } | null;
471
+ };
472
+ /**
473
+ * CollectionUpdate
474
+ * @description Schema for updating a collection.
475
+ */
476
+ CollectionUpdate: {
477
+ /** Name */
478
+ name?: string | null;
479
+ /** Slug */
480
+ slug?: string | null;
481
+ /** Description */
482
+ description?: string | null;
483
+ /** Sortorder */
484
+ sortOrder?: number | null;
485
+ /** Icon */
486
+ icon?: string | null;
487
+ /** Color */
488
+ color?: string | null;
489
+ /** Issmart */
490
+ isSmart?: boolean | null;
491
+ /** Smartrules */
492
+ smartRules?: {
493
+ [key: string]: unknown;
494
+ } | null;
495
+ /** Metadatajson */
496
+ metadataJson?: {
497
+ [key: string]: unknown;
498
+ } | null;
499
+ /** Entryids */
500
+ entryIds?: string[] | null;
501
+ };
502
+ /**
503
+ * EmailInitationResponse
504
+ * @description Schema for the response after attempting to send an email invitation.
505
+ * Indicates success or failure and provides an error message if applicable.
506
+ */
507
+ EmailInitationResponse: {
508
+ /** Success */
509
+ success: boolean;
510
+ /** Error */
511
+ error?: string | null;
512
+ };
513
+ /**
514
+ * EmailInvitation
515
+ * @description Schema for the request body when sending an email invitation.
516
+ * Contains the recipient's email and the invitation token string.
517
+ */
518
+ EmailInvitation: {
519
+ /** Email */
520
+ email: string;
521
+ /** Token */
522
+ token: string;
523
+ };
524
+ /**
525
+ * EmailReady
526
+ * @description Schema indicating the readiness of the email (SMTP) service.
527
+ */
528
+ EmailReady: {
529
+ /** Ready */
530
+ ready: boolean;
531
+ };
532
+ /**
533
+ * EmailSuccess
534
+ * @description Schema for the response when an email operation (like sending a test email) is attempted.
535
+ * Indicates success or failure and provides an error message if applicable.
536
+ */
537
+ EmailSuccess: {
538
+ /** Success */
539
+ success: boolean;
540
+ /** Error */
541
+ error?: string | null;
542
+ };
543
+ /**
544
+ * EmailTemplateCreate
545
+ * @description Schema for creating a new email template.
546
+ */
547
+ EmailTemplateCreate: {
548
+ /**
549
+ * Templatetype
550
+ * @description Type of email (invitation, password_reset, notification, test)
551
+ */
552
+ templateType: string;
553
+ /**
554
+ * Groupid
555
+ * @description Workspace ID - null for system-wide templates
556
+ */
557
+ groupId?: string | null;
558
+ /**
559
+ * Name
560
+ * @description Human-readable template name
561
+ */
562
+ name: string;
563
+ /**
564
+ * Description
565
+ * @description Description of when this template is used
566
+ */
567
+ description?: string | null;
568
+ /**
569
+ * Subject
570
+ * @description Email subject line - supports Jinja2 variables
571
+ */
572
+ subject: string;
573
+ /**
574
+ * Headertext
575
+ * @description Header text (structured mode with default.html)
576
+ */
577
+ headerText?: string | null;
578
+ /**
579
+ * Messagetop
580
+ * @description Top message (structured mode with default.html)
581
+ */
582
+ messageTop?: string | null;
583
+ /**
584
+ * Messagebottom
585
+ * @description Bottom message (structured mode with default.html)
586
+ */
587
+ messageBottom?: string | null;
588
+ /**
589
+ * Buttontext
590
+ * @description Button text (structured mode with default.html)
591
+ */
592
+ buttonText?: string | null;
593
+ /**
594
+ * Customhtml
595
+ * @description Full custom HTML - if set, overrides structured fields
596
+ */
597
+ customHtml?: string | null;
598
+ /**
599
+ * Availablevariables
600
+ * @description Documentation of available variables
601
+ */
602
+ availableVariables?: {
603
+ [key: string]: unknown;
604
+ } | null;
605
+ /**
606
+ * Enabled
607
+ * @description Whether this template is active
608
+ * @default true
609
+ */
610
+ enabled: boolean;
611
+ };
612
+ /**
613
+ * EmailTemplateRead
614
+ * @description Schema for reading an email template.
615
+ */
616
+ EmailTemplateRead: {
617
+ /**
618
+ * Id
619
+ * Format: uuid4
620
+ */
621
+ id: string;
622
+ /** Templatetype */
623
+ templateType: string;
624
+ /** Groupid */
625
+ groupId: string | null;
626
+ /** Name */
627
+ name: string;
628
+ /** Description */
629
+ description: string | null;
630
+ /** Subject */
631
+ subject: string;
632
+ /** Headertext */
633
+ headerText: string | null;
634
+ /** Messagetop */
635
+ messageTop: string | null;
636
+ /** Messagebottom */
637
+ messageBottom: string | null;
638
+ /** Buttontext */
639
+ buttonText: string | null;
640
+ /** Customhtml */
641
+ customHtml: string | null;
642
+ /** Availablevariables */
643
+ availableVariables: {
644
+ [key: string]: unknown;
645
+ } | null;
646
+ /** Enabled */
647
+ enabled: boolean;
648
+ /**
649
+ * Createdat
650
+ * Format: date-time
651
+ */
652
+ createdAt: string;
653
+ /**
654
+ * Updateat
655
+ * Format: date-time
656
+ */
657
+ updateAt: string;
658
+ };
659
+ /**
660
+ * EmailTemplateSummary
661
+ * @description Summary schema for listing email templates.
662
+ */
663
+ EmailTemplateSummary: {
664
+ /**
665
+ * Id
666
+ * Format: uuid4
667
+ */
668
+ id: string;
669
+ /** Templatetype */
670
+ templateType: string;
671
+ /** Name */
672
+ name: string;
673
+ /** Description */
674
+ description: string | null;
675
+ /** Enabled */
676
+ enabled: boolean;
677
+ };
678
+ /**
679
+ * EmailTemplateUpdate
680
+ * @description Schema for updating an email template.
681
+ */
682
+ EmailTemplateUpdate: {
683
+ /** Name */
684
+ name?: string | null;
685
+ /** Description */
686
+ description?: string | null;
687
+ /** Subject */
688
+ subject?: string | null;
689
+ /** Headertext */
690
+ headerText?: string | null;
691
+ /** Messagetop */
692
+ messageTop?: string | null;
693
+ /** Messagebottom */
694
+ messageBottom?: string | null;
695
+ /** Buttontext */
696
+ buttonText?: string | null;
697
+ /** Customhtml */
698
+ customHtml?: string | null;
699
+ /** Availablevariables */
700
+ availableVariables?: {
701
+ [key: string]: unknown;
702
+ } | null;
703
+ /** Enabled */
704
+ enabled?: boolean | null;
705
+ };
706
+ /**
707
+ * EmailTest
708
+ * @description Schema for the request body when sending a test email.
709
+ * Specifies the recipient email address.
710
+ */
711
+ EmailTest: {
712
+ /** Email */
713
+ email: string;
714
+ };
715
+ /**
716
+ * EntryAssetRead
717
+ * @description Asset metadata plus entry-specific placement details.
718
+ */
719
+ EntryAssetRead: {
720
+ /** Role */
721
+ role?: string | null;
722
+ /** Usage */
723
+ usage?: string | null;
724
+ /**
725
+ * Position
726
+ * @default 0
727
+ */
728
+ position: number;
729
+ /** Focalpoint */
730
+ focalPoint?: string | null;
731
+ /** Caption */
732
+ caption?: string | null;
733
+ /** Placementmetadata */
734
+ placementMetadata?: {
735
+ [key: string]: unknown;
736
+ } | null;
737
+ /**
738
+ * Id
739
+ * Format: uuid4
740
+ */
741
+ id: string;
742
+ /** Slug */
743
+ slug: string;
744
+ /** Name */
745
+ name: string;
746
+ /** Mimetype */
747
+ mimeType: string;
748
+ /** Alttext */
749
+ altText?: string | null;
750
+ /** Originalfilename */
751
+ originalFilename: string;
752
+ /** Filename */
753
+ filename: string;
754
+ /** Extension */
755
+ extension: string;
756
+ /** Filesize */
757
+ fileSize: number;
758
+ /**
759
+ * Assettype
760
+ * @enum {string}
761
+ */
762
+ assetType: "image" | "document" | "video" | "audio" | "archive" | "svg" | "other";
763
+ /** Checksum */
764
+ checksum: string;
765
+ /** Width */
766
+ width?: number | null;
767
+ /** Height */
768
+ height?: number | null;
769
+ /** Orientation */
770
+ orientation?: number | null;
771
+ /** Storageprovider */
772
+ storageProvider: string;
773
+ /** Storagekey */
774
+ storageKey: string;
775
+ /** Publicurl */
776
+ publicUrl?: string | null;
777
+ /** Description */
778
+ description?: string | null;
779
+ /** Metadata */
780
+ metadata_?: {
781
+ [key: string]: unknown;
782
+ } | null;
783
+ /**
784
+ * Uploadedby
785
+ * Format: uuid4
786
+ */
787
+ uploadedBy: string;
788
+ };
789
+ /**
790
+ * EntryCreate
791
+ * @description Schema for creating an entry.
792
+ *
793
+ * BREAKING CHANGE: content_markdown removed, replaced with data_json.
794
+ * Entry content is now schema-driven based on entry_type.schema_json.
795
+ */
796
+ EntryCreate: {
797
+ /**
798
+ * Entrytypeid
799
+ * Format: uuid4
800
+ */
801
+ entryTypeId: string;
802
+ /** Title */
803
+ title: string;
804
+ /** Slug */
805
+ slug?: string | null;
806
+ /** Summary */
807
+ summary?: string | null;
808
+ /** Description */
809
+ description?: string | null;
810
+ /**
811
+ * Datajson
812
+ * @description Schema-driven content data (validated against entry_type.schema_json)
813
+ */
814
+ dataJson?: {
815
+ [key: string]: unknown;
816
+ };
817
+ /**
818
+ * Status
819
+ * @default inbox
820
+ */
821
+ status: string;
822
+ /** Publishedat */
823
+ publishedAt?: string | null;
824
+ /** Publishat */
825
+ publishAt?: string | null;
826
+ /** Expireat */
827
+ expireAt?: string | null;
828
+ /**
829
+ * Metadatajson
830
+ * @description Custom non-schema metadata (API keys, external IDs, etc.)
831
+ */
832
+ metadataJson?: {
833
+ [key: string]: unknown;
834
+ } | null;
835
+ /** Collectionids */
836
+ collectionIds?: string[] | null;
837
+ /** Assetids */
838
+ assetIds?: string[] | null;
839
+ /** Resourceids */
840
+ resourceIds?: string[] | null;
841
+ };
842
+ /**
843
+ * EntryOrderItem
844
+ * @description Schema for a single entry order update.
845
+ */
846
+ EntryOrderItem: {
847
+ /**
848
+ * Entryid
849
+ * Format: uuid4
850
+ */
851
+ entryId: string;
852
+ /** Sortorder */
853
+ sortOrder: number;
854
+ };
855
+ /**
856
+ * EntryRead
857
+ * @description Schema for reading an entry.
858
+ *
859
+ * BREAKING CHANGE: content_markdown removed, replaced with data_json.
860
+ * Entry content is now schema-driven based on entry_type.schema_json.
861
+ */
862
+ EntryRead: {
863
+ /**
864
+ * Id
865
+ * Format: uuid4
866
+ */
867
+ id: string;
868
+ /**
869
+ * Groupid
870
+ * Format: uuid4
871
+ */
872
+ groupId: string;
873
+ /**
874
+ * Entrytypeid
875
+ * Format: uuid4
876
+ */
877
+ entryTypeId: string;
878
+ /** Title */
879
+ title: string;
880
+ /** Slug */
881
+ slug: string;
882
+ /** Summary */
883
+ summary?: string | null;
884
+ /** Description */
885
+ description?: string | null;
886
+ /**
887
+ * Datajson
888
+ * @description Schema-driven content data
889
+ */
890
+ dataJson?: {
891
+ [key: string]: unknown;
892
+ };
893
+ /** Status */
894
+ status: string;
895
+ /** Publishedat */
896
+ publishedAt?: string | null;
897
+ /** Publishat */
898
+ publishAt?: string | null;
899
+ /** Expireat */
900
+ expireAt?: string | null;
901
+ /**
902
+ * Metadatajson
903
+ * @description Custom non-schema metadata
904
+ */
905
+ metadataJson?: {
906
+ [key: string]: unknown;
907
+ } | null;
908
+ /** Createdby */
909
+ createdBy?: string | null;
910
+ /** Createdat */
911
+ createdAt?: string | null;
912
+ /** Updateat */
913
+ updateAt?: string | null;
914
+ /**
915
+ * Resources
916
+ * @default []
917
+ */
918
+ resources: components["schemas"]["ResourceSummary"][];
919
+ /**
920
+ * Assets
921
+ * @default []
922
+ */
923
+ assets: components["schemas"]["EntryAssetRead"][];
924
+ /**
925
+ * Collections
926
+ * @default []
927
+ */
928
+ collections: string[];
929
+ /** Order */
930
+ order?: number | null;
931
+ };
932
+ /**
933
+ * EntryTypeCapabilities
934
+ * @description Capabilities for a published entry type.
935
+ */
936
+ EntryTypeCapabilities: {
937
+ /**
938
+ * Publishable
939
+ * @default true
940
+ */
941
+ publishable: boolean;
942
+ /**
943
+ * Submittable
944
+ * @default false
945
+ */
946
+ submittable: boolean;
947
+ /**
948
+ * Routable
949
+ * @default true
950
+ */
951
+ routable: boolean;
952
+ };
953
+ /**
954
+ * EntryTypeCreate
955
+ * @description Schema for creating an entry type.
956
+ */
957
+ EntryTypeCreate: {
958
+ /** Name */
959
+ name: string;
960
+ /** Slug */
961
+ slug?: string | null;
962
+ /** Icon */
963
+ icon?: string | null;
964
+ /** Color */
965
+ color?: string | null;
966
+ /** Description */
967
+ description?: string | null;
968
+ /**
969
+ * Sortorder
970
+ * @default 0
971
+ */
972
+ sortOrder: number;
973
+ /**
974
+ * Issystem
975
+ * @default false
976
+ */
977
+ isSystem: boolean;
978
+ /**
979
+ * Isrendered
980
+ * @default false
981
+ */
982
+ isRendered: boolean;
983
+ /**
984
+ * Schema Json
985
+ * @description Entry type schema definition (EntryTypeSchemaDefinition)
986
+ */
987
+ schema_json?: {
988
+ [key: string]: unknown;
989
+ } | null;
990
+ /**
991
+ * Rendering Json
992
+ * @description Rendering configuration (RenderingDefinition)
993
+ */
994
+ rendering_json?: {
995
+ [key: string]: unknown;
996
+ } | null;
997
+ /**
998
+ * Capabilities Json
999
+ * @description Behavioral capabilities (CapabilitiesDefinition)
1000
+ */
1001
+ capabilities_json?: {
1002
+ [key: string]: unknown;
1003
+ } | null;
1004
+ };
1005
+ /**
1006
+ * EntryTypeRead
1007
+ * @description Schema for reading an entry type.
1008
+ *
1009
+ * System entry types have group_id=None and are globally available to all workspaces.
1010
+ * Workspace-scoped entry types have a specific group_id.
1011
+ */
1012
+ EntryTypeRead: {
1013
+ /**
1014
+ * Id
1015
+ * Format: uuid4
1016
+ */
1017
+ id: string;
1018
+ /** Groupid */
1019
+ groupId: string | null;
1020
+ /** Name */
1021
+ name: string;
1022
+ /** Slug */
1023
+ slug: string;
1024
+ /** Icon */
1025
+ icon?: string | null;
1026
+ /** Color */
1027
+ color?: string | null;
1028
+ /** Description */
1029
+ description?: string | null;
1030
+ /** Sortorder */
1031
+ sortOrder: number;
1032
+ /** Issystem */
1033
+ isSystem: boolean;
1034
+ /**
1035
+ * Isrendered
1036
+ * @default false
1037
+ */
1038
+ isRendered: boolean;
1039
+ /**
1040
+ * Schemajson
1041
+ * @description Entry type schema definition (EntryTypeSchemaDefinition)
1042
+ */
1043
+ schemaJson?: {
1044
+ [key: string]: unknown;
1045
+ } | null;
1046
+ /**
1047
+ * Renderingjson
1048
+ * @description Rendering configuration (RenderingDefinition)
1049
+ */
1050
+ renderingJson?: {
1051
+ [key: string]: unknown;
1052
+ } | null;
1053
+ /**
1054
+ * Capabilitiesjson
1055
+ * @description Behavioral capabilities (CapabilitiesDefinition)
1056
+ */
1057
+ capabilitiesJson?: {
1058
+ [key: string]: unknown;
1059
+ } | null;
1060
+ /** Createdat */
1061
+ createdAt?: string | null;
1062
+ /** Updateat */
1063
+ updateAt?: string | null;
1064
+ /** Warnings */
1065
+ warnings?: string[] | null;
1066
+ };
1067
+ /**
1068
+ * EntryTypeRendering
1069
+ * @description Rendering configuration for a published entry type.
1070
+ */
1071
+ EntryTypeRendering: {
1072
+ /** Renderer */
1073
+ renderer?: string | null;
1074
+ /** Package */
1075
+ package?: string | null;
1076
+ /** Version */
1077
+ version?: string | null;
1078
+ /** Config */
1079
+ config?: {
1080
+ [key: string]: unknown;
1081
+ } | null;
1082
+ };
1083
+ /**
1084
+ * EntryTypeUpdate
1085
+ * @description Schema for patching an entry type.
1086
+ */
1087
+ EntryTypeUpdate: {
1088
+ /** Name */
1089
+ name?: string | null;
1090
+ /** Slug */
1091
+ slug?: string | null;
1092
+ /** Icon */
1093
+ icon?: string | null;
1094
+ /** Color */
1095
+ color?: string | null;
1096
+ /** Description */
1097
+ description?: string | null;
1098
+ /** Sortorder */
1099
+ sortOrder?: number | null;
1100
+ /** Issystem */
1101
+ isSystem?: boolean | null;
1102
+ /** Isrendered */
1103
+ isRendered?: boolean | null;
1104
+ /**
1105
+ * Schema Json
1106
+ * @description Entry type schema definition (EntryTypeSchemaDefinition)
1107
+ */
1108
+ schema_json?: {
1109
+ [key: string]: unknown;
1110
+ } | null;
1111
+ /**
1112
+ * Rendering Json
1113
+ * @description Rendering configuration (RenderingDefinition)
1114
+ */
1115
+ rendering_json?: {
1116
+ [key: string]: unknown;
1117
+ } | null;
1118
+ /**
1119
+ * Capabilities Json
1120
+ * @description Behavioral capabilities (CapabilitiesDefinition)
1121
+ */
1122
+ capabilities_json?: {
1123
+ [key: string]: unknown;
1124
+ } | null;
1125
+ };
1126
+ /**
1127
+ * EntryUpdate
1128
+ * @description Schema for patching an entry.
1129
+ *
1130
+ * BREAKING CHANGE: content_markdown removed, replaced with data_json.
1131
+ * Entry content is now schema-driven based on entry_type.schema_json.
1132
+ */
1133
+ EntryUpdate: {
1134
+ /** Entry Type Id */
1135
+ entry_type_id?: string | null;
1136
+ /** Title */
1137
+ title?: string | null;
1138
+ /** Slug */
1139
+ slug?: string | null;
1140
+ /** Summary */
1141
+ summary?: string | null;
1142
+ /** Description */
1143
+ description?: string | null;
1144
+ /**
1145
+ * Datajson
1146
+ * @description Schema-driven content data (validated against entry_type.schema_json)
1147
+ */
1148
+ dataJson?: {
1149
+ [key: string]: unknown;
1150
+ } | null;
1151
+ /** Status */
1152
+ status?: string | null;
1153
+ /** Publishedat */
1154
+ publishedAt?: string | null;
1155
+ /** Publishat */
1156
+ publishAt?: string | null;
1157
+ /** Expireat */
1158
+ expireAt?: string | null;
1159
+ /**
1160
+ * Metadatajson
1161
+ * @description Custom non-schema metadata (API keys, external IDs, etc.)
1162
+ */
1163
+ metadataJson?: {
1164
+ [key: string]: unknown;
1165
+ } | null;
1166
+ /** Collection Ids */
1167
+ collection_ids?: string[] | null;
1168
+ /** Asset Ids */
1169
+ asset_ids?: string[] | null;
1170
+ /** Resource Ids */
1171
+ resource_ids?: string[] | null;
1172
+ };
1173
+ /**
1174
+ * EventDocumentType
1175
+ * @description Enumeration for the type of document or data payload associated with an event.
1176
+ * Helps listeners understand the nature of `EventDocumentDataBase` content.
1177
+ * @enum {string}
1178
+ */
1179
+ EventDocumentType: "generic" | "user" | "workspace" | "entry" | "form" | "form_submission" | "collection" | "asset" | "webhook" | "member" | "invitation" | "api_token" | "api_client" | "entry_type" | "resource" | "deployment";
1180
+ /**
1181
+ * EventLogRead
1182
+ * @description Schema for reading an event log entry.
1183
+ */
1184
+ EventLogRead: {
1185
+ /**
1186
+ * Id
1187
+ * Format: uuid4
1188
+ */
1189
+ id: string;
1190
+ /**
1191
+ * Eventid
1192
+ * Format: uuid4
1193
+ */
1194
+ eventId: string;
1195
+ /** Eventtype */
1196
+ eventType: string;
1197
+ /**
1198
+ * Occurredat
1199
+ * Format: date-time
1200
+ */
1201
+ occurredAt: string;
1202
+ /**
1203
+ * Workspaceid
1204
+ * Format: uuid4
1205
+ */
1206
+ workspaceId: string;
1207
+ /** Userid */
1208
+ userId?: string | null;
1209
+ /** Entityid */
1210
+ entityId?: string | null;
1211
+ /** Entitytype */
1212
+ entityType?: string | null;
1213
+ /** Integrationid */
1214
+ integrationId: string;
1215
+ /** Operation */
1216
+ operation?: string | null;
1217
+ /** Eventdata */
1218
+ eventData: {
1219
+ [key: string]: unknown;
1220
+ };
1221
+ /** Messagetitle */
1222
+ messageTitle: string;
1223
+ /** Messagebody */
1224
+ messageBody?: string | null;
1225
+ /** Createdat */
1226
+ createdAt?: string | null;
1227
+ /** Updateat */
1228
+ updateAt?: string | null;
1229
+ };
1230
+ /**
1231
+ * EventLogSummary
1232
+ * @description Summary schema for an event log entry (lighter payload).
1233
+ */
1234
+ EventLogSummary: {
1235
+ /**
1236
+ * Id
1237
+ * Format: uuid4
1238
+ */
1239
+ id: string;
1240
+ /**
1241
+ * Eventid
1242
+ * Format: uuid4
1243
+ */
1244
+ eventId: string;
1245
+ /** Eventtype */
1246
+ eventType: string;
1247
+ /**
1248
+ * Occurredat
1249
+ * Format: date-time
1250
+ */
1251
+ occurredAt: string;
1252
+ /**
1253
+ * Workspaceid
1254
+ * Format: uuid4
1255
+ */
1256
+ workspaceId: string;
1257
+ /** Userid */
1258
+ userId?: string | null;
1259
+ /** Entityid */
1260
+ entityId?: string | null;
1261
+ /** Entitytype */
1262
+ entityType?: string | null;
1263
+ /** Messagetitle */
1264
+ messageTitle: string;
1265
+ /** Messagebody */
1266
+ messageBody?: string | null;
1267
+ };
1268
+ /**
1269
+ * EventNotifierOptionsPagination
1270
+ * @description Schema for paginated responses containing a list of event notifier option summaries.
1271
+ */
1272
+ EventNotifierOptionsPagination: {
1273
+ /**
1274
+ * Page
1275
+ * @default 1
1276
+ */
1277
+ page: number;
1278
+ /**
1279
+ * Per Page
1280
+ * @default 10
1281
+ */
1282
+ per_page: number;
1283
+ /**
1284
+ * Total
1285
+ * @default 0
1286
+ */
1287
+ total: number;
1288
+ /**
1289
+ * Total Pages
1290
+ * @default 0
1291
+ */
1292
+ total_pages: number;
1293
+ /** Items */
1294
+ items: components["schemas"]["EventNotifierOptionsSummary"][];
1295
+ /** Next */
1296
+ next?: string | null;
1297
+ /** Previous */
1298
+ previous?: string | null;
1299
+ };
1300
+ /**
1301
+ * EventNotifierOptionsSummary
1302
+ * @description Schema for a summary representation of an event notifier option.
1303
+ * Extends `EventNotifierOptionsRead` with a combined `option` field (namespace.slug).
1304
+ */
1305
+ EventNotifierOptionsSummary: {
1306
+ /** Name */
1307
+ name: string;
1308
+ /** Description */
1309
+ description: string | null;
1310
+ /**
1311
+ * Enabled
1312
+ * @default false
1313
+ */
1314
+ enabled: boolean | null;
1315
+ /** Slug */
1316
+ slug: string | null;
1317
+ /** Option */
1318
+ option: string;
1319
+ };
1320
+ /**
1321
+ * ForgotPassword
1322
+ * @description Schema for the "forgot password" request.
1323
+ * Requires the user's email address to initiate the password reset process.
1324
+ */
1325
+ ForgotPassword: {
1326
+ /** Email */
1327
+ email: string;
1328
+ };
1329
+ /**
1330
+ * FormCreate
1331
+ * @description Schema for creating a form.
1332
+ */
1333
+ FormCreate: {
1334
+ /** Name */
1335
+ name: string;
1336
+ /** Slug */
1337
+ slug?: string | null;
1338
+ /** Description */
1339
+ description?: string | null;
1340
+ /**
1341
+ * Status
1342
+ * @default draft
1343
+ */
1344
+ status: string;
1345
+ /** Formschema */
1346
+ formSchema?: {
1347
+ [key: string]: unknown;
1348
+ };
1349
+ /** Settingsjson */
1350
+ settingsJson?: {
1351
+ [key: string]: unknown;
1352
+ } | null;
1353
+ /** Metadatajson */
1354
+ metadataJson?: {
1355
+ [key: string]: unknown;
1356
+ } | null;
1357
+ };
1358
+ /**
1359
+ * FormRead
1360
+ * @description Schema for reading a form.
1361
+ */
1362
+ FormRead: {
1363
+ /**
1364
+ * Id
1365
+ * Format: uuid4
1366
+ */
1367
+ id: string;
1368
+ /**
1369
+ * Groupid
1370
+ * Format: uuid4
1371
+ */
1372
+ groupId: string;
1373
+ /** Slug */
1374
+ slug: string;
1375
+ /** Name */
1376
+ name: string;
1377
+ /** Description */
1378
+ description: string | null;
1379
+ /** Schemajson */
1380
+ schemaJson: {
1381
+ [key: string]: unknown;
1382
+ };
1383
+ /** Settingsjson */
1384
+ settingsJson: {
1385
+ [key: string]: unknown;
1386
+ } | null;
1387
+ /** Metadatajson */
1388
+ metadataJson: {
1389
+ [key: string]: unknown;
1390
+ } | null;
1391
+ /** Status */
1392
+ status: string;
1393
+ /** Submissionscount */
1394
+ submissionsCount: number;
1395
+ /** Lastsubmissionat */
1396
+ lastSubmissionAt: string | null;
1397
+ /** Createdat */
1398
+ createdAt: string | null;
1399
+ /** Updateat */
1400
+ updateAt: string | null;
1401
+ };
1402
+ /**
1403
+ * FormSubmissionRead
1404
+ * @description Schema for reading a form submission.
1405
+ */
1406
+ FormSubmissionRead: {
1407
+ /**
1408
+ * Id
1409
+ * Format: uuid4
1410
+ */
1411
+ id: string;
1412
+ /**
1413
+ * Formid
1414
+ * Format: uuid4
1415
+ */
1416
+ formId: string;
1417
+ /**
1418
+ * Groupid
1419
+ * Format: uuid4
1420
+ */
1421
+ groupId: string;
1422
+ /** Datajson */
1423
+ dataJson: {
1424
+ [key: string]: unknown;
1425
+ };
1426
+ /** Metadatajson */
1427
+ metadataJson: {
1428
+ [key: string]: unknown;
1429
+ } | null;
1430
+ /** Status */
1431
+ status: string;
1432
+ /** Ipaddress */
1433
+ ipAddress: string | null;
1434
+ /** Useragent */
1435
+ userAgent: string | null;
1436
+ /** Referrer */
1437
+ referrer: string | null;
1438
+ /**
1439
+ * Submittedat
1440
+ * Format: date-time
1441
+ */
1442
+ submittedAt: string;
1443
+ /** Processedat */
1444
+ processedAt: string | null;
1445
+ };
1446
+ /**
1447
+ * FormSubmissionResponse
1448
+ * @description Response after form submission.
1449
+ *
1450
+ * Indicates success/failure and optionally provides redirect URL.
1451
+ */
1452
+ FormSubmissionResponse: {
1453
+ /** Success */
1454
+ success: boolean;
1455
+ /** Message */
1456
+ message: string;
1457
+ /** Submissionid */
1458
+ submissionId?: string | null;
1459
+ /** Redirecturl */
1460
+ redirectUrl?: string | null;
1461
+ };
1462
+ /**
1463
+ * FormUpdate
1464
+ * @description Schema for updating a form.
1465
+ */
1466
+ FormUpdate: {
1467
+ /** Name */
1468
+ name?: string | null;
1469
+ /** Slug */
1470
+ slug?: string | null;
1471
+ /** Description */
1472
+ description?: string | null;
1473
+ /** Status */
1474
+ status?: string | null;
1475
+ /** Formschema */
1476
+ formSchema?: {
1477
+ [key: string]: unknown;
1478
+ } | null;
1479
+ /** Settingsjson */
1480
+ settingsJson?: {
1481
+ [key: string]: unknown;
1482
+ } | null;
1483
+ /** Metadatajson */
1484
+ metadataJson?: {
1485
+ [key: string]: unknown;
1486
+ } | null;
1487
+ };
1488
+ /**
1489
+ * GroupAdminUpdate
1490
+ * @description Schema for administrators to update a group.
1491
+ * Allows updating the name and group preferences. Inherits `name` from `GroupCreate`.
1492
+ */
1493
+ GroupAdminUpdate: {
1494
+ /** Name */
1495
+ name: string;
1496
+ /**
1497
+ * Id
1498
+ * Format: uuid4
1499
+ */
1500
+ id: string;
1501
+ preferences?: components["schemas"]["GroupPreferencesUpdate"] | null;
1502
+ };
1503
+ /**
1504
+ * GroupCreate
1505
+ * @description Schema for creating a new group. Requires only a name.
1506
+ * The name will be stripped of whitespace and must have a minimum length of 1.
1507
+ */
1508
+ GroupCreate: {
1509
+ /** Name */
1510
+ name: string;
1511
+ };
1512
+ /**
1513
+ * GroupEventNotifierCreate
1514
+ * @description Schema for creating a new group event notifier.
1515
+ * A notifier typically involves a service URL (e.g., Apprise) and a set of
1516
+ * event options it should react to.
1517
+ * @example {
1518
+ * "apprise_url": "json://some-service-url/for/notifications",
1519
+ * "name": "My Project Updates Notifier",
1520
+ * "options": [
1521
+ * "core.test-message",
1522
+ * "project.task_completed"
1523
+ * ]
1524
+ * }
1525
+ */
1526
+ GroupEventNotifierCreate: {
1527
+ /** Name */
1528
+ name: string;
1529
+ /** Appriseurl */
1530
+ appriseUrl?: string | null;
1531
+ /**
1532
+ * Options
1533
+ * @default []
1534
+ */
1535
+ options: string[];
1536
+ };
1537
+ /**
1538
+ * GroupEventNotifierOptionsSummary
1539
+ * @description Schema for a summary representation of a group event notifier option.
1540
+ * Provides a combined `option` string (namespace.slug).
1541
+ */
1542
+ GroupEventNotifierOptionsSummary: {
1543
+ /** Option */
1544
+ option: string;
1545
+ };
1546
+ /**
1547
+ * GroupEventNotifierPagination
1548
+ * @description Schema for paginated responses containing a list of group event notifiers.
1549
+ */
1550
+ GroupEventNotifierPagination: {
1551
+ /**
1552
+ * Page
1553
+ * @default 1
1554
+ */
1555
+ page: number;
1556
+ /**
1557
+ * Per Page
1558
+ * @default 10
1559
+ */
1560
+ per_page: number;
1561
+ /**
1562
+ * Total
1563
+ * @default 0
1564
+ */
1565
+ total: number;
1566
+ /**
1567
+ * Total Pages
1568
+ * @default 0
1569
+ */
1570
+ total_pages: number;
1571
+ /** Items */
1572
+ items: components["schemas"]["GroupEventNotifierRead"][];
1573
+ /** Next */
1574
+ next?: string | null;
1575
+ /** Previous */
1576
+ previous?: string | null;
1577
+ };
1578
+ /**
1579
+ * GroupEventNotifierRead
1580
+ * @description Schema for representing a group event notifier when read from the system.
1581
+ * Includes its configuration and the list of event options it's subscribed to.
1582
+ */
1583
+ GroupEventNotifierRead: {
1584
+ /**
1585
+ * Id
1586
+ * Format: uuid4
1587
+ */
1588
+ id: string;
1589
+ /** Name */
1590
+ name: string;
1591
+ /** Enabled */
1592
+ enabled: boolean;
1593
+ /**
1594
+ * Groupid
1595
+ * Format: uuid4
1596
+ */
1597
+ groupId: string;
1598
+ /**
1599
+ * Options
1600
+ * @default []
1601
+ */
1602
+ options: components["schemas"]["GroupEventNotifierOptionsSummary"][];
1603
+ };
1604
+ /**
1605
+ * GroupEventNotifierUpdate
1606
+ * @description Schema for updating an existing group event notifier.
1607
+ * Extends `GroupEventNotifierSave`, implying all fields can be updated,
1608
+ * and adds an `enabled` flag.
1609
+ *
1610
+ * For partial updates (PATCH), individual fields should be `Optional`.
1611
+ * This schema implies a PUT-style update where all fields are provided.
1612
+ * @example {
1613
+ * "apprise_url": "json://some-service-url/for/notifications",
1614
+ * "name": "My Project Updates Notifier",
1615
+ * "options": [
1616
+ * "core.test-message",
1617
+ * "project.task_completed"
1618
+ * ]
1619
+ * }
1620
+ */
1621
+ GroupEventNotifierUpdate: {
1622
+ /** Name */
1623
+ name: string;
1624
+ /** Appriseurl */
1625
+ appriseUrl?: string | null;
1626
+ /**
1627
+ * Options
1628
+ * @default []
1629
+ */
1630
+ options: string[];
1631
+ /**
1632
+ * Groupid
1633
+ * Format: uuid4
1634
+ */
1635
+ groupId: string;
1636
+ /**
1637
+ * Enabled
1638
+ * @default true
1639
+ */
1640
+ enabled: boolean;
1641
+ };
1642
+ /**
1643
+ * GroupPagination
1644
+ * @description Schema for paginated responses containing a list of groups.
1645
+ * The items in the list are expected to conform to the `GroupRead` schema.
1646
+ */
1647
+ GroupPagination: {
1648
+ /**
1649
+ * Page
1650
+ * @default 1
1651
+ */
1652
+ page: number;
1653
+ /**
1654
+ * Per Page
1655
+ * @default 10
1656
+ */
1657
+ per_page: number;
1658
+ /**
1659
+ * Total
1660
+ * @default 0
1661
+ */
1662
+ total: number;
1663
+ /**
1664
+ * Total Pages
1665
+ * @default 0
1666
+ */
1667
+ total_pages: number;
1668
+ /** Items */
1669
+ items: components["schemas"]["GroupRead"][];
1670
+ /** Next */
1671
+ next?: string | null;
1672
+ /** Previous */
1673
+ previous?: string | null;
1674
+ };
1675
+ /**
1676
+ * GroupPreferencesRead
1677
+ * @description Schema for representing group preferences when read from the system.
1678
+ * Includes all preference fields.
1679
+ */
1680
+ GroupPreferencesRead: {
1681
+ /**
1682
+ * Groupid
1683
+ * Format: uuid4
1684
+ */
1685
+ groupId: string;
1686
+ /**
1687
+ * Privategroup
1688
+ * @default true
1689
+ */
1690
+ privateGroup: boolean;
1691
+ /**
1692
+ * Firstdayofweek
1693
+ * @default 0
1694
+ */
1695
+ firstDayOfWeek: number;
1696
+ /** Sitetitle */
1697
+ siteTitle?: string | null;
1698
+ /** Sitetagline */
1699
+ siteTagline?: string | null;
1700
+ /** Sitedescription */
1701
+ siteDescription?: string | null;
1702
+ /** Sitecanonicalurl */
1703
+ siteCanonicalUrl?: string | null;
1704
+ /** Sitelogo */
1705
+ siteLogo?: string | null;
1706
+ /** Sitefavicon */
1707
+ siteFavicon?: string | null;
1708
+ /**
1709
+ * Sitelocale
1710
+ * @default en-US
1711
+ */
1712
+ siteLocale: string | null;
1713
+ /**
1714
+ * Sitetimezone
1715
+ * @default America/New_York
1716
+ */
1717
+ siteTimezone: string | null;
1718
+ /** Sitecontactemail */
1719
+ siteContactEmail?: string | null;
1720
+ /** Sitesocialjson */
1721
+ siteSocialJson?: {
1722
+ [key: string]: unknown;
1723
+ } | null;
1724
+ /** Sitemetadatajson */
1725
+ siteMetadataJson?: {
1726
+ [key: string]: unknown;
1727
+ } | null;
1728
+ };
1729
+ /**
1730
+ * GroupPreferencesUpdate
1731
+ * @description Schema for updating existing group preferences and workspace settings.
1732
+ * All fields are optional for partial updates.
1733
+ * The id and group_id are set by the controller based on the URL path.
1734
+ */
1735
+ GroupPreferencesUpdate: {
1736
+ /** Id */
1737
+ id?: string | null;
1738
+ /** Groupid */
1739
+ groupId?: string | null;
1740
+ /** Name */
1741
+ name?: string | null;
1742
+ /** Privategroup */
1743
+ privateGroup?: boolean | null;
1744
+ /** Firstdayofweek */
1745
+ firstDayOfWeek?: number | null;
1746
+ /** Sitetitle */
1747
+ siteTitle?: string | null;
1748
+ /** Sitetagline */
1749
+ siteTagline?: string | null;
1750
+ /** Sitedescription */
1751
+ siteDescription?: string | null;
1752
+ /** Sitecanonicalurl */
1753
+ siteCanonicalUrl?: string | null;
1754
+ /** Sitelogo */
1755
+ siteLogo?: string | null;
1756
+ /** Sitefavicon */
1757
+ siteFavicon?: string | null;
1758
+ /** Sitelocale */
1759
+ siteLocale?: string | null;
1760
+ /** Sitetimezone */
1761
+ siteTimezone?: string | null;
1762
+ /** Sitecontactemail */
1763
+ siteContactEmail?: string | null;
1764
+ /** Sitesocialjson */
1765
+ siteSocialJson?: {
1766
+ [key: string]: unknown;
1767
+ } | null;
1768
+ /** Sitemetadatajson */
1769
+ siteMetadataJson?: {
1770
+ [key: string]: unknown;
1771
+ } | null;
1772
+ };
1773
+ /**
1774
+ * GroupRead
1775
+ * @description Schema for representing a group when read from the system, including detailed information.
1776
+ * This typically serves as a response model for GET requests.
1777
+ * Inherits `id`, `name`, and `webhooks` (as `WebhookRead`) from `GroupUpdate`.
1778
+ */
1779
+ GroupRead: {
1780
+ /** Name */
1781
+ name: string;
1782
+ /**
1783
+ * Id
1784
+ * Format: uuid4
1785
+ */
1786
+ id: string;
1787
+ /**
1788
+ * Webhooks
1789
+ * @default []
1790
+ */
1791
+ webhooks: components["schemas"]["WebhookRead"][];
1792
+ /** Slug */
1793
+ slug?: string | null;
1794
+ /** Users */
1795
+ users?: components["schemas"]["UserSummary"][] | null;
1796
+ preferences?: components["schemas"]["GroupPreferencesRead"] | null;
1797
+ };
1798
+ /** HTTPValidationError */
1799
+ HTTPValidationError: {
1800
+ /** Detail */
1801
+ detail?: components["schemas"]["ValidationError"][];
1802
+ };
1803
+ /**
1804
+ * HealthCheck
1805
+ * @description Response model for the health check endpoint.
1806
+ * Indicates the operational status of the application.
1807
+ */
1808
+ HealthCheck: {
1809
+ /**
1810
+ * Status
1811
+ * @default OK
1812
+ */
1813
+ status: string;
1814
+ };
1815
+ /**
1816
+ * InviteTokenCreate
1817
+ * @description Schema for creating a new group invitation token.
1818
+ * Specifies the initial number of uses, role, and the group it belongs to.
1819
+ */
1820
+ InviteTokenCreate: {
1821
+ /** Usesleft */
1822
+ usesLeft: number;
1823
+ /** @default EDITOR */
1824
+ workspaceRole: components["schemas"]["WorkspaceRole"];
1825
+ };
1826
+ /**
1827
+ * InviteTokenPagination
1828
+ * @description Schema for paginated responses containing a list of invite token summaries.
1829
+ */
1830
+ InviteTokenPagination: {
1831
+ /**
1832
+ * Page
1833
+ * @default 1
1834
+ */
1835
+ page: number;
1836
+ /**
1837
+ * Per Page
1838
+ * @default 10
1839
+ */
1840
+ per_page: number;
1841
+ /**
1842
+ * Total
1843
+ * @default 0
1844
+ */
1845
+ total: number;
1846
+ /**
1847
+ * Total Pages
1848
+ * @default 0
1849
+ */
1850
+ total_pages: number;
1851
+ /** Items */
1852
+ items: components["schemas"]["InviteTokenSummary"][];
1853
+ /** Next */
1854
+ next?: string | null;
1855
+ /** Previous */
1856
+ previous?: string | null;
1857
+ };
1858
+ /**
1859
+ * InviteTokenSummary
1860
+ * @description Schema for a summary representation of a invite token.
1861
+ */
1862
+ InviteTokenSummary: {
1863
+ /** Usesleft */
1864
+ usesLeft: number;
1865
+ workspaceRole: components["schemas"]["WorkspaceRole"];
1866
+ /**
1867
+ * Id
1868
+ * Format: uuid4
1869
+ */
1870
+ id: string;
1871
+ /** Token */
1872
+ token: string;
1873
+ /** Createdat */
1874
+ createdAt?: string | null;
1875
+ };
1876
+ /**
1877
+ * LongLiveTokenCreate
1878
+ * @description Schema for creating a new long-lived API token (Personal Access Token).
1879
+ */
1880
+ LongLiveTokenCreate: {
1881
+ /** Name */
1882
+ name: string;
1883
+ /** Description */
1884
+ description?: string | null;
1885
+ /**
1886
+ * Integrationid
1887
+ * @default generic
1888
+ */
1889
+ integrationId: string;
1890
+ };
1891
+ /**
1892
+ * LongLiveTokenRead
1893
+ * @description Schema for representing a long-lived API token when read from the system.
1894
+ * Excludes the sensitive token string itself (never return token_hash).
1895
+ * Includes security fields: enabled, last_used_at, revoked_at.
1896
+ */
1897
+ LongLiveTokenRead: {
1898
+ /**
1899
+ * Id
1900
+ * Format: uuid4
1901
+ */
1902
+ id: string;
1903
+ /**
1904
+ * Userid
1905
+ * Format: uuid4
1906
+ */
1907
+ userId: string;
1908
+ /** Name */
1909
+ name: string;
1910
+ /** Description */
1911
+ description?: string | null;
1912
+ /** Enabled */
1913
+ enabled: boolean;
1914
+ /** Lastusedat */
1915
+ lastUsedAt?: string | null;
1916
+ /** Revokedat */
1917
+ revokedAt?: string | null;
1918
+ /** Createdat */
1919
+ createdAt?: string | null;
1920
+ /** Updateat */
1921
+ updateAt?: string | null;
1922
+ /**
1923
+ * Integrationid
1924
+ * @default generic
1925
+ */
1926
+ integrationId: string;
1927
+ };
1928
+ /**
1929
+ * LongLiveTokenUpdate
1930
+ * @description Schema for updating an existing long-lived API token.
1931
+ * All fields are optional.
1932
+ */
1933
+ LongLiveTokenUpdate: {
1934
+ /** Name */
1935
+ name?: string | null;
1936
+ /** Description */
1937
+ description?: string | null;
1938
+ /** Enabled */
1939
+ enabled?: boolean | null;
1940
+ };
1941
+ /**
1942
+ * LongLiveTokenWithToken
1943
+ * @description Schema for the response when a new token is created or rotated.
1944
+ * Includes the actual `token` string, which is shown ONLY ONCE.
1945
+ *
1946
+ * IMPORTANT: The plaintext token is never stored in the database.
1947
+ * Only the bcrypt hash is stored.
1948
+ */
1949
+ LongLiveTokenWithToken: {
1950
+ /**
1951
+ * Id
1952
+ * Format: uuid4
1953
+ */
1954
+ id: string;
1955
+ /**
1956
+ * Userid
1957
+ * Format: uuid4
1958
+ */
1959
+ userId: string;
1960
+ /** Name */
1961
+ name: string;
1962
+ /** Description */
1963
+ description?: string | null;
1964
+ /** Enabled */
1965
+ enabled: boolean;
1966
+ /** Token */
1967
+ token: string;
1968
+ /** Createdat */
1969
+ createdAt?: string | null;
1970
+ };
1971
+ /**
1972
+ * MaintenanceStorageDetails
1973
+ * @description Schema providing detailed storage usage for various key application directories.
1974
+ * All sizes are presented as human-readable strings.
1975
+ */
1976
+ MaintenanceStorageDetails: {
1977
+ /** Tempdirsize */
1978
+ tempDirSize: string;
1979
+ /** Backupsdirsize */
1980
+ backupsDirSize: string;
1981
+ /** Seedsdirsize */
1982
+ seedsDirSize: string;
1983
+ /** Plugindirsize */
1984
+ pluginDirSize: string;
1985
+ };
1986
+ /**
1987
+ * MaintenanceSummary
1988
+ * @description Schema for a summary of maintenance information, currently focused on data directory size.
1989
+ */
1990
+ MaintenanceSummary: {
1991
+ /** Datadirsize */
1992
+ dataDirSize: string;
1993
+ };
1994
+ /**
1995
+ * MarvinAuthToken
1996
+ * @description Pydantic response model for authentication tokens.
1997
+ */
1998
+ MarvinAuthToken: {
1999
+ /** Access Token */
2000
+ access_token: string;
2001
+ /**
2002
+ * Token Type
2003
+ * @default bearer
2004
+ */
2005
+ token_type: string;
2006
+ };
2007
+ /**
2008
+ * OrderByNullPosition
2009
+ * @description Enumeration for specifying how NULL values should be positioned in ordered results.
2010
+ * @enum {string}
2011
+ */
2012
+ OrderByNullPosition: "first" | "last";
2013
+ /**
2014
+ * OrderDirection
2015
+ * @description Enumeration for specifying the direction of ordering in queries.
2016
+ * @enum {string}
2017
+ */
2018
+ OrderDirection: "asc" | "desc";
2019
+ /**
2020
+ * PaginationMeta
2021
+ * @description Pagination metadata.
2022
+ */
2023
+ PaginationMeta: {
2024
+ /** Total */
2025
+ total: number;
2026
+ /** Page */
2027
+ page: number;
2028
+ /** Limit */
2029
+ limit: number;
2030
+ /** Offset */
2031
+ offset: number;
2032
+ };
2033
+ /**
2034
+ * PasswordResetToken
2035
+ * @description Schema representing a password reset token along with the associated email.
2036
+ * This might be used when returning token information or in contexts where
2037
+ * both email and token are relevant.
2038
+ */
2039
+ PasswordResetToken: {
2040
+ /** Email */
2041
+ email: string;
2042
+ /** Token */
2043
+ token: string;
2044
+ };
2045
+ /**
2046
+ * PlatformRole
2047
+ * @description Platform-level roles for Marvin.
2048
+ *
2049
+ * A user has ONE platform role that determines their platform-level access.
2050
+ * Platform roles are independent of workspace membership.
2051
+ * @enum {string}
2052
+ */
2053
+ PlatformRole: "NONE" | "SUPER_ADMIN";
2054
+ /**
2055
+ * PublishedAssetRead
2056
+ * @description Schema for published assets in the publishing API.
2057
+ *
2058
+ * Provides asset metadata for external sites to build proper media tags.
2059
+ * Read-only, does not expose internal fields like storage_key or uploaded_by.
2060
+ */
2061
+ PublishedAssetRead: {
2062
+ /** Slug */
2063
+ slug: string;
2064
+ /** Name */
2065
+ name: string;
2066
+ /** Mimetype */
2067
+ mimeType: string;
2068
+ /** Assettype */
2069
+ assetType: string;
2070
+ /** Filesize */
2071
+ fileSize: number;
2072
+ /** Width */
2073
+ width?: number | null;
2074
+ /** Height */
2075
+ height?: number | null;
2076
+ /** Alttext */
2077
+ altText?: string | null;
2078
+ /** Description */
2079
+ description?: string | null;
2080
+ /** Publicurl */
2081
+ publicUrl: string;
2082
+ /** Metadatajson */
2083
+ metadataJson?: {
2084
+ [key: string]: unknown;
2085
+ } | null;
2086
+ };
2087
+ /**
2088
+ * PublishedAssetsResponse
2089
+ * @description Paginated response for listing published assets.
2090
+ */
2091
+ PublishedAssetsResponse: {
2092
+ /** Data */
2093
+ data: components["schemas"]["PublishedAssetRead"][];
2094
+ meta: components["schemas"]["PaginationMeta"];
2095
+ };
2096
+ /**
2097
+ * PublishedCollectionRead
2098
+ * @description Schema for published collections in the publishing API.
2099
+ *
2100
+ * Includes collection metadata and its published entries.
2101
+ */
2102
+ PublishedCollectionRead: {
2103
+ /** Slug */
2104
+ slug: string;
2105
+ /** Name */
2106
+ name: string;
2107
+ /** Description */
2108
+ description?: string | null;
2109
+ /**
2110
+ * Issmart
2111
+ * @default false
2112
+ */
2113
+ isSmart: boolean;
2114
+ /** Smartrules */
2115
+ smartRules?: {
2116
+ [key: string]: unknown;
2117
+ } | null;
2118
+ /** Metadatajson */
2119
+ metadataJson?: {
2120
+ [key: string]: unknown;
2121
+ } | null;
2122
+ /** Entrycount */
2123
+ entryCount: number;
2124
+ /** Entries */
2125
+ entries: components["schemas"]["PublishedEntryListItem"][];
2126
+ };
2127
+ /**
2128
+ * PublishedCollectionSummary
2129
+ * @description Summary schema for published collections (for listing).
2130
+ *
2131
+ * Minimal collection info for entry contexts - only includes
2132
+ * essential fields for display and ordering.
2133
+ */
2134
+ PublishedCollectionSummary: {
2135
+ /** Slug */
2136
+ slug: string;
2137
+ /** Name */
2138
+ name: string;
2139
+ /** Metadatajson */
2140
+ metadataJson?: {
2141
+ [key: string]: unknown;
2142
+ } | null;
2143
+ /** Sortorder */
2144
+ sortOrder: number;
2145
+ };
2146
+ /**
2147
+ * PublishedCollectionsResponse
2148
+ * @description Paginated response for listing published collections.
2149
+ */
2150
+ PublishedCollectionsResponse: {
2151
+ /** Data */
2152
+ data: components["schemas"]["PublishedCollectionSummary"][];
2153
+ meta: components["schemas"]["PaginationMeta"];
2154
+ };
2155
+ /**
2156
+ * PublishedEntriesResponse
2157
+ * @description Paginated response for listing published entries.
2158
+ */
2159
+ PublishedEntriesResponse: {
2160
+ /** Data */
2161
+ data: components["schemas"]["PublishedEntryListItem"][];
2162
+ meta: components["schemas"]["PaginationMeta"];
2163
+ };
2164
+ /**
2165
+ * PublishedEntryListItem
2166
+ * @description Minimal entry schema for list responses.
2167
+ *
2168
+ * Used when listing multiple entries - returns only essential fields
2169
+ * without full content.
2170
+ */
2171
+ PublishedEntryListItem: {
2172
+ /** Slug */
2173
+ slug: string;
2174
+ /** Title */
2175
+ title: string;
2176
+ /** Entrytype */
2177
+ entryType: string;
2178
+ entryTypeInfo?: components["schemas"]["PublishedEntryTypeInfo"] | null;
2179
+ /** Summary */
2180
+ summary?: string | null;
2181
+ /** Publishedat */
2182
+ publishedAt?: string | null;
2183
+ /** Status */
2184
+ status: string;
2185
+ /**
2186
+ * Collections
2187
+ * @default []
2188
+ */
2189
+ collections: string[];
2190
+ /**
2191
+ * Assetslugs
2192
+ * @default []
2193
+ */
2194
+ assetSlugs: string[];
2195
+ /**
2196
+ * Resourceslugs
2197
+ * @default []
2198
+ */
2199
+ resourceSlugs: string[];
2200
+ /** Order */
2201
+ order?: number | null;
2202
+ };
2203
+ /**
2204
+ * PublishedEntryRead
2205
+ * @description Schema for published entries in the publishing API.
2206
+ *
2207
+ * Only includes public-facing fields. Excludes all admin metadata,
2208
+ * internal fields, and user information.
2209
+ *
2210
+ * BREAKING CHANGE: content_markdown removed, replaced with data.
2211
+ * Entry content is now schema-driven based on entry_type.schema_json.
2212
+ */
2213
+ PublishedEntryRead: {
2214
+ /** Slug */
2215
+ slug: string;
2216
+ /** Title */
2217
+ title: string;
2218
+ /** Entrytype */
2219
+ entryType: string;
2220
+ entryTypeInfo?: components["schemas"]["PublishedEntryTypeInfo"] | null;
2221
+ /** Summary */
2222
+ summary?: string | null;
2223
+ /** Data */
2224
+ data: {
2225
+ [key: string]: unknown;
2226
+ };
2227
+ /** Publishedat */
2228
+ publishedAt?: string | null;
2229
+ /** Metadatajson */
2230
+ metadataJson?: {
2231
+ [key: string]: unknown;
2232
+ } | null;
2233
+ /**
2234
+ * Collections
2235
+ * @default []
2236
+ */
2237
+ collections: components["schemas"]["PublishedCollectionSummary"][];
2238
+ /**
2239
+ * Resources
2240
+ * @default []
2241
+ */
2242
+ resources: components["schemas"]["PublishedResourceRead"][];
2243
+ /**
2244
+ * Assets
2245
+ * @default []
2246
+ */
2247
+ assets: components["schemas"]["PublishedAssetRead"][];
2248
+ /** Order */
2249
+ order?: number | null;
2250
+ };
2251
+ /**
2252
+ * PublishedEntryTypeInfo
2253
+ * @description Flattened entry type rendering and capabilities info for published entries.
2254
+ */
2255
+ PublishedEntryTypeInfo: {
2256
+ /** Slug */
2257
+ slug: string;
2258
+ /** Renderer */
2259
+ renderer?: string | null;
2260
+ /** Package */
2261
+ package?: string | null;
2262
+ /** Version */
2263
+ version?: string | null;
2264
+ /** Config */
2265
+ config?: {
2266
+ [key: string]: unknown;
2267
+ } | null;
2268
+ /**
2269
+ * Publishable
2270
+ * @default true
2271
+ */
2272
+ publishable: boolean;
2273
+ /**
2274
+ * Submittable
2275
+ * @default false
2276
+ */
2277
+ submittable: boolean;
2278
+ /**
2279
+ * Routable
2280
+ * @default true
2281
+ */
2282
+ routable: boolean;
2283
+ };
2284
+ /**
2285
+ * PublishedEntryTypeRead
2286
+ * @description Schema for entry types in the publishing API.
2287
+ */
2288
+ PublishedEntryTypeRead: {
2289
+ /** Slug */
2290
+ slug: string;
2291
+ /** Name */
2292
+ name: string;
2293
+ /**
2294
+ * Isrendered
2295
+ * @default false
2296
+ */
2297
+ isRendered: boolean;
2298
+ rendering?: components["schemas"]["EntryTypeRendering"] | null;
2299
+ capabilities?: components["schemas"]["EntryTypeCapabilities"] | null;
2300
+ };
2301
+ /**
2302
+ * PublishedFormRead
2303
+ * @description Schema for published forms in the publishing API.
2304
+ *
2305
+ * Provides form definition for frontend to render the form.
2306
+ * Does not expose internal fields like submissions_count.
2307
+ */
2308
+ PublishedFormRead: {
2309
+ /** Slug */
2310
+ slug: string;
2311
+ /** Name */
2312
+ name: string;
2313
+ /** Description */
2314
+ description?: string | null;
2315
+ /** Formschema */
2316
+ formSchema: {
2317
+ [key: string]: unknown;
2318
+ };
2319
+ /** Metadata */
2320
+ metadata?: {
2321
+ [key: string]: unknown;
2322
+ } | null;
2323
+ };
2324
+ /**
2325
+ * PublishedResourceRead
2326
+ * @description Schema for published resources in entry context.
2327
+ *
2328
+ * Combines resource metadata with entry-specific placement info.
2329
+ */
2330
+ PublishedResourceRead: {
2331
+ /** Slug */
2332
+ slug: string;
2333
+ /** Name */
2334
+ name: string;
2335
+ /** Resourcetype */
2336
+ resourceType: string;
2337
+ /** Description */
2338
+ description?: string | null;
2339
+ /** Url */
2340
+ url?: string | null;
2341
+ /** Externalid */
2342
+ externalId?: string | null;
2343
+ /** Metadatajson */
2344
+ metadataJson?: {
2345
+ [key: string]: unknown;
2346
+ } | null;
2347
+ /** Role */
2348
+ role?: string | null;
2349
+ /** Quantity */
2350
+ quantity?: string | null;
2351
+ /** Unit */
2352
+ unit?: string | null;
2353
+ /**
2354
+ * Position
2355
+ * @default 0
2356
+ */
2357
+ position: number;
2358
+ };
2359
+ /**
2360
+ * PublishedResourceSummary
2361
+ * @description Schema for published resources in standalone context.
2362
+ *
2363
+ * Provides resource metadata without entry-specific placement info.
2364
+ * Used for listing resources and getting individual resource details.
2365
+ */
2366
+ PublishedResourceSummary: {
2367
+ /** Slug */
2368
+ slug: string;
2369
+ /** Name */
2370
+ name: string;
2371
+ /** Resourcetype */
2372
+ resourceType: string;
2373
+ /** Description */
2374
+ description?: string | null;
2375
+ /** Url */
2376
+ url?: string | null;
2377
+ /** Externalid */
2378
+ externalId?: string | null;
2379
+ /** Metadatajson */
2380
+ metadataJson?: {
2381
+ [key: string]: unknown;
2382
+ } | null;
2383
+ /**
2384
+ * Entries
2385
+ * @default []
2386
+ */
2387
+ entries: string[];
2388
+ };
2389
+ /**
2390
+ * PublishedResourcesResponse
2391
+ * @description Paginated response for listing published resources.
2392
+ */
2393
+ PublishedResourcesResponse: {
2394
+ /** Data */
2395
+ data: components["schemas"]["PublishedResourceSummary"][];
2396
+ meta: components["schemas"]["PaginationMeta"];
2397
+ };
2398
+ /**
2399
+ * ReorderEntriesRequest
2400
+ * @description Schema for bulk reordering entries in a collection.
2401
+ */
2402
+ ReorderEntriesRequest: {
2403
+ /** Entries */
2404
+ entries: components["schemas"]["EntryOrderItem"][];
2405
+ };
2406
+ /**
2407
+ * ResetPassword
2408
+ * @description Schema for the actual password reset operation.
2409
+ * Requires the reset token, the user's email (for verification, though token
2410
+ * should be sufficient if unique and mapped to user), and the new password
2411
+ * with confirmation.
2412
+ */
2413
+ ResetPassword: {
2414
+ /** Token */
2415
+ token: string;
2416
+ /** Email */
2417
+ email: string;
2418
+ /** Password */
2419
+ password: string;
2420
+ /** Passwordconfirm */
2421
+ passwordConfirm: string;
2422
+ };
2423
+ /**
2424
+ * ResourceCreate
2425
+ * @description Schema for creating a new resource.
2426
+ */
2427
+ ResourceCreate: {
2428
+ /** Slug */
2429
+ slug: string;
2430
+ /** Name */
2431
+ name: string;
2432
+ /** Resourcetype */
2433
+ resourceType: string;
2434
+ /** Description */
2435
+ description?: string | null;
2436
+ /** Url */
2437
+ url?: string | null;
2438
+ /** Externalid */
2439
+ externalId?: string | null;
2440
+ /** Metadata */
2441
+ metadata?: {
2442
+ [key: string]: unknown;
2443
+ } | null;
2444
+ };
2445
+ /**
2446
+ * ResourceRead
2447
+ * @description Full schema for reading a resource.
2448
+ */
2449
+ ResourceRead: {
2450
+ /**
2451
+ * Id
2452
+ * Format: uuid4
2453
+ */
2454
+ id: string;
2455
+ /** Slug */
2456
+ slug: string;
2457
+ /** Name */
2458
+ name: string;
2459
+ /** Resourcetype */
2460
+ resourceType: string;
2461
+ /** Description */
2462
+ description?: string | null;
2463
+ /** Url */
2464
+ url?: string | null;
2465
+ /** Externalid */
2466
+ externalId?: string | null;
2467
+ /** Metadata */
2468
+ metadata?: {
2469
+ [key: string]: unknown;
2470
+ } | null;
2471
+ /**
2472
+ * Createdby
2473
+ * Format: uuid4
2474
+ */
2475
+ createdBy: string;
2476
+ };
2477
+ /**
2478
+ * ResourceSummary
2479
+ * @description Summary schema for a resource.
2480
+ */
2481
+ ResourceSummary: {
2482
+ /**
2483
+ * Id
2484
+ * Format: uuid4
2485
+ */
2486
+ id: string;
2487
+ /** Slug */
2488
+ slug: string;
2489
+ /** Name */
2490
+ name: string;
2491
+ /** Resourcetype */
2492
+ resourceType: string;
2493
+ /** Description */
2494
+ description?: string | null;
2495
+ /** Url */
2496
+ url?: string | null;
2497
+ /** Externalid */
2498
+ externalId?: string | null;
2499
+ };
2500
+ /**
2501
+ * ResourceUpdate
2502
+ * @description Schema for updating a resource.
2503
+ */
2504
+ ResourceUpdate: {
2505
+ /** Slug */
2506
+ slug?: string | null;
2507
+ /** Name */
2508
+ name?: string | null;
2509
+ /** Resourcetype */
2510
+ resourceType?: string | null;
2511
+ /** Description */
2512
+ description?: string | null;
2513
+ /** Url */
2514
+ url?: string | null;
2515
+ /** Externalid */
2516
+ externalId?: string | null;
2517
+ /** Metadata */
2518
+ metadata?: {
2519
+ [key: string]: unknown;
2520
+ } | null;
2521
+ };
2522
+ /**
2523
+ * ScheduledTaskCreate
2524
+ * @description Schema for creating a new scheduled task.
2525
+ */
2526
+ ScheduledTaskCreate: {
2527
+ /** Name */
2528
+ name: string;
2529
+ /** Slug */
2530
+ slug?: string | null;
2531
+ /** Description */
2532
+ description?: string | null;
2533
+ /**
2534
+ * Enabled
2535
+ * @default true
2536
+ */
2537
+ enabled: boolean;
2538
+ /**
2539
+ * Scheduletype
2540
+ * @enum {string}
2541
+ */
2542
+ scheduleType: "cron" | "interval" | "once";
2543
+ /** Scheduleconfig */
2544
+ scheduleConfig: {
2545
+ [key: string]: unknown;
2546
+ };
2547
+ /** Tasktype */
2548
+ taskType: string;
2549
+ /** Taskconfig */
2550
+ taskConfig?: {
2551
+ [key: string]: unknown;
2552
+ };
2553
+ /** Retrypolicy */
2554
+ retryPolicy?: {
2555
+ [key: string]: unknown;
2556
+ } | null;
2557
+ };
2558
+ /**
2559
+ * ScheduledTaskExecutionLogRead
2560
+ * @description Schema for reading a scheduled task execution log entry.
2561
+ */
2562
+ ScheduledTaskExecutionLogRead: {
2563
+ /**
2564
+ * Id
2565
+ * Format: uuid4
2566
+ */
2567
+ id: string;
2568
+ /**
2569
+ * Taskid
2570
+ * Format: uuid4
2571
+ */
2572
+ taskId: string;
2573
+ /** Groupid */
2574
+ groupId?: string | null;
2575
+ /**
2576
+ * Executedat
2577
+ * Format: date-time
2578
+ */
2579
+ executedAt: string;
2580
+ /** Status */
2581
+ status: string;
2582
+ /** Durationms */
2583
+ durationMs?: number | null;
2584
+ /** Errormessage */
2585
+ errorMessage?: string | null;
2586
+ /** Errortraceback */
2587
+ errorTraceback?: string | null;
2588
+ /** Retryattempt */
2589
+ retryAttempt: number;
2590
+ };
2591
+ /**
2592
+ * ScheduledTaskRead
2593
+ * @description Full schema for reading a scheduled task.
2594
+ */
2595
+ ScheduledTaskRead: {
2596
+ /**
2597
+ * Id
2598
+ * Format: uuid4
2599
+ */
2600
+ id: string;
2601
+ /** Name */
2602
+ name: string;
2603
+ /** Slug */
2604
+ slug: string;
2605
+ /** Description */
2606
+ description?: string | null;
2607
+ /** Enabled */
2608
+ enabled: boolean;
2609
+ /** Scheduletype */
2610
+ scheduleType: string;
2611
+ /** Tasktype */
2612
+ taskType: string;
2613
+ /** Lastrunat */
2614
+ lastRunAt?: string | null;
2615
+ /** Nextrunat */
2616
+ nextRunAt?: string | null;
2617
+ /** Laststatus */
2618
+ lastStatus?: string | null;
2619
+ /** Failurecount */
2620
+ failureCount: number;
2621
+ /** Createdat */
2622
+ createdAt?: string | null;
2623
+ /** Updateat */
2624
+ updateAt?: string | null;
2625
+ /** Groupid */
2626
+ groupId?: string | null;
2627
+ /** Scheduleconfig */
2628
+ scheduleConfig: {
2629
+ [key: string]: unknown;
2630
+ };
2631
+ /** Taskconfig */
2632
+ taskConfig: {
2633
+ [key: string]: unknown;
2634
+ };
2635
+ /** Retrypolicy */
2636
+ retryPolicy?: {
2637
+ [key: string]: unknown;
2638
+ } | null;
2639
+ /** Lastdurationms */
2640
+ lastDurationMs?: number | null;
2641
+ };
2642
+ /**
2643
+ * ScheduledTaskUpdate
2644
+ * @description Schema for updating a scheduled task.
2645
+ */
2646
+ ScheduledTaskUpdate: {
2647
+ /** Name */
2648
+ name?: string | null;
2649
+ /** Description */
2650
+ description?: string | null;
2651
+ /** Enabled */
2652
+ enabled?: boolean | null;
2653
+ /** Scheduletype */
2654
+ scheduleType?: ("cron" | "interval" | "once") | null;
2655
+ /** Scheduleconfig */
2656
+ scheduleConfig?: {
2657
+ [key: string]: unknown;
2658
+ } | null;
2659
+ /** Tasktype */
2660
+ taskType?: string | null;
2661
+ /** Taskconfig */
2662
+ taskConfig?: {
2663
+ [key: string]: unknown;
2664
+ } | null;
2665
+ /** Retrypolicy */
2666
+ retryPolicy?: {
2667
+ [key: string]: unknown;
2668
+ } | null;
2669
+ };
2670
+ /**
2671
+ * SiteConfiguration
2672
+ * @description Site configuration for publishing API.
2673
+ *
2674
+ * Provides the public identity and settings for a workspace's published site.
2675
+ * This replaces hardcoded site.ts files in Astro projects.
2676
+ */
2677
+ SiteConfiguration: {
2678
+ /** Title */
2679
+ title?: string | null;
2680
+ /** Tagline */
2681
+ tagline?: string | null;
2682
+ /** Description */
2683
+ description?: string | null;
2684
+ /** Canonicalurl */
2685
+ canonicalUrl?: string | null;
2686
+ /** Logo */
2687
+ logo?: string | null;
2688
+ /** Favicon */
2689
+ favicon?: string | null;
2690
+ /**
2691
+ * Locale
2692
+ * @default en-US
2693
+ */
2694
+ locale: string;
2695
+ /**
2696
+ * Timezone
2697
+ * @default America/New_York
2698
+ */
2699
+ timezone: string;
2700
+ /** Contactemail */
2701
+ contactEmail?: string | null;
2702
+ /** Social */
2703
+ social?: {
2704
+ [key: string]: unknown;
2705
+ } | null;
2706
+ /** Metadatajson */
2707
+ metadataJson?: {
2708
+ [key: string]: unknown;
2709
+ } | null;
2710
+ };
2711
+ /**
2712
+ * SuccessResponse
2713
+ * @description Standardized schema for generic API success responses.
2714
+ * Provides a success message and an error flag set to False.
2715
+ */
2716
+ SuccessResponse: {
2717
+ /** Message */
2718
+ message: string;
2719
+ /**
2720
+ * Error
2721
+ * @default false
2722
+ */
2723
+ error: boolean;
2724
+ };
2725
+ /**
2726
+ * SystemStats
2727
+ * @description System statistics response model.
2728
+ */
2729
+ SystemStats: {
2730
+ /** Users Count */
2731
+ users_count: number;
2732
+ /** Groups Count */
2733
+ groups_count: number;
2734
+ /** Entries Count */
2735
+ entries_count: number;
2736
+ /** Assets Count */
2737
+ assets_count: number;
2738
+ /** Api Tokens Count */
2739
+ api_tokens_count: number;
2740
+ /** Webhooks Count */
2741
+ webhooks_count: number;
2742
+ /** Database Size */
2743
+ database_size: string;
2744
+ /** Database Path */
2745
+ database_path: string;
2746
+ /** Assets Size */
2747
+ assets_size: string;
2748
+ /** Assets Path */
2749
+ assets_path: string;
2750
+ /** Backups Size */
2751
+ backups_size: string;
2752
+ /** Backups Path */
2753
+ backups_path: string;
2754
+ /** Total Size */
2755
+ total_size: string;
2756
+ /** Data Dir Path */
2757
+ data_dir_path: string;
2758
+ };
2759
+ /**
2760
+ * TestEmailRequest
2761
+ * @description Request to send a test email.
2762
+ */
2763
+ TestEmailRequest: {
2764
+ /**
2765
+ * Recipient Email
2766
+ * Format: email
2767
+ */
2768
+ recipient_email: string;
2769
+ };
2770
+ /**
2771
+ * TokenResponseDelete
2772
+ * @description Schema for the response after successfully deleting an API token.
2773
+ * Confirms which token was deleted by its name.
2774
+ */
2775
+ TokenResponseDelete: {
2776
+ /** Tokendelete */
2777
+ tokenDelete: string;
2778
+ };
2779
+ /**
2780
+ * UnlockResults
2781
+ * @description Schema for the response when an operation to unlock user accounts is performed.
2782
+ * Indicates how many user accounts were successfully unlocked.
2783
+ */
2784
+ UnlockResults: {
2785
+ /**
2786
+ * Unlocked
2787
+ * @default 0
2788
+ */
2789
+ unlocked: number;
2790
+ };
2791
+ /**
2792
+ * UserCreate
2793
+ * @description Schema for creating a new user.
2794
+ * Includes essential user details, authentication method, admin status,
2795
+ * group assignment, permissions, and password.
2796
+ * @example {
2797
+ * "admin": false,
2798
+ * "email": "newuser@example.com",
2799
+ * "fullName": "New User Name",
2800
+ * "group": "Default",
2801
+ * "password": "aSecurePassword123",
2802
+ * "username": "NewUser"
2803
+ * }
2804
+ */
2805
+ UserCreate: {
2806
+ /** Id */
2807
+ id?: string | null;
2808
+ /** Username */
2809
+ username?: string | null;
2810
+ /** Fullname */
2811
+ fullName?: string | null;
2812
+ /** Email */
2813
+ email: string;
2814
+ /** @default MARVIN */
2815
+ authMethod: components["schemas"]["AuthMethod"];
2816
+ /** @default NONE */
2817
+ platformRole: components["schemas"]["PlatformRole"];
2818
+ /**
2819
+ * Admin
2820
+ * @default false
2821
+ */
2822
+ admin: boolean;
2823
+ /**
2824
+ * Issuperuser
2825
+ * @default false
2826
+ */
2827
+ isSuperuser: boolean;
2828
+ /** Group */
2829
+ group?: string | null;
2830
+ /**
2831
+ * Advanced
2832
+ * @default false
2833
+ */
2834
+ advanced: boolean;
2835
+ /** Password */
2836
+ password: string;
2837
+ /**
2838
+ * Caninvite
2839
+ * @default false
2840
+ */
2841
+ canInvite: boolean;
2842
+ /**
2843
+ * Canmanage
2844
+ * @default false
2845
+ */
2846
+ canManage: boolean;
2847
+ /**
2848
+ * Canorganize
2849
+ * @default false
2850
+ */
2851
+ canOrganize: boolean;
2852
+ };
2853
+ /**
2854
+ * UserPagination
2855
+ * @description Schema for paginated responses containing a list of users.
2856
+ * Items are expected to conform to the `UserRead` schema.
2857
+ */
2858
+ UserPagination: {
2859
+ /**
2860
+ * Page
2861
+ * @default 1
2862
+ */
2863
+ page: number;
2864
+ /**
2865
+ * Per Page
2866
+ * @default 10
2867
+ */
2868
+ per_page: number;
2869
+ /**
2870
+ * Total
2871
+ * @default 0
2872
+ */
2873
+ total: number;
2874
+ /**
2875
+ * Total Pages
2876
+ * @default 0
2877
+ */
2878
+ total_pages: number;
2879
+ /** Items */
2880
+ items: components["schemas"]["UserRead"][];
2881
+ /** Next */
2882
+ next?: string | null;
2883
+ /** Previous */
2884
+ previous?: string | null;
2885
+ };
2886
+ /**
2887
+ * UserProfileUpdate
2888
+ * @description Schema for updating a user's profile information (without password).
2889
+ * All fields are optional for partial updates.
2890
+ * Used by the /api/self endpoint for users updating their own profile.
2891
+ */
2892
+ UserProfileUpdate: {
2893
+ /** Username */
2894
+ username?: string | null;
2895
+ /** Email */
2896
+ email?: string | null;
2897
+ /** Fullname */
2898
+ fullName?: string | null;
2899
+ };
2900
+ /**
2901
+ * UserRead
2902
+ * @description Schema for representing a user when read from the system.
2903
+ * Extends `UserCreate` (which includes password), and adds system-generated fields
2904
+ * like `id`, group details, and `cache_key`.
2905
+ *
2906
+ * NOTE: Inheriting from `UserCreate` means this schema will include `password`.
2907
+ * For public user representations, `password` should typically be excluded.
2908
+ * Consider having a different base or explicitly excluding password here if this
2909
+ * is for general-purpose reading. `PrivateUser` below handles sensitive data.
2910
+ * @example {
2911
+ * "admin": false,
2912
+ * "email": "newuser@example.com",
2913
+ * "fullName": "New User Name",
2914
+ * "group": "Default",
2915
+ * "password": "aSecurePassword123",
2916
+ * "username": "NewUser"
2917
+ * }
2918
+ */
2919
+ UserRead: {
2920
+ /**
2921
+ * Id
2922
+ * Format: uuid4
2923
+ */
2924
+ id: string;
2925
+ /** Username */
2926
+ username?: string | null;
2927
+ /** Fullname */
2928
+ fullName?: string | null;
2929
+ /** Email */
2930
+ email: string;
2931
+ /** @default MARVIN */
2932
+ authMethod: components["schemas"]["AuthMethod"];
2933
+ platformRole: components["schemas"]["PlatformRole"];
2934
+ /**
2935
+ * Admin
2936
+ * @default false
2937
+ */
2938
+ admin: boolean;
2939
+ /**
2940
+ * Issuperuser
2941
+ * @default false
2942
+ */
2943
+ isSuperuser: boolean;
2944
+ /** Group */
2945
+ group: string;
2946
+ /**
2947
+ * Advanced
2948
+ * @default false
2949
+ */
2950
+ advanced: boolean;
2951
+ /** Password */
2952
+ password: string;
2953
+ /**
2954
+ * Caninvite
2955
+ * @default false
2956
+ */
2957
+ canInvite: boolean;
2958
+ /**
2959
+ * Canmanage
2960
+ * @default false
2961
+ */
2962
+ canManage: boolean;
2963
+ /**
2964
+ * Canorganize
2965
+ * @default false
2966
+ */
2967
+ canOrganize: boolean;
2968
+ /**
2969
+ * Groupid
2970
+ * Format: uuid4
2971
+ */
2972
+ groupId: string;
2973
+ /** Groupslug */
2974
+ groupSlug: string;
2975
+ /** Activegroupid */
2976
+ activeGroupId?: string | null;
2977
+ /**
2978
+ * Workspacememberships
2979
+ * @default []
2980
+ */
2981
+ workspaceMemberships: components["schemas"]["WorkspaceMembershipSummary"][];
2982
+ /** Cachekey */
2983
+ cacheKey: string | null;
2984
+ };
2985
+ /** UserRegistrationCreate */
2986
+ UserRegistrationCreate: {
2987
+ /** Group */
2988
+ group?: string | null;
2989
+ /** Grouptoken */
2990
+ groupToken?: string | null;
2991
+ /** Email */
2992
+ email: string;
2993
+ /** Username */
2994
+ username: string;
2995
+ /** Fullname */
2996
+ fullName: string;
2997
+ /** Password */
2998
+ password: string;
2999
+ /** Passwordconfirm */
3000
+ passwordConfirm: string;
3001
+ /**
3002
+ * Advanced
3003
+ * @default false
3004
+ */
3005
+ advanced: boolean;
3006
+ /**
3007
+ * Private
3008
+ * @default false
3009
+ */
3010
+ private: boolean;
3011
+ /**
3012
+ * Seeddata
3013
+ * @default false
3014
+ */
3015
+ seedData: boolean;
3016
+ };
3017
+ /**
3018
+ * UserSummary
3019
+ * @description Schema for a summary representation of a user.
3020
+ * Provides key identifying information, suitable for lists or brief displays.
3021
+ */
3022
+ UserSummary: {
3023
+ /**
3024
+ * Id
3025
+ * Format: uuid4
3026
+ */
3027
+ id: string;
3028
+ /**
3029
+ * Groupid
3030
+ * Format: uuid4
3031
+ */
3032
+ groupId: string;
3033
+ /** Username */
3034
+ username: string;
3035
+ /** Email */
3036
+ email?: string | null;
3037
+ /** Fullname */
3038
+ fullName?: string | null;
3039
+ };
3040
+ /**
3041
+ * UserUpdate
3042
+ * @description Schema likely used internally for saving a user to the database,
3043
+ * ensuring required fields like `username`, `full_name`, and `password` are present.
3044
+ * Extends `UserCreate`.
3045
+ * @example {
3046
+ * "admin": false,
3047
+ * "email": "newuser@example.com",
3048
+ * "fullName": "New User Name",
3049
+ * "group": "Default",
3050
+ * "password": "aSecurePassword123",
3051
+ * "username": "NewUser"
3052
+ * }
3053
+ */
3054
+ UserUpdate: {
3055
+ /** Id */
3056
+ id?: string | null;
3057
+ /** Username */
3058
+ username: string;
3059
+ /** Fullname */
3060
+ fullName: string;
3061
+ /** Email */
3062
+ email: string;
3063
+ /** @default MARVIN */
3064
+ authMethod: components["schemas"]["AuthMethod"];
3065
+ /** @default NONE */
3066
+ platformRole: components["schemas"]["PlatformRole"];
3067
+ /**
3068
+ * Admin
3069
+ * @default false
3070
+ */
3071
+ admin: boolean;
3072
+ /**
3073
+ * Issuperuser
3074
+ * @default false
3075
+ */
3076
+ isSuperuser: boolean;
3077
+ /** Group */
3078
+ group?: string | null;
3079
+ /**
3080
+ * Advanced
3081
+ * @default false
3082
+ */
3083
+ advanced: boolean;
3084
+ /** Password */
3085
+ password: string;
3086
+ /**
3087
+ * Caninvite
3088
+ * @default false
3089
+ */
3090
+ canInvite: boolean;
3091
+ /**
3092
+ * Canmanage
3093
+ * @default false
3094
+ */
3095
+ canManage: boolean;
3096
+ /**
3097
+ * Canorganize
3098
+ * @default false
3099
+ */
3100
+ canOrganize: boolean;
3101
+ };
3102
+ /** ValidationError */
3103
+ ValidationError: {
3104
+ /** Location */
3105
+ loc: (string | number)[];
3106
+ /** Message */
3107
+ msg: string;
3108
+ /** Error Type */
3109
+ type: string;
3110
+ };
3111
+ /**
3112
+ * WebhookCreate
3113
+ * @description Schema for creating a new webhook configuration.
3114
+ * Includes fields for enabling the webhook, naming it, specifying the target URL,
3115
+ * HTTP method, type, and an optional scheduled time for execution.
3116
+ */
3117
+ WebhookCreate: {
3118
+ /**
3119
+ * Enabled
3120
+ * @default true
3121
+ */
3122
+ enabled: boolean;
3123
+ /** Name */
3124
+ name: string;
3125
+ /**
3126
+ * Url
3127
+ * Format: uri
3128
+ */
3129
+ url: string;
3130
+ /** @default POST */
3131
+ method: components["schemas"]["WebhookMethod"];
3132
+ /** @default generic */
3133
+ webhookType: components["schemas"]["EventDocumentType"];
3134
+ /**
3135
+ * Scheduledtime
3136
+ * Format: date-time
3137
+ */
3138
+ scheduledTime: string;
3139
+ };
3140
+ /**
3141
+ * WebhookMethod
3142
+ * @description Enumeration for HTTP methods supported by webhooks.
3143
+ * @enum {string}
3144
+ */
3145
+ WebhookMethod: "GET" | "POST";
3146
+ /**
3147
+ * WebhookPagination
3148
+ * @description Schema for paginated responses containing a list of webhook configurations.
3149
+ */
3150
+ WebhookPagination: {
3151
+ /**
3152
+ * Page
3153
+ * @default 1
3154
+ */
3155
+ page: number;
3156
+ /**
3157
+ * Per Page
3158
+ * @default 10
3159
+ */
3160
+ per_page: number;
3161
+ /**
3162
+ * Total
3163
+ * @default 0
3164
+ */
3165
+ total: number;
3166
+ /**
3167
+ * Total Pages
3168
+ * @default 0
3169
+ */
3170
+ total_pages: number;
3171
+ /** Items */
3172
+ items: components["schemas"]["WebhookRead"][];
3173
+ /** Next */
3174
+ next?: string | null;
3175
+ /** Previous */
3176
+ previous?: string | null;
3177
+ };
3178
+ /**
3179
+ * WebhookRead
3180
+ * @description Schema for representing a webhook configuration when read from the system.
3181
+ * Extends `WebhookUpdate` by adding the unique `id` of the webhook.
3182
+ */
3183
+ WebhookRead: {
3184
+ /**
3185
+ * Enabled
3186
+ * @default true
3187
+ */
3188
+ enabled: boolean;
3189
+ /** Name */
3190
+ name: string;
3191
+ /**
3192
+ * Url
3193
+ * Format: uri
3194
+ */
3195
+ url: string;
3196
+ /** @default POST */
3197
+ method: components["schemas"]["WebhookMethod"];
3198
+ /** @default generic */
3199
+ webhookType: components["schemas"]["EventDocumentType"];
3200
+ /**
3201
+ * Scheduledtime
3202
+ * Format: date-time
3203
+ */
3204
+ scheduledTime: string;
3205
+ /**
3206
+ * Groupid
3207
+ * Format: uuid4
3208
+ */
3209
+ groupId: string;
3210
+ /**
3211
+ * Id
3212
+ * Format: uuid4
3213
+ */
3214
+ id: string;
3215
+ };
3216
+ /**
3217
+ * WorkspaceActivationRequest
3218
+ * @description Request to change active workspace.
3219
+ */
3220
+ WorkspaceActivationRequest: {
3221
+ /** Workspace */
3222
+ workspace: string;
3223
+ };
3224
+ /**
3225
+ * WorkspaceInfo
3226
+ * @description Public workspace information for publishing API.
3227
+ */
3228
+ WorkspaceInfo: {
3229
+ /** Slug */
3230
+ slug: string;
3231
+ /** Name */
3232
+ name: string;
3233
+ };
3234
+ /**
3235
+ * WorkspaceMemberCreate
3236
+ * @description Schema for adding a user to a workspace.
3237
+ *
3238
+ * Used when a workspace admin wants to invite a user to their workspace.
3239
+ */
3240
+ WorkspaceMemberCreate: {
3241
+ /**
3242
+ * Userid
3243
+ * Format: uuid4
3244
+ */
3245
+ userId: string;
3246
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3247
+ };
3248
+ /**
3249
+ * WorkspaceMemberUpdate
3250
+ * @description Schema for updating a workspace member's role.
3251
+ *
3252
+ * Used when changing a user's permissions within a workspace.
3253
+ */
3254
+ WorkspaceMemberUpdate: {
3255
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3256
+ };
3257
+ /**
3258
+ * WorkspaceMembershipRead
3259
+ * @description Schema for reading a user's workspace membership with role.
3260
+ * Represents the relationship between a user and a workspace.
3261
+ * Includes user details when loaded with joinedload.
3262
+ */
3263
+ WorkspaceMembershipRead: {
3264
+ /**
3265
+ * Id
3266
+ * Format: uuid4
3267
+ */
3268
+ id: string;
3269
+ /**
3270
+ * Userid
3271
+ * Format: uuid4
3272
+ */
3273
+ userId: string;
3274
+ /**
3275
+ * Groupid
3276
+ * Format: uuid4
3277
+ */
3278
+ groupId: string;
3279
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3280
+ user?: components["schemas"]["UserSummary"] | null;
3281
+ };
3282
+ /**
3283
+ * WorkspaceMembershipSummary
3284
+ * @description Schema for summarized workspace membership information.
3285
+ * Used in user profiles to show which workspaces they belong to.
3286
+ */
3287
+ WorkspaceMembershipSummary: {
3288
+ /**
3289
+ * Groupid
3290
+ * Format: uuid4
3291
+ */
3292
+ groupId: string;
3293
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3294
+ };
3295
+ /**
3296
+ * WorkspaceRole
3297
+ * @description Workspace-level roles for workspace members.
3298
+ *
3299
+ * Each user-workspace membership has ONE workspace role that determines
3300
+ * what they can do within that specific workspace.
3301
+ * @enum {string}
3302
+ */
3303
+ WorkspaceRole: "OWNER" | "ADMIN" | "EDITOR" | "AUTHOR" | "VIEWER";
3304
+ /**
3305
+ * WorkspaceSiteInfo
3306
+ * @description Combined workspace and site configuration response.
3307
+ *
3308
+ * Returns everything an external site needs to initialize itself.
3309
+ */
3310
+ WorkspaceSiteInfo: {
3311
+ workspace: components["schemas"]["WorkspaceInfo"];
3312
+ site: components["schemas"]["SiteConfiguration"];
3313
+ };
3314
+ /**
3315
+ * WorkspaceWithMembership
3316
+ * @description Workspace with user's role and active status.
3317
+ */
3318
+ WorkspaceWithMembership: {
3319
+ workspace: components["schemas"]["GroupRead"];
3320
+ role: components["schemas"]["WorkspaceRole"];
3321
+ /** Isactive */
3322
+ isActive: boolean;
3323
+ };
3324
+ };
3325
+ responses: never;
3326
+ parameters: never;
3327
+ requestBodies: never;
3328
+ headers: never;
3329
+ pathItems: never;
3330
+ }
3331
+
3332
+ /**
3333
+ * Marvin Publishing Client Types
3334
+ *
3335
+ * Type aliases from the auto-generated OpenAPI schema.
3336
+ * These stay in sync automatically when the schema is regenerated.
3337
+ */
3338
+
3339
+ type MarvinSite = components['schemas']['WorkspaceSiteInfo'];
3340
+ type SiteConfiguration = components['schemas']['SiteConfiguration'];
3341
+ type WorkspaceInfo = components['schemas']['WorkspaceInfo'];
3342
+ type MarvinEntry = components['schemas']['PublishedEntryRead'];
3343
+ type MarvinEntryListItem = components['schemas']['PublishedEntryListItem'];
3344
+ type PublishedEntryType = components['schemas']['PublishedEntryTypeRead'];
3345
+ type MarvinCollection = components['schemas']['PublishedCollectionRead'];
3346
+ type PublishedCollectionSummary = components['schemas']['PublishedCollectionSummary'];
3347
+ type MarvinAsset = components['schemas']['PublishedAssetRead'];
3348
+ type PublishedAssetRead = components['schemas']['PublishedAssetRead'];
3349
+ type MarvinResource = components['schemas']['PublishedResourceSummary'];
3350
+ type PublishedResourceRead = components['schemas']['PublishedResourceRead'];
3351
+ type MarvinEntryType = components['schemas']['EntryTypeRead'];
3352
+ interface AssetUploadRequest {
3353
+ slug: string;
3354
+ name: string;
3355
+ altText?: string;
3356
+ description?: string;
3357
+ metadata?: Record<string, unknown>;
3358
+ }
3359
+ interface MarvinPublishResponse<T> {
3360
+ data: T;
3361
+ meta?: {
3362
+ total?: number;
3363
+ page?: number;
3364
+ limit?: number;
3365
+ };
3366
+ }
3367
+ interface MarvinClientConfig {
3368
+ apiUrl: string;
3369
+ siteClientToken: string;
3370
+ workspaceSlug: string;
3371
+ }
3372
+ interface GetEntriesOptions {
3373
+ entryType?: string;
3374
+ collection?: string;
3375
+ limit?: number;
3376
+ offset?: number;
3377
+ status?: string;
3378
+ }
3379
+ interface GetAssetsOptions {
3380
+ type?: string;
3381
+ limit?: number;
3382
+ offset?: number;
3383
+ }
3384
+ interface GetResourcesOptions {
3385
+ resourceType?: string;
3386
+ limit?: number;
3387
+ offset?: number;
3388
+ }
3389
+ interface AuthToken {
3390
+ accessToken: string;
3391
+ tokenType: string;
3392
+ }
3393
+
3394
+ export type { AuthToken as A, GetAssetsOptions as G, MarvinAsset as M, PublishedAssetRead as P, SiteConfiguration as S, WorkspaceInfo as W, GetEntriesOptions as a, GetResourcesOptions as b, MarvinCollection as c, MarvinEntry as d, MarvinEntryListItem as e, MarvinEntryType as f, MarvinPublishResponse as g, MarvinResource as h, MarvinSite as i, PublishedCollectionSummary as j, PublishedEntryType as k, PublishedResourceRead as l, components as m, AssetUploadRequest as n, MarvinClientConfig as o };