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