@wix/auto_sdk_app-management_apps 1.0.0 → 1.0.2

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.
@@ -12,7 +12,9 @@ interface V1App {
12
12
  */
13
13
  _id?: string | null;
14
14
  /**
15
- * The display name of the application, shown to users and in App Market after publication. This is separate from the app namespace, slug, and code identifier.
15
+ * The display name shown to users and in App Market after publication, separate from the namespace, slug, and code identifier.
16
+ * On creation and update, `<`, `>`, double quotes, and apostrophes are escaped as
17
+ * `&lt;`, `&gt;`, `&quot;`, and `&apos;`. Responses contain the escaped value, which can be longer than the submitted name.
16
18
  * @maxLength 50
17
19
  */
18
20
  name?: string;
@@ -22,7 +24,11 @@ interface V1App {
22
24
  * @format GUID
23
25
  */
24
26
  accountId?: string | null;
25
- /** Secrets for authentication and webhooks. */
27
+ /**
28
+ * Secrets for authentication and webhooks. Omitted from Get App responses by default.
29
+ * To retrieve them, include `APP_SECRETS` in Get App's `additionalFields`.
30
+ * Requires authorization to access the app's secrets.
31
+ */
26
32
  appSecrets?: AppSecrets;
27
33
  /**
28
34
  * Is Wix owned the application
@@ -30,13 +36,18 @@ interface V1App {
30
36
  */
31
37
  wixApp?: boolean;
32
38
  /**
33
- * App namespace, combining an account or company identifier with an app-name component. For example, `@example-company/bookings-helper`.
39
+ * App namespace, combining an account or company identifier with an app-name component.
40
+ * For example, `@example-company/bookings-helper`.
41
+ * Assign it once through Set Namespace after creating the app. Don't supply it to Create App
42
+ * or Update App. Set Namespace fails if the app already has a namespace.
34
43
  * @minLength 1
35
44
  * @maxLength 150
36
45
  */
37
46
  namespace?: string | null;
38
47
  /**
39
- * A JavaScript-compatible name for referencing the app in code, separate from its display name, namespace, and slug.
48
+ * An identifier for referencing the app in code, separate from its display name, namespace, and slug.
49
+ * Must start with a letter, underscore, or dollar sign; remaining characters can also include digits.
50
+ * JavaScript reserved words aren't rejected. Choose a non-reserved identifier if using this value as a JavaScript variable name.
40
51
  * Unique for non-companion apps. Companion apps return the shared value `companionApp`; use `id` to uniquely identify an app.
41
52
  * For example, the namespace `@app-builder/my-cool-app` can be represented by the code identifier `AppBuilderMyCoolApp`.
42
53
  * @minLength 3
@@ -50,7 +61,12 @@ interface V1App {
50
61
  * @internal
51
62
  */
52
63
  appType?: AppTypeWithLiterals;
53
- /** Revision of the app. Changes each time the app is modified. */
64
+ /**
65
+ * Revision number, which increments by 1 each time the app is updated.
66
+ * To prevent conflicting changes, supply the current revision when calling Update App.
67
+ * Retrieve the latest revision through Get App before updating.
68
+ * Ignored when creating an app.
69
+ */
54
70
  revision?: string | null;
55
71
  /**
56
72
  * A human-readable, URL-friendly identifier for the app.
@@ -67,7 +83,9 @@ interface V1App {
67
83
  /** URLs used by the app's OAuth flow. */
68
84
  appUrls?: AppUrls;
69
85
  /**
70
- * Identity of the user or app that created the app, including its source template when applicable.
86
+ * Identity and creation channel of the user or app that created the app, including its source template when applicable.
87
+ * Create App derives `id` and `type` from the caller's identity, replacing any supplied values.
88
+ * You can supply `sourceTemplateId` during creation. Creator information can't be changed through Update App.
71
89
  * @immutable
72
90
  */
73
91
  createdBy?: CreatedBy;
@@ -83,7 +101,7 @@ interface V1App {
83
101
  * @readonly
84
102
  */
85
103
  _updatedDate?: Date | null;
86
- /** Changes not yet included in a released app version, grouped by type. */
104
+ /** Event-based tracking of unreleased changes, grouped by type. Updates asynchronously; see each flag for its tracking scope. */
87
105
  unreleasedChanges?: UnreleasedChanges;
88
106
  /**
89
107
  * The ownership tag of the application
@@ -139,6 +157,8 @@ interface V1App {
139
157
  interface AppSecrets {
140
158
  /**
141
159
  * App authentication secret. Keep this value in a secure backend secret store.
160
+ * During rotation, this field contains the previous secret while both secrets exist.
161
+ * After the previous secret is retired, this field contains the replacement secret.
142
162
  * @readonly
143
163
  * @format GUID
144
164
  */
@@ -150,7 +170,8 @@ interface AppSecrets {
150
170
  */
151
171
  webhookPublicKey?: string;
152
172
  /**
153
- * Additional authentication secret used during rotation. Present while the app has two secrets.
173
+ * Replacement authentication secret used during rotation. Present while the app has two secrets.
174
+ * After the previous secret is retired, this value moves to `appSecret` and this field is cleared.
154
175
  * @readonly
155
176
  * @format GUID
156
177
  */
@@ -216,52 +237,88 @@ interface AppUrls {
216
237
  * @maxSize 100
217
238
  */
218
239
  redirectUris?: string[];
240
+ /**
241
+ * Allowed post-installation URLs, where Wix redirects the user after installing the app from an external install link.
242
+ * A `postInstallationUrl` matches an entry when they are equal, ignoring the query string.
243
+ * @format WEB_URL
244
+ * @maxSize 100
245
+ */
246
+ postInstallationUrls?: string[];
247
+ /**
248
+ * Whether installs fail when the `postInstallationUrl` doesn't match `post_installation_urls`.
249
+ * @internal
250
+ * @deprecated Whether installs fail when the `postInstallationUrl` doesn't match `post_installation_urls`.
251
+ * @targetRemovalDate 2026-12-01
252
+ */
253
+ validatePostInstallationUrl?: boolean | null;
219
254
  }
220
255
  interface CreatedBy {
221
256
  /**
222
- * ID of the user or app that created the app.
257
+ * Creator ID derived from the caller's identity; a supplied value is replaced during creation.
258
+ * Identifies a user for `USER`, `CODE_GEN`, and `APP_BUILDER_SELF_HOSTED`, or an app for `APP`.
223
259
  * @format GUID
224
260
  */
225
261
  _id?: string;
226
- /** Type of identity that created the app. */
262
+ /** Creator identity or creation channel, derived from the caller's identity rather than a supplied value. */
227
263
  type?: CreatedByTypeWithLiterals;
228
264
  /**
229
- * ID of the template used to create the app, when applicable.
265
+ * ID of the source template, when applicable. Can be supplied to Create App.
230
266
  * @format GUID
231
267
  */
232
268
  sourceTemplateId?: string | null;
233
269
  }
234
270
  declare enum CreatedByType {
271
+ /** Created by a user; `id` is the user's ID. */
235
272
  USER = "USER",
273
+ /** Created by an app; `id` is the app's ID. */
236
274
  APP = "APP",
275
+ /** Created through code generation; `id` is the initiating user's ID. */
237
276
  CODE_GEN = "CODE_GEN",
277
+ /** Created through the self-hosted app builder; `id` is the initiating user's ID. */
238
278
  APP_BUILDER_SELF_HOSTED = "APP_BUILDER_SELF_HOSTED"
239
279
  }
240
280
  /** @enumType */
241
281
  type CreatedByTypeWithLiterals = CreatedByType | 'USER' | 'APP' | 'CODE_GEN' | 'APP_BUILDER_SELF_HOSTED';
242
282
  interface InstallationPreferences extends InstallationPreferencesOpenButtonOptionsOneOf {
243
- /** Component to open when `openButtonAction` is `OPEN_COMPONENT_ID`. */
283
+ /** Component to open. Supply `componentId` when `openButtonAction` is `OPEN_COMPONENT_ID`. */
244
284
  openComponentIdOptions?: OpenComponentId;
245
- /** Destination for the user after installing the app. */
285
+ /**
286
+ * Preferred destination after installing an app with both editor and dashboard components.
287
+ * A recognized dashboard page in `postInstallationComponentId` takes precedence over this preference.
288
+ * Otherwise, `DASHBOARD` selects the dashboard and `EDITOR` selects the editor.
289
+ * On sites without an editor, `EDITOR` falls back to the dashboard.
290
+ * `UNKNOWN_REDIRECT_TARGET` leaves the default installation navigation unchanged.
291
+ */
246
292
  overridePostInstallationRedirect?: RedirectTargetWithLiterals;
247
293
  /**
248
- * ID of the component the user is redirected to after installing the app.
294
+ * Optional ID of the app's dashboard page to open after installation.
295
+ * A recognized dashboard page takes precedence over `overridePostInstallationRedirect`.
296
+ * If omitted or not recognized as a dashboard page, navigation uses the redirect preference
297
+ * or the default installation flow. This field doesn't select an editor component.
249
298
  * @format GUID
250
299
  */
251
300
  postInstallationComponentId?: string | null;
252
- /** Action performed when the user selects the app's Open button after installation. */
301
+ /**
302
+ * Action performed when the user selects the app's Open button after installation.
303
+ * For `OPEN_COMPONENT_ID`, supply `openComponentIdOptions.componentId`.
304
+ * `UNKNOWN_ACTION` means no explicit component-opening action is selected.
305
+ */
253
306
  openButtonAction?: OpenButtonActionWithLiterals;
254
307
  /**
255
308
  * Indicates the different consent options the app could define post installation
256
309
  * @internal
257
310
  */
258
311
  consentOptions?: ConsentOptions;
259
- /** Action required before the app can be uninstalled. */
312
+ /**
313
+ * Custom warning shown when a user tries to uninstall the app.
314
+ * Select `NO_ACTION` for no custom warning; `NONE_ACTION` represents an unspecified preference.
315
+ * The product and shipping values select warning text, rather than performing cleanup.
316
+ */
260
317
  uninstallAction?: UninstallActionsWithLiterals;
261
318
  }
262
319
  /** @oneof */
263
320
  interface InstallationPreferencesOpenButtonOptionsOneOf {
264
- /** Component to open when `openButtonAction` is `OPEN_COMPONENT_ID`. */
321
+ /** Component to open. Supply `componentId` when `openButtonAction` is `OPEN_COMPONENT_ID`. */
265
322
  openComponentIdOptions?: OpenComponentId;
266
323
  }
267
324
  declare enum ShowConsentBehaviour {
@@ -272,14 +329,19 @@ declare enum ShowConsentBehaviour {
272
329
  /** @enumType */
273
330
  type ShowConsentBehaviourWithLiterals = ShowConsentBehaviour | 'DEFAULT_BEHAVIOUR' | 'SHOW_CONSENT' | 'SKIP_CONSENT';
274
331
  declare enum RedirectTarget {
332
+ /** Use the default installation navigation. */
275
333
  UNKNOWN_REDIRECT_TARGET = "UNKNOWN_REDIRECT_TARGET",
334
+ /** Prefer the site dashboard for an app with editor and dashboard components. */
276
335
  DASHBOARD = "DASHBOARD",
336
+ /** Prefer the editor; use the dashboard on sites without an editor. */
277
337
  EDITOR = "EDITOR"
278
338
  }
279
339
  /** @enumType */
280
340
  type RedirectTargetWithLiterals = RedirectTarget | 'UNKNOWN_REDIRECT_TARGET' | 'DASHBOARD' | 'EDITOR';
281
341
  declare enum OpenButtonAction {
342
+ /** No explicit component-opening action is selected. */
282
343
  UNKNOWN_ACTION = "UNKNOWN_ACTION",
344
+ /** Open the component specified by `openComponentIdOptions.componentId`. */
283
345
  OPEN_COMPONENT_ID = "OPEN_COMPONENT_ID"
284
346
  }
285
347
  /** @enumType */
@@ -296,28 +358,46 @@ interface OpenComponentId {
296
358
  componentId?: string;
297
359
  }
298
360
  declare enum UninstallActions {
361
+ /** Unspecified warning preference. Use `NO_ACTION` to explicitly select no custom warning. */
299
362
  NONE_ACTION = "NONE_ACTION",
363
+ /** Show the standard uninstall message without a custom warning. Default when no preference is stored. */
300
364
  NO_ACTION = "NO_ACTION",
365
+ /** Warn users to remove all products associated with the app from their store. */
301
366
  REMOVE_ALL_PRODUCT = "REMOVE_ALL_PRODUCT",
367
+ /** Warn users that shipping to regions served only by the app will be removed from checkout. */
302
368
  SHIPPING_RATES_REGION = "SHIPPING_RATES_REGION"
303
369
  }
304
370
  /** @enumType */
305
371
  type UninstallActionsWithLiterals = UninstallActions | 'NONE_ACTION' | 'NO_ACTION' | 'REMOVE_ALL_PRODUCT' | 'SHIPPING_RATES_REGION';
372
+ /**
373
+ * Event-based tracking of changes not yet included in a released app version.
374
+ * Flags update asynchronously and reset when a production app version is created or updated.
375
+ */
306
376
  interface UnreleasedChanges {
307
- /** Indicate components changes (create, update, delete) */
377
+ /** Whether components have unreleased creation, update, or deletion changes. */
308
378
  componentsChanges?: boolean;
309
- /** Indicate app translations changes (create, update) */
379
+ /** Whether app translations have unreleased creation or update changes. */
310
380
  appTranslationsChanges?: boolean;
311
- /** Indicate components translations changes (create, update) */
381
+ /**
382
+ * Whether component translations have unreleased update changes.
383
+ * Component-translation creation events currently aren't reflected in this flag.
384
+ */
312
385
  componentsTranslationChanges?: boolean;
313
386
  /**
314
387
  * Indicate components experiments changes (create, update, delete)
315
388
  * @internal
316
389
  */
317
390
  componentsExperimentsChanges?: boolean;
318
- /** Indicate app permissions changes (create, update, delete) */
391
+ /**
392
+ * Whether app permissions have unreleased creation or update changes.
393
+ * Permission-deletion events currently aren't reflected in this flag.
394
+ */
319
395
  appPermissionsChanges?: boolean;
320
- /** Indicate app entity field changes (name, slug, namespace, codeIdentifier, partiallyConsumable) */
396
+ /**
397
+ * Whether app identity fields have unreleased changes, such as `name`, `slug`, `namespace`, and `codeIdentifier`.
398
+ * Doesn't track changes to `appUrls` or `installationPreferences`.
399
+ * Updates asynchronously after the app's update event; the update response may not yet reflect this flag.
400
+ */
321
401
  appEntityChanges?: boolean;
322
402
  }
323
403
  interface AppComponentMetadata {
@@ -509,7 +589,7 @@ interface AccountInfo {
509
589
  }
510
590
  interface AppOwnerChangedEvent {
511
591
  /**
512
- * Id of the App to update
592
+ * App ID.
513
593
  * @format GUID
514
594
  */
515
595
  appId?: string;
@@ -525,16 +605,16 @@ interface AppOwnerChangedEvent {
525
605
  previousAccountId?: string;
526
606
  }
527
607
  interface CreateAppRequest {
528
- /** App to be created */
608
+ /** App to create. */
529
609
  app: V1App;
530
610
  }
531
611
  interface CreateAppResponse {
532
- /** The created App */
612
+ /** Created app. */
533
613
  app?: V1App;
534
614
  }
535
615
  interface GetAppRequest {
536
616
  /**
537
- * Id of the App to retrieve
617
+ * App ID.
538
618
  * @format GUID
539
619
  */
540
620
  appId: string;
@@ -561,11 +641,11 @@ declare enum RequestedFields {
561
641
  /** @enumType */
562
642
  type RequestedFieldsWithLiterals = RequestedFields | 'APP_SECRETS';
563
643
  interface GetAppResponse {
564
- /** The retrieved App */
644
+ /** Retrieved app. */
565
645
  app?: V1App;
566
646
  }
567
647
  interface UpdateAppRequest {
568
- /** App to be updated, may be partial */
648
+ /** App to update. Specify the app ID, current revision, and fields to change. */
569
649
  app: V1App;
570
650
  /**
571
651
  * Explicit list of fields to update
@@ -574,23 +654,23 @@ interface UpdateAppRequest {
574
654
  mask?: string[];
575
655
  }
576
656
  interface UpdateAppResponse {
577
- /** The updated App */
657
+ /** Updated app. */
578
658
  app?: V1App;
579
659
  }
580
660
  interface GenerateSlugRequest {
581
661
  /**
582
- * Id of the App to update
662
+ * App ID.
583
663
  * @format GUID
584
664
  */
585
665
  appId: string;
586
666
  }
587
667
  interface GenerateSlugResponse {
588
- /** The modified app */
668
+ /** App with its generated or existing slug. */
589
669
  app?: V1App;
590
670
  }
591
671
  interface RenameSlugRequest {
592
672
  /**
593
- * Id of the App to update
673
+ * App ID.
594
674
  * @format GUID
595
675
  */
596
676
  appId?: string;
@@ -602,12 +682,12 @@ interface RenameSlugRequest {
602
682
  newSlug?: string;
603
683
  }
604
684
  interface RenameSlugResponse {
605
- /** The modified app */
685
+ /** App with its slug updated to the requested `newSlug`. */
606
686
  app?: V1App;
607
687
  }
608
688
  interface RenameCodeIdentifierRequest {
609
689
  /**
610
- * Id of the App to update
690
+ * App ID.
611
691
  * @format GUID
612
692
  */
613
693
  appId?: string;
@@ -619,12 +699,12 @@ interface RenameCodeIdentifierRequest {
619
699
  newCodeIdentifier?: string;
620
700
  }
621
701
  interface RenameCodeIdentifierResponse {
622
- /** The modified app */
702
+ /** App with its updated code identifier. */
623
703
  app?: V1App;
624
704
  }
625
705
  interface GetNamespaceSuggestionRequest {
626
706
  /**
627
- * The id of the application
707
+ * App ID.
628
708
  * @format GUID
629
709
  */
630
710
  appId: string;
@@ -640,12 +720,12 @@ declare enum NamespaceType {
640
720
  /** @enumType */
641
721
  type NamespaceTypeWithLiterals = NamespaceType | 'ACCOUNT' | 'COMPANY';
642
722
  interface GetNamespaceSuggestionResponse {
643
- /** The suggested namespace */
723
+ /** Suggested namespace. */
644
724
  namespace?: string;
645
725
  }
646
726
  interface GetNamespaceSuggestionByNameRequest {
647
727
  /**
648
- * The name of the application
728
+ * App display name used to derive a namespace suggestion.
649
729
  * @maxLength 50
650
730
  */
651
731
  name: string;
@@ -654,7 +734,7 @@ interface GetNamespaceSuggestionByNameRequest {
654
734
  }
655
735
  interface GetNamespaceSuggestionByNameResponse {
656
736
  /**
657
- * The suggested namespace
737
+ * Suggested namespace.
658
738
  * @minLength 1
659
739
  * @maxLength 150
660
740
  */
@@ -662,12 +742,12 @@ interface GetNamespaceSuggestionByNameResponse {
662
742
  }
663
743
  interface SetNamespaceRequest {
664
744
  /**
665
- * Id of the App to update
745
+ * App ID.
666
746
  * @format GUID
667
747
  */
668
748
  appId: string;
669
749
  /**
670
- * Name used to derive the app's namespace component, at most 50 characters before normalization.
750
+ * Name used to derive the app's namespace component.
671
751
  * Lowercased; runs of non-alphanumeric characters (including spaces and underscores) become hyphens, with leading/trailing separators removed.
672
752
  * For example, `Bookings Helper` and `Bookings_Helper` become `bookings-helper`. If no letters or digits remain, uses `untitled`.
673
753
  * Subject to the reserved-name restrictions documented on Set Namespace. For permitted Wix-owned apps, `wix` is removed before normalization.
@@ -703,7 +783,7 @@ interface SuggestCodeIdentifierResponse {
703
783
  }
704
784
  interface SetCodeIdentifierRequest {
705
785
  /**
706
- * Id of the App to update
786
+ * App ID.
707
787
  * @format GUID
708
788
  */
709
789
  appId?: string;
@@ -910,7 +990,7 @@ interface Cursors {
910
990
  }
911
991
  interface SetPrivateAppRequest {
912
992
  /**
913
- * Id of the App to update
993
+ * App ID.
914
994
  * @format GUID
915
995
  */
916
996
  appId?: string;
@@ -920,7 +1000,7 @@ interface SetPrivateAppRequest {
920
1000
  revision?: string;
921
1001
  }
922
1002
  interface SetPrivateAppResponse {
923
- /** The modified app */
1003
+ /** App with its `privateApp` setting updated to the requested value. */
924
1004
  app?: V1App;
925
1005
  }
926
1006
  interface AppChangedEvent {
@@ -1009,7 +1089,7 @@ interface AppSlugChanged {
1009
1089
  }
1010
1090
  interface SetAppOwnerRequest {
1011
1091
  /**
1012
- * Id of the App to update
1092
+ * App ID.
1013
1093
  * @format GUID
1014
1094
  */
1015
1095
  appId?: string;
@@ -1022,7 +1102,7 @@ interface SetAppOwnerRequest {
1022
1102
  revision?: string;
1023
1103
  }
1024
1104
  interface SetAppOwnerResponse {
1025
- /** The modified app */
1105
+ /** App owned by the requested `accountId`. */
1026
1106
  app?: V1App;
1027
1107
  }
1028
1108
  interface AppUrlsChangedInOldServiceEvent extends AppUrlsChangedInOldServiceEventChangedUrlOneOf {
@@ -1031,7 +1111,7 @@ interface AppUrlsChangedInOldServiceEvent extends AppUrlsChangedInOldServiceEven
1031
1111
  /** redirect uris */
1032
1112
  redirectUriMessage?: RedirectUrlMessage;
1033
1113
  /**
1034
- * Id of the App to update
1114
+ * App ID.
1035
1115
  * @format GUID
1036
1116
  */
1037
1117
  appId?: string;
@@ -1053,7 +1133,7 @@ interface RedirectUrlMessage {
1053
1133
  }
1054
1134
  interface CreateSecondarySecretRequest {
1055
1135
  /**
1056
- * ID of the App to update
1136
+ * App ID.
1057
1137
  * @format GUID
1058
1138
  */
1059
1139
  appId: string;
@@ -1077,7 +1157,7 @@ interface ActivateSecondarySecretResponse {
1077
1157
  }
1078
1158
  interface RotateSecretRequest {
1079
1159
  /**
1080
- * ID of the App to update
1160
+ * App ID.
1081
1161
  * @format GUID
1082
1162
  */
1083
1163
  appId?: string;
@@ -1088,7 +1168,7 @@ interface RotateSecretResponse {
1088
1168
  }
1089
1169
  interface RollbackSecretRequest {
1090
1170
  /**
1091
- * ID of the App to update
1171
+ * App ID.
1092
1172
  * @format GUID
1093
1173
  */
1094
1174
  appId?: string;
@@ -1099,24 +1179,24 @@ interface RollbackSecretResponse {
1099
1179
  }
1100
1180
  interface RevokeSecretRequest {
1101
1181
  /**
1102
- * ID of the App to update
1182
+ * App ID.
1103
1183
  * @format GUID
1104
1184
  */
1105
1185
  appId: string;
1106
- /** Which of the two secrets to get rid of */
1186
+ /** Credential to revoke. The app must have both a previous and a replacement secret. */
1107
1187
  secretToRevoke: SecretToRevokeWithLiterals;
1108
1188
  }
1109
- /** Which of the App's two secrets to get rid of */
1189
+ /** Credential to revoke during app-secret rotation. */
1110
1190
  declare enum SecretToRevoke {
1111
- /** The secret the App had before the second one was created */
1191
+ /** Switch signing to the replacement secret and schedule retirement of the previous secret. */
1112
1192
  PREVIOUS_SECRET = "PREVIOUS_SECRET",
1113
- /** The second secret that was created most recently */
1193
+ /** Discard the replacement secret and restore signing with the previous secret. */
1114
1194
  NEW_SECRET = "NEW_SECRET"
1115
1195
  }
1116
1196
  /** @enumType */
1117
1197
  type SecretToRevokeWithLiterals = SecretToRevoke | 'PREVIOUS_SECRET' | 'NEW_SECRET';
1118
1198
  interface RevokeSecretResponse {
1119
- /** Scheduled retirement time of the previous secret. Set only for PREVIOUS_SECRET; omitted for NEW_SECRET. */
1199
+ /** Scheduled retirement time of the previous secret. Returned for `PREVIOUS_SECRET` and omitted for `NEW_SECRET`. Use the latest returned timestamp. */
1120
1200
  previousSecretRevokeAt?: Date | null;
1121
1201
  }
1122
1202
  /** payload for kafka event for this version on app submit */
@@ -1316,30 +1396,30 @@ interface AssociateServiceAppResponse {
1316
1396
  * Setting `companionApp` to `true` is restricted to authorized companion-app provisioning services.
1317
1397
  * A supplied `slug` is ignored except for authorized companion-app provisioning callers; use Generate Slug after creation.
1318
1398
  * A supplied `codeIdentifier` must not contain `wix` (case-insensitive).
1319
- * @param app - App to be created
1399
+ * @param app - App to create.
1320
1400
  * @public
1321
1401
  * @documentationMaturity preview
1322
1402
  * @requiredField app
1323
1403
  * @permissionId DEV_CENTER.MANAGE_APPS
1324
1404
  * @permissionId DEV_CENTER.CREATE_APP
1325
- * @returns The created App
1405
+ * @returns Created app.
1326
1406
  * @fqn wix.devcenter.apps.v1.AppsService.CreateApp
1327
1407
  */
1328
- declare function createApp(app: V1App): Promise<NonNullablePaths<V1App, `name` | `appSecrets.appSecret` | `appSecrets.webhookPublicKey` | `appSecrets.secondarySecretActive` | `status` | `appUrls.redirectUris` | `createdBy._id` | `createdBy.type` | `installationPreferences.openComponentIdOptions.componentId` | `installationPreferences.overridePostInstallationRedirect` | `installationPreferences.openButtonAction` | `installationPreferences.uninstallAction` | `unreleasedChanges.componentsChanges` | `unreleasedChanges.appTranslationsChanges` | `unreleasedChanges.componentsTranslationChanges` | `unreleasedChanges.appPermissionsChanges` | `unreleasedChanges.appEntityChanges`, 2>>;
1408
+ declare function createApp(app: V1App): Promise<NonNullablePaths<V1App, `name` | `appSecrets.appSecret` | `appSecrets.webhookPublicKey` | `appSecrets.secondarySecretActive` | `status` | `appUrls.redirectUris` | `appUrls.postInstallationUrls` | `createdBy._id` | `createdBy.type` | `installationPreferences.openComponentIdOptions.componentId` | `installationPreferences.overridePostInstallationRedirect` | `installationPreferences.openButtonAction` | `installationPreferences.uninstallAction` | `unreleasedChanges.componentsChanges` | `unreleasedChanges.appTranslationsChanges` | `unreleasedChanges.componentsTranslationChanges` | `unreleasedChanges.appPermissionsChanges` | `unreleasedChanges.appEntityChanges`, 2>>;
1329
1409
  /**
1330
1410
  * Retrieves an app by ID. App secrets are omitted by default.
1331
1411
  * To include `appSecrets`, add `APP_SECRETS` to `additionalFields`.
1332
1412
  * Retrieving secrets requires authorization to access the app's secrets.
1333
- * @param appId - Id of the App to retrieve
1413
+ * @param appId - App ID.
1334
1414
  * @public
1335
1415
  * @documentationMaturity preview
1336
1416
  * @requiredField appId
1337
1417
  * @permissionId WIX_DEVELOPERS.READ_APPS
1338
1418
  * @permissionId DEV_CENTER.READ_APPS
1339
- * @returns The retrieved App
1419
+ * @returns Retrieved app.
1340
1420
  * @fqn wix.devcenter.apps.v1.AppsService.GetApp
1341
1421
  */
1342
- declare function getApp(appId: string, options?: GetAppOptions): Promise<NonNullablePaths<V1App, `name` | `appSecrets.appSecret` | `appSecrets.webhookPublicKey` | `appSecrets.secondarySecretActive` | `status` | `appUrls.redirectUris` | `createdBy._id` | `createdBy.type` | `installationPreferences.openComponentIdOptions.componentId` | `installationPreferences.overridePostInstallationRedirect` | `installationPreferences.openButtonAction` | `installationPreferences.uninstallAction` | `unreleasedChanges.componentsChanges` | `unreleasedChanges.appTranslationsChanges` | `unreleasedChanges.componentsTranslationChanges` | `unreleasedChanges.appPermissionsChanges` | `unreleasedChanges.appEntityChanges`, 2>>;
1422
+ declare function getApp(appId: string, options?: GetAppOptions): Promise<NonNullablePaths<V1App, `name` | `appSecrets.appSecret` | `appSecrets.webhookPublicKey` | `appSecrets.secondarySecretActive` | `status` | `appUrls.redirectUris` | `appUrls.postInstallationUrls` | `createdBy._id` | `createdBy.type` | `installationPreferences.openComponentIdOptions.componentId` | `installationPreferences.overridePostInstallationRedirect` | `installationPreferences.openButtonAction` | `installationPreferences.uninstallAction` | `unreleasedChanges.componentsChanges` | `unreleasedChanges.appTranslationsChanges` | `unreleasedChanges.componentsTranslationChanges` | `unreleasedChanges.appPermissionsChanges` | `unreleasedChanges.appEntityChanges`, 2>>;
1343
1423
  interface GetAppOptions {
1344
1424
  /** Whether to use a consistent read to retrieve the latest stored app data. Default: `false`. */
1345
1425
  consistent?: boolean;
@@ -1359,7 +1439,7 @@ interface GetAppOptions {
1359
1439
  *
1360
1440
  * This method cannot update `appSecrets`, `accountId`, `namespace`, `slug`, `createdBy`,
1361
1441
  * `companionApp`, or `codeIdentifier`. Including any of these fields or their nested fields in the
1362
- * update mask causes the entire request to fail; they are not silently ignored.
1442
+ * request causes the entire request to fail; they aren't silently ignored.
1363
1443
  * Use Set Namespace to assign a namespace and Generate Slug to generate a slug. To rotate app
1364
1444
  * secrets, use Create Secondary Secret and Revoke Secret. This method does not support changing
1365
1445
  * the owning account, creator, companion-app designation, or code identifier.
@@ -1374,10 +1454,10 @@ interface GetAppOptions {
1374
1454
  * @permissionId DEV_CENTER.MODIFY_APP_PROPERTIES
1375
1455
  * @permissionId DEV_CENTER.WIX_BLOCKS_REQUESTS
1376
1456
  * @permissionId DEV_CENTER.WRITE_APP
1377
- * @returns The updated App
1457
+ * @returns Updated app.
1378
1458
  * @fqn wix.devcenter.apps.v1.AppsService.UpdateApp
1379
1459
  */
1380
- declare function updateApp(_id: string, app: NonNullablePaths<UpdateApp, `revision`, 0>): Promise<NonNullablePaths<V1App, `name` | `appSecrets.appSecret` | `appSecrets.webhookPublicKey` | `appSecrets.secondarySecretActive` | `status` | `appUrls.redirectUris` | `createdBy._id` | `createdBy.type` | `installationPreferences.openComponentIdOptions.componentId` | `installationPreferences.overridePostInstallationRedirect` | `installationPreferences.openButtonAction` | `installationPreferences.uninstallAction` | `unreleasedChanges.componentsChanges` | `unreleasedChanges.appTranslationsChanges` | `unreleasedChanges.componentsTranslationChanges` | `unreleasedChanges.appPermissionsChanges` | `unreleasedChanges.appEntityChanges`, 2>>;
1460
+ declare function updateApp(_id: string, app: NonNullablePaths<UpdateApp, `revision`, 0>): Promise<NonNullablePaths<V1App, `name` | `appSecrets.appSecret` | `appSecrets.webhookPublicKey` | `appSecrets.secondarySecretActive` | `status` | `appUrls.redirectUris` | `appUrls.postInstallationUrls` | `createdBy._id` | `createdBy.type` | `installationPreferences.openComponentIdOptions.componentId` | `installationPreferences.overridePostInstallationRedirect` | `installationPreferences.openButtonAction` | `installationPreferences.uninstallAction` | `unreleasedChanges.componentsChanges` | `unreleasedChanges.appTranslationsChanges` | `unreleasedChanges.componentsTranslationChanges` | `unreleasedChanges.appPermissionsChanges` | `unreleasedChanges.appEntityChanges`, 2>>;
1381
1461
  interface UpdateApp {
1382
1462
  /**
1383
1463
  * App ID.
@@ -1385,7 +1465,9 @@ interface UpdateApp {
1385
1465
  */
1386
1466
  _id?: string | null;
1387
1467
  /**
1388
- * The display name of the application, shown to users and in App Market after publication. This is separate from the app namespace, slug, and code identifier.
1468
+ * The display name shown to users and in App Market after publication, separate from the namespace, slug, and code identifier.
1469
+ * On creation and update, `<`, `>`, double quotes, and apostrophes are escaped as
1470
+ * `&lt;`, `&gt;`, `&quot;`, and `&apos;`. Responses contain the escaped value, which can be longer than the submitted name.
1389
1471
  * @maxLength 50
1390
1472
  */
1391
1473
  name?: string;
@@ -1395,7 +1477,11 @@ interface UpdateApp {
1395
1477
  * @format GUID
1396
1478
  */
1397
1479
  accountId?: string | null;
1398
- /** Secrets for authentication and webhooks. */
1480
+ /**
1481
+ * Secrets for authentication and webhooks. Omitted from Get App responses by default.
1482
+ * To retrieve them, include `APP_SECRETS` in Get App's `additionalFields`.
1483
+ * Requires authorization to access the app's secrets.
1484
+ */
1399
1485
  appSecrets?: AppSecrets;
1400
1486
  /**
1401
1487
  * Is Wix owned the application
@@ -1403,13 +1489,18 @@ interface UpdateApp {
1403
1489
  */
1404
1490
  wixApp?: boolean;
1405
1491
  /**
1406
- * App namespace, combining an account or company identifier with an app-name component. For example, `@example-company/bookings-helper`.
1492
+ * App namespace, combining an account or company identifier with an app-name component.
1493
+ * For example, `@example-company/bookings-helper`.
1494
+ * Assign it once through Set Namespace after creating the app. Don't supply it to Create App
1495
+ * or Update App. Set Namespace fails if the app already has a namespace.
1407
1496
  * @minLength 1
1408
1497
  * @maxLength 150
1409
1498
  */
1410
1499
  namespace?: string | null;
1411
1500
  /**
1412
- * A JavaScript-compatible name for referencing the app in code, separate from its display name, namespace, and slug.
1501
+ * An identifier for referencing the app in code, separate from its display name, namespace, and slug.
1502
+ * Must start with a letter, underscore, or dollar sign; remaining characters can also include digits.
1503
+ * JavaScript reserved words aren't rejected. Choose a non-reserved identifier if using this value as a JavaScript variable name.
1413
1504
  * Unique for non-companion apps. Companion apps return the shared value `companionApp`; use `id` to uniquely identify an app.
1414
1505
  * For example, the namespace `@app-builder/my-cool-app` can be represented by the code identifier `AppBuilderMyCoolApp`.
1415
1506
  * @minLength 3
@@ -1423,7 +1514,12 @@ interface UpdateApp {
1423
1514
  * @internal
1424
1515
  */
1425
1516
  appType?: AppTypeWithLiterals;
1426
- /** Revision of the app. Changes each time the app is modified. */
1517
+ /**
1518
+ * Revision number, which increments by 1 each time the app is updated.
1519
+ * To prevent conflicting changes, supply the current revision when calling Update App.
1520
+ * Retrieve the latest revision through Get App before updating.
1521
+ * Ignored when creating an app.
1522
+ */
1427
1523
  revision?: string | null;
1428
1524
  /**
1429
1525
  * A human-readable, URL-friendly identifier for the app.
@@ -1440,7 +1536,9 @@ interface UpdateApp {
1440
1536
  /** URLs used by the app's OAuth flow. */
1441
1537
  appUrls?: AppUrls;
1442
1538
  /**
1443
- * Identity of the user or app that created the app, including its source template when applicable.
1539
+ * Identity and creation channel of the user or app that created the app, including its source template when applicable.
1540
+ * Create App derives `id` and `type` from the caller's identity, replacing any supplied values.
1541
+ * You can supply `sourceTemplateId` during creation. Creator information can't be changed through Update App.
1444
1542
  * @immutable
1445
1543
  */
1446
1544
  createdBy?: CreatedBy;
@@ -1456,7 +1554,7 @@ interface UpdateApp {
1456
1554
  * @readonly
1457
1555
  */
1458
1556
  _updatedDate?: Date | null;
1459
- /** Changes not yet included in a released app version, grouped by type. */
1557
+ /** Event-based tracking of unreleased changes, grouped by type. Updates asynchronously; see each flag for its tracking scope. */
1460
1558
  unreleasedChanges?: UnreleasedChanges;
1461
1559
  /**
1462
1560
  * The ownership tag of the application
@@ -1514,7 +1612,7 @@ interface UpdateApp {
1514
1612
  * Does not generate a slug for companion apps; a companion app without a slug is returned unchanged.
1515
1613
  * When generating a slug, the stored app name must not contain `wix` for non-Wix apps (case-insensitive).
1516
1614
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1517
- * @param appId - Id of the App to update
1615
+ * @param appId - App ID.
1518
1616
  * @public
1519
1617
  * @documentationMaturity preview
1520
1618
  * @requiredField appId
@@ -1523,7 +1621,7 @@ interface UpdateApp {
1523
1621
  * @permissionId DEV_CENTER.WRITE_APP
1524
1622
  * @fqn wix.devcenter.apps.v1.AppsService.GenerateSlug
1525
1623
  */
1526
- declare function generateSlug(appId: string): Promise<NonNullablePaths<GenerateSlugResponse, `app.name` | `app.appSecrets.appSecret` | `app.appSecrets.webhookPublicKey` | `app.appSecrets.secondarySecretActive` | `app.status` | `app.appUrls.redirectUris` | `app.createdBy._id` | `app.createdBy.type` | `app.installationPreferences.openComponentIdOptions.componentId` | `app.installationPreferences.overridePostInstallationRedirect` | `app.installationPreferences.openButtonAction` | `app.installationPreferences.uninstallAction` | `app.unreleasedChanges.componentsChanges` | `app.unreleasedChanges.appTranslationsChanges` | `app.unreleasedChanges.componentsTranslationChanges` | `app.unreleasedChanges.appPermissionsChanges` | `app.unreleasedChanges.appEntityChanges`, 3>>;
1624
+ declare function generateSlug(appId: string): Promise<NonNullablePaths<GenerateSlugResponse, `app.name` | `app.appSecrets.appSecret` | `app.appSecrets.webhookPublicKey` | `app.appSecrets.secondarySecretActive` | `app.status` | `app.appUrls.redirectUris` | `app.appUrls.postInstallationUrls` | `app.createdBy._id` | `app.createdBy.type` | `app.installationPreferences.openComponentIdOptions.componentId` | `app.installationPreferences.overridePostInstallationRedirect` | `app.installationPreferences.openButtonAction` | `app.installationPreferences.uninstallAction` | `app.unreleasedChanges.componentsChanges` | `app.unreleasedChanges.appTranslationsChanges` | `app.unreleasedChanges.componentsTranslationChanges` | `app.unreleasedChanges.appPermissionsChanges` | `app.unreleasedChanges.appEntityChanges`, 3>>;
1527
1625
  /**
1528
1626
  * Suggests a namespace using the app's stored name and its owning account's slug or company name.
1529
1627
  * Falls back to the account slug when no company name is available.
@@ -1531,7 +1629,7 @@ declare function generateSlug(appId: string): Promise<NonNullablePaths<GenerateS
1531
1629
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1532
1630
  * If the base namespace is already used, suggests an alternative with a numeric suffix. Suggestions do not reserve a namespace.
1533
1631
  * Set Namespace derives its own namespace from `appName` without automatically adding a collision suffix. Choose a different `appName` and retry if it conflicts.
1534
- * @param appId - The id of the application
1632
+ * @param appId - App ID.
1535
1633
  * @public
1536
1634
  * @documentationMaturity preview
1537
1635
  * @requiredField appId
@@ -1552,7 +1650,7 @@ interface GetNamespaceSuggestionOptions {
1552
1650
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1553
1651
  * If the base namespace is already used, suggests an alternative with a numeric suffix. Suggestions do not reserve a namespace.
1554
1652
  * Set Namespace derives its own namespace from `appName` without automatically adding a collision suffix. Choose a different `appName` and retry if it conflicts.
1555
- * @param name - The name of the application
1653
+ * @param name - App display name used to derive a namespace suggestion.
1556
1654
  * @public
1557
1655
  * @documentationMaturity preview
1558
1656
  * @requiredField name
@@ -1571,8 +1669,8 @@ interface GetNamespaceSuggestionByNameOptions {
1571
1669
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1572
1670
  * Unlike namespace suggestions, this method does not automatically add a suffix when the derived namespace is already used.
1573
1671
  * Suggestions are not reservations; on a collision, choose a different `appName` and retry.
1574
- * @param appId - Id of the App to update
1575
- * @param appName - Name used to derive the app's namespace component, at most 50 characters before normalization.
1672
+ * @param appId - App ID.
1673
+ * @param appName - Name used to derive the app's namespace component.
1576
1674
  * Lowercased; runs of non-alphanumeric characters (including spaces and underscores) become hyphens, with leading/trailing separators removed.
1577
1675
  * For example, `Bookings Helper` and `Bookings_Helper` become `bookings-helper`. If no letters or digits remain, uses `untitled`.
1578
1676
  * Subject to the reserved-name restrictions documented on Set Namespace. For permitted Wix-owned apps, `wix` is removed before normalization.
@@ -1595,14 +1693,14 @@ interface SetNamespaceOptions {
1595
1693
  * (adding one here would break consistent-audience-for-shared-permission across all of them).
1596
1694
  * Renaming the permission would change who is actually authorized, so it stays as-is —
1597
1695
  * the real check is the MANUAL validateUpdateAppPermission(...) in code.
1598
- * @param appId - ID of the App to update
1696
+ * @param appId - App ID.
1599
1697
  * @public
1600
1698
  * @documentationMaturity preview
1601
1699
  * @requiredField appId
1602
1700
  * @permissionId WIX_DEVELOPERS.MODIFY_APP
1603
1701
  * @fqn wix.devcenter.apps.v1.AppsService.CreateSecondarySecret
1604
1702
  */
1605
- declare function createSecondarySecret(appId: string, options?: CreateSecondarySecretOptions): Promise<NonNullablePaths<CreateSecondarySecretResponse, `app.name` | `app.appSecrets.appSecret` | `app.appSecrets.webhookPublicKey` | `app.appSecrets.secondarySecretActive` | `app.status` | `app.appUrls.redirectUris` | `app.createdBy._id` | `app.createdBy.type` | `app.installationPreferences.openComponentIdOptions.componentId` | `app.installationPreferences.overridePostInstallationRedirect` | `app.installationPreferences.openButtonAction` | `app.installationPreferences.uninstallAction` | `app.unreleasedChanges.componentsChanges` | `app.unreleasedChanges.appTranslationsChanges` | `app.unreleasedChanges.componentsTranslationChanges` | `app.unreleasedChanges.appPermissionsChanges` | `app.unreleasedChanges.appEntityChanges`, 3>>;
1703
+ declare function createSecondarySecret(appId: string, options?: CreateSecondarySecretOptions): Promise<NonNullablePaths<CreateSecondarySecretResponse, `app.name` | `app.appSecrets.appSecret` | `app.appSecrets.webhookPublicKey` | `app.appSecrets.secondarySecretActive` | `app.status` | `app.appUrls.redirectUris` | `app.appUrls.postInstallationUrls` | `app.createdBy._id` | `app.createdBy.type` | `app.installationPreferences.openComponentIdOptions.componentId` | `app.installationPreferences.overridePostInstallationRedirect` | `app.installationPreferences.openButtonAction` | `app.installationPreferences.uninstallAction` | `app.unreleasedChanges.componentsChanges` | `app.unreleasedChanges.appTranslationsChanges` | `app.unreleasedChanges.componentsTranslationChanges` | `app.unreleasedChanges.appPermissionsChanges` | `app.unreleasedChanges.appEntityChanges`, 3>>;
1606
1704
  interface CreateSecondarySecretOptions {
1607
1705
  /** Latest app revision, available from Get App. An outdated revision is rejected. */
1608
1706
  revision?: string;
@@ -1612,8 +1710,8 @@ interface CreateSecondarySecretOptions {
1612
1710
  * (adding one here would break consistent-audience-for-shared-permission across all of them).
1613
1711
  * Renaming the permission would change who is actually authorized, so it stays as-is —
1614
1712
  * the real check is the MANUAL validateUpdateAppPermission(...) in code.
1615
- * @param appId - ID of the App to update
1616
- * @param secretToRevoke - Which of the two secrets to get rid of
1713
+ * @param appId - App ID.
1714
+ * @param secretToRevoke - Credential to revoke. The app must have both a previous and a replacement secret.
1617
1715
  * @public
1618
1716
  * @documentationMaturity preview
1619
1717
  * @requiredField appId