@inneropen/marvin-sdk 3.0.0 → 3.1.0-next.1

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,3409 @@
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
+ * PublishedEntryAsset
2056
+ * @description An asset as used by a specific entry — relationship context + asset data.
2057
+ */
2058
+ PublishedEntryAsset: {
2059
+ /** Role */
2060
+ role?: string | null;
2061
+ /**
2062
+ * Position
2063
+ * @default 0
2064
+ */
2065
+ position: number;
2066
+ /** Focalpoint */
2067
+ focalPoint?: string | null;
2068
+ /** Caption */
2069
+ caption?: string | null;
2070
+ /** Metadatajson */
2071
+ metadataJson?: {
2072
+ [key: string]: unknown;
2073
+ } | null;
2074
+ asset: components["schemas"]["PublishedAssetRead"];
2075
+ };
2076
+ /**
2077
+ * PublishedEntryResource
2078
+ * @description A resource as used by a specific entry — relationship context + resource data.
2079
+ */
2080
+ PublishedEntryResource: {
2081
+ /** Role */
2082
+ role?: string | null;
2083
+ /** Quantity */
2084
+ quantity?: string | null;
2085
+ /** Unit */
2086
+ unit?: string | null;
2087
+ /**
2088
+ * Position
2089
+ * @default 0
2090
+ */
2091
+ position: number;
2092
+ /** Metadatajson */
2093
+ metadataJson?: {
2094
+ [key: string]: unknown;
2095
+ } | null;
2096
+ resource: components["schemas"]["PublishedResourceSummary"];
2097
+ };
2098
+ /**
2099
+ * PublishedAssetRead
2100
+ * @description Schema for published assets in the publishing API.
2101
+ *
2102
+ * Provides asset metadata for external sites to build proper media tags.
2103
+ * Read-only, does not expose internal fields like storage_key or uploaded_by.
2104
+ */
2105
+ PublishedAssetRead: {
2106
+ /** Slug */
2107
+ slug: string;
2108
+ /** Name */
2109
+ name: string;
2110
+ /** Mimetype */
2111
+ mimeType: string;
2112
+ /** Assettype */
2113
+ assetType: string;
2114
+ /** Filesize */
2115
+ fileSize: number;
2116
+ /** Width */
2117
+ width?: number | null;
2118
+ /** Height */
2119
+ height?: number | null;
2120
+ /** Alttext */
2121
+ altText?: string | null;
2122
+ /** Description */
2123
+ description?: string | null;
2124
+ /** Publicurl */
2125
+ publicUrl: string;
2126
+ /** Metadatajson */
2127
+ metadataJson?: {
2128
+ [key: string]: unknown;
2129
+ } | null;
2130
+ };
2131
+ /**
2132
+ * PublishedAssetsResponse
2133
+ * @description Paginated response for listing published assets.
2134
+ */
2135
+ PublishedAssetsResponse: {
2136
+ /** Data */
2137
+ data: components["schemas"]["PublishedAssetRead"][];
2138
+ meta: components["schemas"]["PaginationMeta"];
2139
+ };
2140
+ /**
2141
+ * PublishedCollectionRead
2142
+ * @description Schema for published collections in the publishing API.
2143
+ *
2144
+ * Includes collection metadata and its published entries.
2145
+ */
2146
+ PublishedCollectionRead: {
2147
+ /** Slug */
2148
+ slug: string;
2149
+ /** Name */
2150
+ name: string;
2151
+ /** Description */
2152
+ description?: string | null;
2153
+ /**
2154
+ * Issmart
2155
+ * @default false
2156
+ */
2157
+ isSmart: boolean;
2158
+ /** Smartrules */
2159
+ smartRules?: {
2160
+ [key: string]: unknown;
2161
+ } | null;
2162
+ /** Metadatajson */
2163
+ metadataJson?: {
2164
+ [key: string]: unknown;
2165
+ } | null;
2166
+ /** Entrycount */
2167
+ entryCount: number;
2168
+ /** Entries */
2169
+ entries: components["schemas"]["PublishedEntryListItem"][];
2170
+ };
2171
+ /**
2172
+ * PublishedCollectionSummary
2173
+ * @description Summary schema for published collections (for listing).
2174
+ *
2175
+ * Minimal collection info for entry contexts - only includes
2176
+ * essential fields for display and ordering.
2177
+ */
2178
+ PublishedCollectionSummary: {
2179
+ /** Slug */
2180
+ slug: string;
2181
+ /** Name */
2182
+ name: string;
2183
+ /** Metadatajson */
2184
+ metadataJson?: {
2185
+ [key: string]: unknown;
2186
+ } | null;
2187
+ /** Sortorder */
2188
+ sortOrder: number;
2189
+ };
2190
+ /**
2191
+ * PublishedCollectionsResponse
2192
+ * @description Paginated response for listing published collections.
2193
+ */
2194
+ PublishedCollectionsResponse: {
2195
+ /** Data */
2196
+ data: components["schemas"]["PublishedCollectionSummary"][];
2197
+ meta: components["schemas"]["PaginationMeta"];
2198
+ };
2199
+ /**
2200
+ * PublishedEntriesResponse
2201
+ * @description Paginated response for listing published entries.
2202
+ */
2203
+ PublishedEntriesResponse: {
2204
+ /** Data */
2205
+ data: components["schemas"]["PublishedEntryListItem"][];
2206
+ meta: components["schemas"]["PaginationMeta"];
2207
+ };
2208
+ /**
2209
+ * PublishedEntryListItem
2210
+ * @description Minimal entry schema for list responses.
2211
+ *
2212
+ * Used when listing multiple entries - returns only essential fields
2213
+ * without full content.
2214
+ */
2215
+ PublishedEntryListItem: {
2216
+ /** Slug */
2217
+ slug: string;
2218
+ /** Title */
2219
+ title: string;
2220
+ /** Entrytype */
2221
+ entryType: string;
2222
+ entryTypeInfo?: components["schemas"]["PublishedEntryTypeInfo"] | null;
2223
+ /** Summary */
2224
+ summary?: string | null;
2225
+ /** Publishedat */
2226
+ publishedAt?: string | null;
2227
+ /** Status */
2228
+ status: string;
2229
+ /**
2230
+ * Collections
2231
+ * @default []
2232
+ */
2233
+ collections: string[];
2234
+ /**
2235
+ * Assetslugs
2236
+ * @default []
2237
+ */
2238
+ assetSlugs: string[];
2239
+ /**
2240
+ * Resourceslugs
2241
+ * @default []
2242
+ */
2243
+ resourceSlugs: string[];
2244
+ /** Metadatajson */
2245
+ metadataJson?: {
2246
+ [key: string]: unknown;
2247
+ } | null;
2248
+ featuredAsset?: components["schemas"]["PublishedAssetRead"] | null;
2249
+ /** Order */
2250
+ order?: number | null;
2251
+ };
2252
+ /**
2253
+ * PublishedEntryRead
2254
+ * @description Schema for published entries in the publishing API.
2255
+ *
2256
+ * Only includes public-facing fields. Excludes all admin metadata,
2257
+ * internal fields, and user information.
2258
+ *
2259
+ * BREAKING CHANGE: content_markdown removed, replaced with data.
2260
+ * Entry content is now schema-driven based on entry_type.schema_json.
2261
+ */
2262
+ PublishedEntryRead: {
2263
+ /** Slug */
2264
+ slug: string;
2265
+ /** Title */
2266
+ title: string;
2267
+ /** Entrytype */
2268
+ entryType: string;
2269
+ entryTypeInfo?: components["schemas"]["PublishedEntryTypeInfo"] | null;
2270
+ /** Summary */
2271
+ summary?: string | null;
2272
+ /** Data */
2273
+ data: {
2274
+ [key: string]: unknown;
2275
+ };
2276
+ /** Publishedat */
2277
+ publishedAt?: string | null;
2278
+ /** Metadatajson */
2279
+ metadataJson?: {
2280
+ [key: string]: unknown;
2281
+ } | null;
2282
+ /**
2283
+ * Collections
2284
+ * @default []
2285
+ */
2286
+ collections: components["schemas"]["PublishedCollectionSummary"][];
2287
+ /**
2288
+ * Resources
2289
+ * @default []
2290
+ */
2291
+ resources: components["schemas"]["PublishedEntryResource"][];
2292
+ /**
2293
+ * Assets
2294
+ * @default []
2295
+ */
2296
+ assets: components["schemas"]["PublishedEntryAsset"][];
2297
+ /** Order */
2298
+ order?: number | null;
2299
+ };
2300
+ /**
2301
+ * PublishedEntryTypeInfo
2302
+ * @description Flattened entry type rendering and capabilities info for published entries.
2303
+ */
2304
+ PublishedEntryTypeInfo: {
2305
+ /** Slug */
2306
+ slug: string;
2307
+ /** Renderer */
2308
+ renderer?: string | null;
2309
+ /** Package */
2310
+ package?: string | null;
2311
+ /** Version */
2312
+ version?: string | null;
2313
+ /** Config */
2314
+ config?: {
2315
+ [key: string]: unknown;
2316
+ } | null;
2317
+ /**
2318
+ * Publishable
2319
+ * @default true
2320
+ */
2321
+ publishable: boolean;
2322
+ /**
2323
+ * Submittable
2324
+ * @default false
2325
+ */
2326
+ submittable: boolean;
2327
+ /**
2328
+ * Routable
2329
+ * @default true
2330
+ */
2331
+ routable: boolean;
2332
+ };
2333
+ /**
2334
+ * PublishedEntryTypeRead
2335
+ * @description Schema for entry types in the publishing API.
2336
+ */
2337
+ PublishedEntryTypeRead: {
2338
+ /** Slug */
2339
+ slug: string;
2340
+ /** Name */
2341
+ name: string;
2342
+ /**
2343
+ * Isrendered
2344
+ * @default false
2345
+ */
2346
+ isRendered: boolean;
2347
+ rendering?: components["schemas"]["EntryTypeRendering"] | null;
2348
+ capabilities?: components["schemas"]["EntryTypeCapabilities"] | null;
2349
+ };
2350
+ /**
2351
+ * PublishedFormRead
2352
+ * @description Schema for published forms in the publishing API.
2353
+ *
2354
+ * Provides form definition for frontend to render the form.
2355
+ * Does not expose internal fields like submissions_count.
2356
+ */
2357
+ PublishedFormRead: {
2358
+ /** Slug */
2359
+ slug: string;
2360
+ /** Name */
2361
+ name: string;
2362
+ /** Description */
2363
+ description?: string | null;
2364
+ /** Formschema */
2365
+ formSchema: {
2366
+ [key: string]: unknown;
2367
+ };
2368
+ /** Metadata */
2369
+ metadata?: {
2370
+ [key: string]: unknown;
2371
+ } | null;
2372
+ };
2373
+ /**
2374
+ * PublishedResourceSummary
2375
+ * @description Schema for published resources in standalone context.
2376
+ *
2377
+ * Provides resource metadata without entry-specific placement info.
2378
+ * Used for listing resources and getting individual resource details.
2379
+ */
2380
+ PublishedResourceSummary: {
2381
+ /** Slug */
2382
+ slug: string;
2383
+ /** Name */
2384
+ name: string;
2385
+ /** Resourcetype */
2386
+ resourceType: string;
2387
+ /** Description */
2388
+ description?: string | null;
2389
+ /** Url */
2390
+ url?: string | null;
2391
+ /** Externalid */
2392
+ externalId?: string | null;
2393
+ /** Metadatajson */
2394
+ metadataJson?: {
2395
+ [key: string]: unknown;
2396
+ } | null;
2397
+ /**
2398
+ * Entries
2399
+ * @default []
2400
+ */
2401
+ entries: string[];
2402
+ };
2403
+ /**
2404
+ * PublishedResourcesResponse
2405
+ * @description Paginated response for listing published resources.
2406
+ */
2407
+ PublishedResourcesResponse: {
2408
+ /** Data */
2409
+ data: components["schemas"]["PublishedResourceSummary"][];
2410
+ meta: components["schemas"]["PaginationMeta"];
2411
+ };
2412
+ /**
2413
+ * ReorderEntriesRequest
2414
+ * @description Schema for bulk reordering entries in a collection.
2415
+ */
2416
+ ReorderEntriesRequest: {
2417
+ /** Entries */
2418
+ entries: components["schemas"]["EntryOrderItem"][];
2419
+ };
2420
+ /**
2421
+ * ResetPassword
2422
+ * @description Schema for the actual password reset operation.
2423
+ * Requires the reset token, the user's email (for verification, though token
2424
+ * should be sufficient if unique and mapped to user), and the new password
2425
+ * with confirmation.
2426
+ */
2427
+ ResetPassword: {
2428
+ /** Token */
2429
+ token: string;
2430
+ /** Email */
2431
+ email: string;
2432
+ /** Password */
2433
+ password: string;
2434
+ /** Passwordconfirm */
2435
+ passwordConfirm: string;
2436
+ };
2437
+ /**
2438
+ * ResourceCreate
2439
+ * @description Schema for creating a new resource.
2440
+ */
2441
+ ResourceCreate: {
2442
+ /** Slug */
2443
+ slug: string;
2444
+ /** Name */
2445
+ name: string;
2446
+ /** Resourcetype */
2447
+ resourceType: string;
2448
+ /** Description */
2449
+ description?: string | null;
2450
+ /** Url */
2451
+ url?: string | null;
2452
+ /** Externalid */
2453
+ externalId?: string | null;
2454
+ /** Metadata */
2455
+ metadata?: {
2456
+ [key: string]: unknown;
2457
+ } | null;
2458
+ };
2459
+ /**
2460
+ * ResourceRead
2461
+ * @description Full schema for reading a resource.
2462
+ */
2463
+ ResourceRead: {
2464
+ /**
2465
+ * Id
2466
+ * Format: uuid4
2467
+ */
2468
+ id: string;
2469
+ /** Slug */
2470
+ slug: string;
2471
+ /** Name */
2472
+ name: string;
2473
+ /** Resourcetype */
2474
+ resourceType: string;
2475
+ /** Description */
2476
+ description?: string | null;
2477
+ /** Url */
2478
+ url?: string | null;
2479
+ /** Externalid */
2480
+ externalId?: string | null;
2481
+ /** Metadata */
2482
+ metadata?: {
2483
+ [key: string]: unknown;
2484
+ } | null;
2485
+ /**
2486
+ * Createdby
2487
+ * Format: uuid4
2488
+ */
2489
+ createdBy: string;
2490
+ };
2491
+ /**
2492
+ * ResourceSummary
2493
+ * @description Summary schema for a resource.
2494
+ */
2495
+ ResourceSummary: {
2496
+ /**
2497
+ * Id
2498
+ * Format: uuid4
2499
+ */
2500
+ id: string;
2501
+ /** Slug */
2502
+ slug: string;
2503
+ /** Name */
2504
+ name: string;
2505
+ /** Resourcetype */
2506
+ resourceType: string;
2507
+ /** Description */
2508
+ description?: string | null;
2509
+ /** Url */
2510
+ url?: string | null;
2511
+ /** Externalid */
2512
+ externalId?: string | null;
2513
+ };
2514
+ /**
2515
+ * ResourceUpdate
2516
+ * @description Schema for updating a resource.
2517
+ */
2518
+ ResourceUpdate: {
2519
+ /** Slug */
2520
+ slug?: string | null;
2521
+ /** Name */
2522
+ name?: string | null;
2523
+ /** Resourcetype */
2524
+ resourceType?: string | null;
2525
+ /** Description */
2526
+ description?: string | null;
2527
+ /** Url */
2528
+ url?: string | null;
2529
+ /** Externalid */
2530
+ externalId?: string | null;
2531
+ /** Metadata */
2532
+ metadata?: {
2533
+ [key: string]: unknown;
2534
+ } | null;
2535
+ };
2536
+ /**
2537
+ * ScheduledTaskCreate
2538
+ * @description Schema for creating a new scheduled task.
2539
+ */
2540
+ ScheduledTaskCreate: {
2541
+ /** Name */
2542
+ name: string;
2543
+ /** Slug */
2544
+ slug?: string | null;
2545
+ /** Description */
2546
+ description?: string | null;
2547
+ /**
2548
+ * Enabled
2549
+ * @default true
2550
+ */
2551
+ enabled: boolean;
2552
+ /**
2553
+ * Scheduletype
2554
+ * @enum {string}
2555
+ */
2556
+ scheduleType: "cron" | "interval" | "once";
2557
+ /** Scheduleconfig */
2558
+ scheduleConfig: {
2559
+ [key: string]: unknown;
2560
+ };
2561
+ /** Tasktype */
2562
+ taskType: string;
2563
+ /** Taskconfig */
2564
+ taskConfig?: {
2565
+ [key: string]: unknown;
2566
+ };
2567
+ /** Retrypolicy */
2568
+ retryPolicy?: {
2569
+ [key: string]: unknown;
2570
+ } | null;
2571
+ };
2572
+ /**
2573
+ * ScheduledTaskExecutionLogRead
2574
+ * @description Schema for reading a scheduled task execution log entry.
2575
+ */
2576
+ ScheduledTaskExecutionLogRead: {
2577
+ /**
2578
+ * Id
2579
+ * Format: uuid4
2580
+ */
2581
+ id: string;
2582
+ /**
2583
+ * Taskid
2584
+ * Format: uuid4
2585
+ */
2586
+ taskId: string;
2587
+ /** Groupid */
2588
+ groupId?: string | null;
2589
+ /**
2590
+ * Executedat
2591
+ * Format: date-time
2592
+ */
2593
+ executedAt: string;
2594
+ /** Status */
2595
+ status: string;
2596
+ /** Durationms */
2597
+ durationMs?: number | null;
2598
+ /** Errormessage */
2599
+ errorMessage?: string | null;
2600
+ /** Errortraceback */
2601
+ errorTraceback?: string | null;
2602
+ /** Retryattempt */
2603
+ retryAttempt: number;
2604
+ };
2605
+ /**
2606
+ * ScheduledTaskRead
2607
+ * @description Full schema for reading a scheduled task.
2608
+ */
2609
+ ScheduledTaskRead: {
2610
+ /**
2611
+ * Id
2612
+ * Format: uuid4
2613
+ */
2614
+ id: string;
2615
+ /** Name */
2616
+ name: string;
2617
+ /** Slug */
2618
+ slug: string;
2619
+ /** Description */
2620
+ description?: string | null;
2621
+ /** Enabled */
2622
+ enabled: boolean;
2623
+ /** Scheduletype */
2624
+ scheduleType: string;
2625
+ /** Tasktype */
2626
+ taskType: string;
2627
+ /** Lastrunat */
2628
+ lastRunAt?: string | null;
2629
+ /** Nextrunat */
2630
+ nextRunAt?: string | null;
2631
+ /** Laststatus */
2632
+ lastStatus?: string | null;
2633
+ /** Failurecount */
2634
+ failureCount: number;
2635
+ /** Createdat */
2636
+ createdAt?: string | null;
2637
+ /** Updateat */
2638
+ updateAt?: string | null;
2639
+ /** Groupid */
2640
+ groupId?: string | null;
2641
+ /** Scheduleconfig */
2642
+ scheduleConfig: {
2643
+ [key: string]: unknown;
2644
+ };
2645
+ /** Taskconfig */
2646
+ taskConfig: {
2647
+ [key: string]: unknown;
2648
+ };
2649
+ /** Retrypolicy */
2650
+ retryPolicy?: {
2651
+ [key: string]: unknown;
2652
+ } | null;
2653
+ /** Lastdurationms */
2654
+ lastDurationMs?: number | null;
2655
+ };
2656
+ /**
2657
+ * ScheduledTaskUpdate
2658
+ * @description Schema for updating a scheduled task.
2659
+ */
2660
+ ScheduledTaskUpdate: {
2661
+ /** Name */
2662
+ name?: string | null;
2663
+ /** Description */
2664
+ description?: string | null;
2665
+ /** Enabled */
2666
+ enabled?: boolean | null;
2667
+ /** Scheduletype */
2668
+ scheduleType?: ("cron" | "interval" | "once") | null;
2669
+ /** Scheduleconfig */
2670
+ scheduleConfig?: {
2671
+ [key: string]: unknown;
2672
+ } | null;
2673
+ /** Tasktype */
2674
+ taskType?: string | null;
2675
+ /** Taskconfig */
2676
+ taskConfig?: {
2677
+ [key: string]: unknown;
2678
+ } | null;
2679
+ /** Retrypolicy */
2680
+ retryPolicy?: {
2681
+ [key: string]: unknown;
2682
+ } | null;
2683
+ };
2684
+ /**
2685
+ * SiteConfiguration
2686
+ * @description Site configuration for publishing API.
2687
+ *
2688
+ * Provides the public identity and settings for a workspace's published site.
2689
+ * This replaces hardcoded site.ts files in Astro projects.
2690
+ */
2691
+ SiteConfiguration: {
2692
+ /** Title */
2693
+ title?: string | null;
2694
+ /** Tagline */
2695
+ tagline?: string | null;
2696
+ /** Description */
2697
+ description?: string | null;
2698
+ /** Canonicalurl */
2699
+ canonicalUrl?: string | null;
2700
+ /** Logo */
2701
+ logo?: string | null;
2702
+ /** Favicon */
2703
+ favicon?: string | null;
2704
+ /**
2705
+ * Locale
2706
+ * @default en-US
2707
+ */
2708
+ locale: string;
2709
+ /**
2710
+ * Timezone
2711
+ * @default America/New_York
2712
+ */
2713
+ timezone: string;
2714
+ /** Contactemail */
2715
+ contactEmail?: string | null;
2716
+ /** Social */
2717
+ social?: {
2718
+ [key: string]: unknown;
2719
+ } | null;
2720
+ /** Metadatajson */
2721
+ metadataJson?: {
2722
+ [key: string]: unknown;
2723
+ } | null;
2724
+ };
2725
+ /**
2726
+ * SuccessResponse
2727
+ * @description Standardized schema for generic API success responses.
2728
+ * Provides a success message and an error flag set to False.
2729
+ */
2730
+ SuccessResponse: {
2731
+ /** Message */
2732
+ message: string;
2733
+ /**
2734
+ * Error
2735
+ * @default false
2736
+ */
2737
+ error: boolean;
2738
+ };
2739
+ /**
2740
+ * SystemStats
2741
+ * @description System statistics response model.
2742
+ */
2743
+ SystemStats: {
2744
+ /** Users Count */
2745
+ users_count: number;
2746
+ /** Groups Count */
2747
+ groups_count: number;
2748
+ /** Entries Count */
2749
+ entries_count: number;
2750
+ /** Assets Count */
2751
+ assets_count: number;
2752
+ /** Api Tokens Count */
2753
+ api_tokens_count: number;
2754
+ /** Webhooks Count */
2755
+ webhooks_count: number;
2756
+ /** Database Size */
2757
+ database_size: string;
2758
+ /** Database Path */
2759
+ database_path: string;
2760
+ /** Assets Size */
2761
+ assets_size: string;
2762
+ /** Assets Path */
2763
+ assets_path: string;
2764
+ /** Backups Size */
2765
+ backups_size: string;
2766
+ /** Backups Path */
2767
+ backups_path: string;
2768
+ /** Total Size */
2769
+ total_size: string;
2770
+ /** Data Dir Path */
2771
+ data_dir_path: string;
2772
+ };
2773
+ /**
2774
+ * TestEmailRequest
2775
+ * @description Request to send a test email.
2776
+ */
2777
+ TestEmailRequest: {
2778
+ /**
2779
+ * Recipient Email
2780
+ * Format: email
2781
+ */
2782
+ recipient_email: string;
2783
+ };
2784
+ /**
2785
+ * TokenResponseDelete
2786
+ * @description Schema for the response after successfully deleting an API token.
2787
+ * Confirms which token was deleted by its name.
2788
+ */
2789
+ TokenResponseDelete: {
2790
+ /** Tokendelete */
2791
+ tokenDelete: string;
2792
+ };
2793
+ /**
2794
+ * UnlockResults
2795
+ * @description Schema for the response when an operation to unlock user accounts is performed.
2796
+ * Indicates how many user accounts were successfully unlocked.
2797
+ */
2798
+ UnlockResults: {
2799
+ /**
2800
+ * Unlocked
2801
+ * @default 0
2802
+ */
2803
+ unlocked: number;
2804
+ };
2805
+ /**
2806
+ * UserCreate
2807
+ * @description Schema for creating a new user.
2808
+ * Includes essential user details, authentication method, admin status,
2809
+ * group assignment, permissions, and password.
2810
+ * @example {
2811
+ * "admin": false,
2812
+ * "email": "newuser@example.com",
2813
+ * "fullName": "New User Name",
2814
+ * "group": "Default",
2815
+ * "password": "aSecurePassword123",
2816
+ * "username": "NewUser"
2817
+ * }
2818
+ */
2819
+ UserCreate: {
2820
+ /** Id */
2821
+ id?: string | null;
2822
+ /** Username */
2823
+ username?: string | null;
2824
+ /** Fullname */
2825
+ fullName?: string | null;
2826
+ /** Email */
2827
+ email: string;
2828
+ /** @default MARVIN */
2829
+ authMethod: components["schemas"]["AuthMethod"];
2830
+ /** @default NONE */
2831
+ platformRole: components["schemas"]["PlatformRole"];
2832
+ /**
2833
+ * Admin
2834
+ * @default false
2835
+ */
2836
+ admin: boolean;
2837
+ /**
2838
+ * Issuperuser
2839
+ * @default false
2840
+ */
2841
+ isSuperuser: boolean;
2842
+ /** Group */
2843
+ group?: string | null;
2844
+ /**
2845
+ * Advanced
2846
+ * @default false
2847
+ */
2848
+ advanced: boolean;
2849
+ /** Password */
2850
+ password: string;
2851
+ /**
2852
+ * Caninvite
2853
+ * @default false
2854
+ */
2855
+ canInvite: boolean;
2856
+ /**
2857
+ * Canmanage
2858
+ * @default false
2859
+ */
2860
+ canManage: boolean;
2861
+ /**
2862
+ * Canorganize
2863
+ * @default false
2864
+ */
2865
+ canOrganize: boolean;
2866
+ };
2867
+ /**
2868
+ * UserPagination
2869
+ * @description Schema for paginated responses containing a list of users.
2870
+ * Items are expected to conform to the `UserRead` schema.
2871
+ */
2872
+ UserPagination: {
2873
+ /**
2874
+ * Page
2875
+ * @default 1
2876
+ */
2877
+ page: number;
2878
+ /**
2879
+ * Per Page
2880
+ * @default 10
2881
+ */
2882
+ per_page: number;
2883
+ /**
2884
+ * Total
2885
+ * @default 0
2886
+ */
2887
+ total: number;
2888
+ /**
2889
+ * Total Pages
2890
+ * @default 0
2891
+ */
2892
+ total_pages: number;
2893
+ /** Items */
2894
+ items: components["schemas"]["UserRead"][];
2895
+ /** Next */
2896
+ next?: string | null;
2897
+ /** Previous */
2898
+ previous?: string | null;
2899
+ };
2900
+ /**
2901
+ * UserProfileUpdate
2902
+ * @description Schema for updating a user's profile information (without password).
2903
+ * All fields are optional for partial updates.
2904
+ * Used by the /api/self endpoint for users updating their own profile.
2905
+ */
2906
+ UserProfileUpdate: {
2907
+ /** Username */
2908
+ username?: string | null;
2909
+ /** Email */
2910
+ email?: string | null;
2911
+ /** Fullname */
2912
+ fullName?: string | null;
2913
+ };
2914
+ /**
2915
+ * UserRead
2916
+ * @description Schema for representing a user when read from the system.
2917
+ * Extends `UserCreate` (which includes password), and adds system-generated fields
2918
+ * like `id`, group details, and `cache_key`.
2919
+ *
2920
+ * NOTE: Inheriting from `UserCreate` means this schema will include `password`.
2921
+ * For public user representations, `password` should typically be excluded.
2922
+ * Consider having a different base or explicitly excluding password here if this
2923
+ * is for general-purpose reading. `PrivateUser` below handles sensitive data.
2924
+ * @example {
2925
+ * "admin": false,
2926
+ * "email": "newuser@example.com",
2927
+ * "fullName": "New User Name",
2928
+ * "group": "Default",
2929
+ * "password": "aSecurePassword123",
2930
+ * "username": "NewUser"
2931
+ * }
2932
+ */
2933
+ UserRead: {
2934
+ /**
2935
+ * Id
2936
+ * Format: uuid4
2937
+ */
2938
+ id: string;
2939
+ /** Username */
2940
+ username?: string | null;
2941
+ /** Fullname */
2942
+ fullName?: string | null;
2943
+ /** Email */
2944
+ email: string;
2945
+ /** @default MARVIN */
2946
+ authMethod: components["schemas"]["AuthMethod"];
2947
+ platformRole: components["schemas"]["PlatformRole"];
2948
+ /**
2949
+ * Admin
2950
+ * @default false
2951
+ */
2952
+ admin: boolean;
2953
+ /**
2954
+ * Issuperuser
2955
+ * @default false
2956
+ */
2957
+ isSuperuser: boolean;
2958
+ /** Group */
2959
+ group: string;
2960
+ /**
2961
+ * Advanced
2962
+ * @default false
2963
+ */
2964
+ advanced: boolean;
2965
+ /** Password */
2966
+ password: string;
2967
+ /**
2968
+ * Caninvite
2969
+ * @default false
2970
+ */
2971
+ canInvite: boolean;
2972
+ /**
2973
+ * Canmanage
2974
+ * @default false
2975
+ */
2976
+ canManage: boolean;
2977
+ /**
2978
+ * Canorganize
2979
+ * @default false
2980
+ */
2981
+ canOrganize: boolean;
2982
+ /**
2983
+ * Groupid
2984
+ * Format: uuid4
2985
+ */
2986
+ groupId: string;
2987
+ /** Groupslug */
2988
+ groupSlug: string;
2989
+ /** Activegroupid */
2990
+ activeGroupId?: string | null;
2991
+ /**
2992
+ * Workspacememberships
2993
+ * @default []
2994
+ */
2995
+ workspaceMemberships: components["schemas"]["WorkspaceMembershipSummary"][];
2996
+ /** Cachekey */
2997
+ cacheKey: string | null;
2998
+ };
2999
+ /** UserRegistrationCreate */
3000
+ UserRegistrationCreate: {
3001
+ /** Group */
3002
+ group?: string | null;
3003
+ /** Grouptoken */
3004
+ groupToken?: string | null;
3005
+ /** Email */
3006
+ email: string;
3007
+ /** Username */
3008
+ username: string;
3009
+ /** Fullname */
3010
+ fullName: string;
3011
+ /** Password */
3012
+ password: string;
3013
+ /** Passwordconfirm */
3014
+ passwordConfirm: string;
3015
+ /**
3016
+ * Advanced
3017
+ * @default false
3018
+ */
3019
+ advanced: boolean;
3020
+ /**
3021
+ * Private
3022
+ * @default false
3023
+ */
3024
+ private: boolean;
3025
+ /**
3026
+ * Seeddata
3027
+ * @default false
3028
+ */
3029
+ seedData: boolean;
3030
+ };
3031
+ /**
3032
+ * UserSummary
3033
+ * @description Schema for a summary representation of a user.
3034
+ * Provides key identifying information, suitable for lists or brief displays.
3035
+ */
3036
+ UserSummary: {
3037
+ /**
3038
+ * Id
3039
+ * Format: uuid4
3040
+ */
3041
+ id: string;
3042
+ /**
3043
+ * Groupid
3044
+ * Format: uuid4
3045
+ */
3046
+ groupId: string;
3047
+ /** Username */
3048
+ username: string;
3049
+ /** Email */
3050
+ email?: string | null;
3051
+ /** Fullname */
3052
+ fullName?: string | null;
3053
+ };
3054
+ /**
3055
+ * UserUpdate
3056
+ * @description Schema likely used internally for saving a user to the database,
3057
+ * ensuring required fields like `username`, `full_name`, and `password` are present.
3058
+ * Extends `UserCreate`.
3059
+ * @example {
3060
+ * "admin": false,
3061
+ * "email": "newuser@example.com",
3062
+ * "fullName": "New User Name",
3063
+ * "group": "Default",
3064
+ * "password": "aSecurePassword123",
3065
+ * "username": "NewUser"
3066
+ * }
3067
+ */
3068
+ UserUpdate: {
3069
+ /** Id */
3070
+ id?: string | null;
3071
+ /** Username */
3072
+ username: string;
3073
+ /** Fullname */
3074
+ fullName: string;
3075
+ /** Email */
3076
+ email: string;
3077
+ /** @default MARVIN */
3078
+ authMethod: components["schemas"]["AuthMethod"];
3079
+ /** @default NONE */
3080
+ platformRole: components["schemas"]["PlatformRole"];
3081
+ /**
3082
+ * Admin
3083
+ * @default false
3084
+ */
3085
+ admin: boolean;
3086
+ /**
3087
+ * Issuperuser
3088
+ * @default false
3089
+ */
3090
+ isSuperuser: boolean;
3091
+ /** Group */
3092
+ group?: string | null;
3093
+ /**
3094
+ * Advanced
3095
+ * @default false
3096
+ */
3097
+ advanced: boolean;
3098
+ /** Password */
3099
+ password: string;
3100
+ /**
3101
+ * Caninvite
3102
+ * @default false
3103
+ */
3104
+ canInvite: boolean;
3105
+ /**
3106
+ * Canmanage
3107
+ * @default false
3108
+ */
3109
+ canManage: boolean;
3110
+ /**
3111
+ * Canorganize
3112
+ * @default false
3113
+ */
3114
+ canOrganize: boolean;
3115
+ };
3116
+ /** ValidationError */
3117
+ ValidationError: {
3118
+ /** Location */
3119
+ loc: (string | number)[];
3120
+ /** Message */
3121
+ msg: string;
3122
+ /** Error Type */
3123
+ type: string;
3124
+ };
3125
+ /**
3126
+ * WebhookCreate
3127
+ * @description Schema for creating a new webhook configuration.
3128
+ * Includes fields for enabling the webhook, naming it, specifying the target URL,
3129
+ * HTTP method, type, and an optional scheduled time for execution.
3130
+ */
3131
+ WebhookCreate: {
3132
+ /**
3133
+ * Enabled
3134
+ * @default true
3135
+ */
3136
+ enabled: boolean;
3137
+ /** Name */
3138
+ name: string;
3139
+ /**
3140
+ * Url
3141
+ * Format: uri
3142
+ */
3143
+ url: string;
3144
+ /** @default POST */
3145
+ method: components["schemas"]["WebhookMethod"];
3146
+ /** @default generic */
3147
+ webhookType: components["schemas"]["EventDocumentType"];
3148
+ /**
3149
+ * Scheduledtime
3150
+ * Format: date-time
3151
+ */
3152
+ scheduledTime: string;
3153
+ };
3154
+ /**
3155
+ * WebhookMethod
3156
+ * @description Enumeration for HTTP methods supported by webhooks.
3157
+ * @enum {string}
3158
+ */
3159
+ WebhookMethod: "GET" | "POST";
3160
+ /**
3161
+ * WebhookPagination
3162
+ * @description Schema for paginated responses containing a list of webhook configurations.
3163
+ */
3164
+ WebhookPagination: {
3165
+ /**
3166
+ * Page
3167
+ * @default 1
3168
+ */
3169
+ page: number;
3170
+ /**
3171
+ * Per Page
3172
+ * @default 10
3173
+ */
3174
+ per_page: number;
3175
+ /**
3176
+ * Total
3177
+ * @default 0
3178
+ */
3179
+ total: number;
3180
+ /**
3181
+ * Total Pages
3182
+ * @default 0
3183
+ */
3184
+ total_pages: number;
3185
+ /** Items */
3186
+ items: components["schemas"]["WebhookRead"][];
3187
+ /** Next */
3188
+ next?: string | null;
3189
+ /** Previous */
3190
+ previous?: string | null;
3191
+ };
3192
+ /**
3193
+ * WebhookRead
3194
+ * @description Schema for representing a webhook configuration when read from the system.
3195
+ * Extends `WebhookUpdate` by adding the unique `id` of the webhook.
3196
+ */
3197
+ WebhookRead: {
3198
+ /**
3199
+ * Enabled
3200
+ * @default true
3201
+ */
3202
+ enabled: boolean;
3203
+ /** Name */
3204
+ name: string;
3205
+ /**
3206
+ * Url
3207
+ * Format: uri
3208
+ */
3209
+ url: string;
3210
+ /** @default POST */
3211
+ method: components["schemas"]["WebhookMethod"];
3212
+ /** @default generic */
3213
+ webhookType: components["schemas"]["EventDocumentType"];
3214
+ /**
3215
+ * Scheduledtime
3216
+ * Format: date-time
3217
+ */
3218
+ scheduledTime: string;
3219
+ /**
3220
+ * Groupid
3221
+ * Format: uuid4
3222
+ */
3223
+ groupId: string;
3224
+ /**
3225
+ * Id
3226
+ * Format: uuid4
3227
+ */
3228
+ id: string;
3229
+ };
3230
+ /**
3231
+ * WorkspaceActivationRequest
3232
+ * @description Request to change active workspace.
3233
+ */
3234
+ WorkspaceActivationRequest: {
3235
+ /** Workspace */
3236
+ workspace: string;
3237
+ };
3238
+ /**
3239
+ * WorkspaceInfo
3240
+ * @description Public workspace information for publishing API.
3241
+ */
3242
+ WorkspaceInfo: {
3243
+ /** Slug */
3244
+ slug: string;
3245
+ /** Name */
3246
+ name: string;
3247
+ };
3248
+ /**
3249
+ * WorkspaceMemberCreate
3250
+ * @description Schema for adding a user to a workspace.
3251
+ *
3252
+ * Used when a workspace admin wants to invite a user to their workspace.
3253
+ */
3254
+ WorkspaceMemberCreate: {
3255
+ /**
3256
+ * Userid
3257
+ * Format: uuid4
3258
+ */
3259
+ userId: string;
3260
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3261
+ };
3262
+ /**
3263
+ * WorkspaceMemberUpdate
3264
+ * @description Schema for updating a workspace member's role.
3265
+ *
3266
+ * Used when changing a user's permissions within a workspace.
3267
+ */
3268
+ WorkspaceMemberUpdate: {
3269
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3270
+ };
3271
+ /**
3272
+ * WorkspaceMembershipRead
3273
+ * @description Schema for reading a user's workspace membership with role.
3274
+ * Represents the relationship between a user and a workspace.
3275
+ * Includes user details when loaded with joinedload.
3276
+ */
3277
+ WorkspaceMembershipRead: {
3278
+ /**
3279
+ * Id
3280
+ * Format: uuid4
3281
+ */
3282
+ id: string;
3283
+ /**
3284
+ * Userid
3285
+ * Format: uuid4
3286
+ */
3287
+ userId: string;
3288
+ /**
3289
+ * Groupid
3290
+ * Format: uuid4
3291
+ */
3292
+ groupId: string;
3293
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3294
+ user?: components["schemas"]["UserSummary"] | null;
3295
+ };
3296
+ /**
3297
+ * WorkspaceMembershipSummary
3298
+ * @description Schema for summarized workspace membership information.
3299
+ * Used in user profiles to show which workspaces they belong to.
3300
+ */
3301
+ WorkspaceMembershipSummary: {
3302
+ /**
3303
+ * Groupid
3304
+ * Format: uuid4
3305
+ */
3306
+ groupId: string;
3307
+ workspaceRole: components["schemas"]["WorkspaceRole"];
3308
+ };
3309
+ /**
3310
+ * WorkspaceRole
3311
+ * @description Workspace-level roles for workspace members.
3312
+ *
3313
+ * Each user-workspace membership has ONE workspace role that determines
3314
+ * what they can do within that specific workspace.
3315
+ * @enum {string}
3316
+ */
3317
+ WorkspaceRole: "OWNER" | "ADMIN" | "EDITOR" | "AUTHOR" | "VIEWER";
3318
+ /**
3319
+ * WorkspaceSiteInfo
3320
+ * @description Combined workspace and site configuration response.
3321
+ *
3322
+ * Returns everything an external site needs to initialize itself.
3323
+ */
3324
+ WorkspaceSiteInfo: {
3325
+ workspace: components["schemas"]["WorkspaceInfo"];
3326
+ site: components["schemas"]["SiteConfiguration"];
3327
+ };
3328
+ /**
3329
+ * WorkspaceWithMembership
3330
+ * @description Workspace with user's role and active status.
3331
+ */
3332
+ WorkspaceWithMembership: {
3333
+ workspace: components["schemas"]["GroupRead"];
3334
+ role: components["schemas"]["WorkspaceRole"];
3335
+ /** Isactive */
3336
+ isActive: boolean;
3337
+ };
3338
+ };
3339
+ responses: never;
3340
+ parameters: never;
3341
+ requestBodies: never;
3342
+ headers: never;
3343
+ pathItems: never;
3344
+ }
3345
+
3346
+ /**
3347
+ * Marvin Publishing Client Types
3348
+ *
3349
+ * Type aliases from the auto-generated OpenAPI schema.
3350
+ * These stay in sync automatically when the schema is regenerated.
3351
+ */
3352
+
3353
+ type MarvinSite = components['schemas']['WorkspaceSiteInfo'];
3354
+ type SiteConfiguration = components['schemas']['SiteConfiguration'];
3355
+ type WorkspaceInfo = components['schemas']['WorkspaceInfo'];
3356
+ type MarvinEntry = components['schemas']['PublishedEntryRead'];
3357
+ type MarvinEntryListItem = components['schemas']['PublishedEntryListItem'];
3358
+ type PublishedEntryType = components['schemas']['PublishedEntryTypeRead'];
3359
+ type MarvinCollection = components['schemas']['PublishedCollectionRead'];
3360
+ type PublishedCollectionSummary = components['schemas']['PublishedCollectionSummary'];
3361
+ type MarvinAsset = components['schemas']['PublishedAssetRead'];
3362
+ type PublishedAssetRead = components['schemas']['PublishedAssetRead'];
3363
+ type PublishedEntryAsset = components['schemas']['PublishedEntryAsset'];
3364
+ type MarvinResource = components['schemas']['PublishedResourceSummary'];
3365
+ type PublishedEntryResource = components['schemas']['PublishedEntryResource'];
3366
+ type MarvinEntryType = components['schemas']['EntryTypeRead'];
3367
+ interface AssetUploadRequest {
3368
+ slug: string;
3369
+ name: string;
3370
+ altText?: string;
3371
+ description?: string;
3372
+ metadata?: Record<string, unknown>;
3373
+ }
3374
+ interface MarvinPublishResponse<T> {
3375
+ data: T;
3376
+ meta?: {
3377
+ total?: number;
3378
+ page?: number;
3379
+ limit?: number;
3380
+ };
3381
+ }
3382
+ interface MarvinClientConfig {
3383
+ apiUrl: string;
3384
+ siteClientToken: string;
3385
+ workspaceSlug: string;
3386
+ }
3387
+ interface GetEntriesOptions {
3388
+ entryType?: string;
3389
+ collection?: string;
3390
+ limit?: number;
3391
+ offset?: number;
3392
+ status?: string;
3393
+ }
3394
+ interface GetAssetsOptions {
3395
+ type?: string;
3396
+ limit?: number;
3397
+ offset?: number;
3398
+ }
3399
+ interface GetResourcesOptions {
3400
+ resourceType?: string;
3401
+ limit?: number;
3402
+ offset?: number;
3403
+ }
3404
+ interface AuthToken {
3405
+ accessToken: string;
3406
+ tokenType: string;
3407
+ }
3408
+
3409
+ 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, PublishedEntryAsset as k, PublishedEntryResource as l, PublishedEntryType as m, components as n, AssetUploadRequest as o, MarvinClientConfig as p };