@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,16 +24,25 @@ 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
- * App namespace, combining an account or company identifier with an app-name component. For example, `@example-company/bookings-helper`.
34
+ * App namespace, combining an account or company identifier with an app-name component.
35
+ * For example, `@example-company/bookings-helper`.
36
+ * Assign it once through Set Namespace after creating the app. Don't supply it to Create App
37
+ * or Update App. Set Namespace fails if the app already has a namespace.
29
38
  * @minLength 1
30
39
  * @maxLength 150
31
40
  */
32
41
  namespace?: string | null;
33
42
  /**
34
- * A JavaScript-compatible name for referencing the app in code, separate from its display name, namespace, and slug.
43
+ * An identifier for referencing the app in code, separate from its display name, namespace, and slug.
44
+ * Must start with a letter, underscore, or dollar sign; remaining characters can also include digits.
45
+ * JavaScript reserved words aren't rejected. Choose a non-reserved identifier if using this value as a JavaScript variable name.
35
46
  * Unique for non-companion apps. Companion apps return the shared value `companionApp`; use `id` to uniquely identify an app.
36
47
  * For example, the namespace `@app-builder/my-cool-app` can be represented by the code identifier `AppBuilderMyCoolApp`.
37
48
  * @minLength 3
@@ -40,7 +51,12 @@ interface V1App {
40
51
  codeIdentifier?: string | null;
41
52
  /** The state of the application. */
42
53
  status?: StatusWithLiterals;
43
- /** Revision of the app. Changes each time the app is modified. */
54
+ /**
55
+ * Revision number, which increments by 1 each time the app is updated.
56
+ * To prevent conflicting changes, supply the current revision when calling Update App.
57
+ * Retrieve the latest revision through Get App before updating.
58
+ * Ignored when creating an app.
59
+ */
44
60
  revision?: string | null;
45
61
  /**
46
62
  * A human-readable, URL-friendly identifier for the app.
@@ -51,7 +67,9 @@ interface V1App {
51
67
  /** URLs used by the app's OAuth flow. */
52
68
  appUrls?: AppUrls;
53
69
  /**
54
- * Identity of the user or app that created the app, including its source template when applicable.
70
+ * Identity and creation channel of the user or app that created the app, including its source template when applicable.
71
+ * Create App derives `id` and `type` from the caller's identity, replacing any supplied values.
72
+ * You can supply `sourceTemplateId` during creation. Creator information can't be changed through Update App.
55
73
  * @immutable
56
74
  */
57
75
  createdBy?: CreatedBy;
@@ -67,7 +85,7 @@ interface V1App {
67
85
  * @readonly
68
86
  */
69
87
  _updatedDate?: Date | null;
70
- /** Changes not yet included in a released app version, grouped by type. */
88
+ /** Event-based tracking of unreleased changes, grouped by type. Updates asynchronously; see each flag for its tracking scope. */
71
89
  unreleasedChanges?: UnreleasedChanges;
72
90
  /** Indicates whether this app is a companion app assigned to a specific site or account. */
73
91
  companionApp?: boolean | null;
@@ -75,6 +93,8 @@ interface V1App {
75
93
  interface AppSecrets {
76
94
  /**
77
95
  * App authentication secret. Keep this value in a secure backend secret store.
96
+ * During rotation, this field contains the previous secret while both secrets exist.
97
+ * After the previous secret is retired, this field contains the replacement secret.
78
98
  * @readonly
79
99
  * @format GUID
80
100
  */
@@ -86,7 +106,8 @@ interface AppSecrets {
86
106
  */
87
107
  webhookPublicKey?: string;
88
108
  /**
89
- * Additional authentication secret used during rotation. Present while the app has two secrets.
109
+ * Replacement authentication secret used during rotation. Present while the app has two secrets.
110
+ * After the previous secret is retired, this value moves to `appSecret` and this field is cleared.
90
111
  * @readonly
91
112
  * @format GUID
92
113
  */
@@ -129,47 +150,76 @@ interface AppUrls {
129
150
  * @maxSize 100
130
151
  */
131
152
  redirectUris?: string[];
153
+ /**
154
+ * Allowed post-installation URLs, where Wix redirects the user after installing the app from an external install link.
155
+ * A `postInstallationUrl` matches an entry when they are equal, ignoring the query string.
156
+ * @format WEB_URL
157
+ * @maxSize 100
158
+ */
159
+ postInstallationUrls?: string[];
132
160
  }
133
161
  interface CreatedBy {
134
162
  /**
135
- * ID of the user or app that created the app.
163
+ * Creator ID derived from the caller's identity; a supplied value is replaced during creation.
164
+ * Identifies a user for `USER`, `CODE_GEN`, and `APP_BUILDER_SELF_HOSTED`, or an app for `APP`.
136
165
  * @format GUID
137
166
  */
138
167
  _id?: string;
139
- /** Type of identity that created the app. */
168
+ /** Creator identity or creation channel, derived from the caller's identity rather than a supplied value. */
140
169
  type?: CreatedByTypeWithLiterals;
141
170
  /**
142
- * ID of the template used to create the app, when applicable.
171
+ * ID of the source template, when applicable. Can be supplied to Create App.
143
172
  * @format GUID
144
173
  */
145
174
  sourceTemplateId?: string | null;
146
175
  }
147
176
  declare enum CreatedByType {
177
+ /** Created by a user; `id` is the user's ID. */
148
178
  USER = "USER",
179
+ /** Created by an app; `id` is the app's ID. */
149
180
  APP = "APP",
181
+ /** Created through code generation; `id` is the initiating user's ID. */
150
182
  CODE_GEN = "CODE_GEN",
183
+ /** Created through the self-hosted app builder; `id` is the initiating user's ID. */
151
184
  APP_BUILDER_SELF_HOSTED = "APP_BUILDER_SELF_HOSTED"
152
185
  }
153
186
  /** @enumType */
154
187
  type CreatedByTypeWithLiterals = CreatedByType | 'USER' | 'APP' | 'CODE_GEN' | 'APP_BUILDER_SELF_HOSTED';
155
188
  interface InstallationPreferences extends InstallationPreferencesOpenButtonOptionsOneOf {
156
- /** Component to open when `openButtonAction` is `OPEN_COMPONENT_ID`. */
189
+ /** Component to open. Supply `componentId` when `openButtonAction` is `OPEN_COMPONENT_ID`. */
157
190
  openComponentIdOptions?: OpenComponentId;
158
- /** Destination for the user after installing the app. */
191
+ /**
192
+ * Preferred destination after installing an app with both editor and dashboard components.
193
+ * A recognized dashboard page in `postInstallationComponentId` takes precedence over this preference.
194
+ * Otherwise, `DASHBOARD` selects the dashboard and `EDITOR` selects the editor.
195
+ * On sites without an editor, `EDITOR` falls back to the dashboard.
196
+ * `UNKNOWN_REDIRECT_TARGET` leaves the default installation navigation unchanged.
197
+ */
159
198
  overridePostInstallationRedirect?: RedirectTargetWithLiterals;
160
199
  /**
161
- * ID of the component the user is redirected to after installing the app.
200
+ * Optional ID of the app's dashboard page to open after installation.
201
+ * A recognized dashboard page takes precedence over `overridePostInstallationRedirect`.
202
+ * If omitted or not recognized as a dashboard page, navigation uses the redirect preference
203
+ * or the default installation flow. This field doesn't select an editor component.
162
204
  * @format GUID
163
205
  */
164
206
  postInstallationComponentId?: string | null;
165
- /** Action performed when the user selects the app's Open button after installation. */
207
+ /**
208
+ * Action performed when the user selects the app's Open button after installation.
209
+ * For `OPEN_COMPONENT_ID`, supply `openComponentIdOptions.componentId`.
210
+ * `UNKNOWN_ACTION` means no explicit component-opening action is selected.
211
+ */
166
212
  openButtonAction?: OpenButtonActionWithLiterals;
167
- /** Action required before the app can be uninstalled. */
213
+ /**
214
+ * Custom warning shown when a user tries to uninstall the app.
215
+ * Select `NO_ACTION` for no custom warning; `NONE_ACTION` represents an unspecified preference.
216
+ * The product and shipping values select warning text, rather than performing cleanup.
217
+ */
168
218
  uninstallAction?: UninstallActionsWithLiterals;
169
219
  }
170
220
  /** @oneof */
171
221
  interface InstallationPreferencesOpenButtonOptionsOneOf {
172
- /** Component to open when `openButtonAction` is `OPEN_COMPONENT_ID`. */
222
+ /** Component to open. Supply `componentId` when `openButtonAction` is `OPEN_COMPONENT_ID`. */
173
223
  openComponentIdOptions?: OpenComponentId;
174
224
  }
175
225
  declare enum ShowConsentBehaviour {
@@ -180,14 +230,19 @@ declare enum ShowConsentBehaviour {
180
230
  /** @enumType */
181
231
  type ShowConsentBehaviourWithLiterals = ShowConsentBehaviour | 'DEFAULT_BEHAVIOUR' | 'SHOW_CONSENT' | 'SKIP_CONSENT';
182
232
  declare enum RedirectTarget {
233
+ /** Use the default installation navigation. */
183
234
  UNKNOWN_REDIRECT_TARGET = "UNKNOWN_REDIRECT_TARGET",
235
+ /** Prefer the site dashboard for an app with editor and dashboard components. */
184
236
  DASHBOARD = "DASHBOARD",
237
+ /** Prefer the editor; use the dashboard on sites without an editor. */
185
238
  EDITOR = "EDITOR"
186
239
  }
187
240
  /** @enumType */
188
241
  type RedirectTargetWithLiterals = RedirectTarget | 'UNKNOWN_REDIRECT_TARGET' | 'DASHBOARD' | 'EDITOR';
189
242
  declare enum OpenButtonAction {
243
+ /** No explicit component-opening action is selected. */
190
244
  UNKNOWN_ACTION = "UNKNOWN_ACTION",
245
+ /** Open the component specified by `openComponentIdOptions.componentId`. */
191
246
  OPEN_COMPONENT_ID = "OPEN_COMPONENT_ID"
192
247
  }
193
248
  /** @enumType */
@@ -204,23 +259,41 @@ interface OpenComponentId {
204
259
  componentId?: string;
205
260
  }
206
261
  declare enum UninstallActions {
262
+ /** Unspecified warning preference. Use `NO_ACTION` to explicitly select no custom warning. */
207
263
  NONE_ACTION = "NONE_ACTION",
264
+ /** Show the standard uninstall message without a custom warning. Default when no preference is stored. */
208
265
  NO_ACTION = "NO_ACTION",
266
+ /** Warn users to remove all products associated with the app from their store. */
209
267
  REMOVE_ALL_PRODUCT = "REMOVE_ALL_PRODUCT",
268
+ /** Warn users that shipping to regions served only by the app will be removed from checkout. */
210
269
  SHIPPING_RATES_REGION = "SHIPPING_RATES_REGION"
211
270
  }
212
271
  /** @enumType */
213
272
  type UninstallActionsWithLiterals = UninstallActions | 'NONE_ACTION' | 'NO_ACTION' | 'REMOVE_ALL_PRODUCT' | 'SHIPPING_RATES_REGION';
273
+ /**
274
+ * Event-based tracking of changes not yet included in a released app version.
275
+ * Flags update asynchronously and reset when a production app version is created or updated.
276
+ */
214
277
  interface UnreleasedChanges {
215
- /** Indicate components changes (create, update, delete) */
278
+ /** Whether components have unreleased creation, update, or deletion changes. */
216
279
  componentsChanges?: boolean;
217
- /** Indicate app translations changes (create, update) */
280
+ /** Whether app translations have unreleased creation or update changes. */
218
281
  appTranslationsChanges?: boolean;
219
- /** Indicate components translations changes (create, update) */
282
+ /**
283
+ * Whether component translations have unreleased update changes.
284
+ * Component-translation creation events currently aren't reflected in this flag.
285
+ */
220
286
  componentsTranslationChanges?: boolean;
221
- /** Indicate app permissions changes (create, update, delete) */
287
+ /**
288
+ * Whether app permissions have unreleased creation or update changes.
289
+ * Permission-deletion events currently aren't reflected in this flag.
290
+ */
222
291
  appPermissionsChanges?: boolean;
223
- /** Indicate app entity field changes (name, slug, namespace, codeIdentifier, partiallyConsumable) */
292
+ /**
293
+ * Whether app identity fields have unreleased changes, such as `name`, `slug`, `namespace`, and `codeIdentifier`.
294
+ * Doesn't track changes to `appUrls` or `installationPreferences`.
295
+ * Updates asynchronously after the app's update event; the update response may not yet reflect this flag.
296
+ */
224
297
  appEntityChanges?: boolean;
225
298
  }
226
299
  interface AppComponentMetadata {
@@ -412,7 +485,7 @@ interface AccountInfo {
412
485
  }
413
486
  interface AppOwnerChangedEvent {
414
487
  /**
415
- * Id of the App to update
488
+ * App ID.
416
489
  * @format GUID
417
490
  */
418
491
  appId?: string;
@@ -428,16 +501,16 @@ interface AppOwnerChangedEvent {
428
501
  previousAccountId?: string;
429
502
  }
430
503
  interface CreateAppRequest {
431
- /** App to be created */
504
+ /** App to create. */
432
505
  app: V1App;
433
506
  }
434
507
  interface CreateAppResponse {
435
- /** The created App */
508
+ /** Created app. */
436
509
  app?: V1App;
437
510
  }
438
511
  interface GetAppRequest {
439
512
  /**
440
- * Id of the App to retrieve
513
+ * App ID.
441
514
  * @format GUID
442
515
  */
443
516
  appId: string;
@@ -458,31 +531,31 @@ declare enum RequestedFields {
458
531
  /** @enumType */
459
532
  type RequestedFieldsWithLiterals = RequestedFields | 'APP_SECRETS';
460
533
  interface GetAppResponse {
461
- /** The retrieved App */
534
+ /** Retrieved app. */
462
535
  app?: V1App;
463
536
  }
464
537
  interface UpdateAppRequest {
465
- /** App to be updated, may be partial */
538
+ /** App to update. Specify the app ID, current revision, and fields to change. */
466
539
  app: V1App;
467
540
  }
468
541
  interface UpdateAppResponse {
469
- /** The updated App */
542
+ /** Updated app. */
470
543
  app?: V1App;
471
544
  }
472
545
  interface GenerateSlugRequest {
473
546
  /**
474
- * Id of the App to update
547
+ * App ID.
475
548
  * @format GUID
476
549
  */
477
550
  appId: string;
478
551
  }
479
552
  interface GenerateSlugResponse {
480
- /** The modified app */
553
+ /** App with its generated or existing slug. */
481
554
  app?: V1App;
482
555
  }
483
556
  interface RenameSlugRequest {
484
557
  /**
485
- * Id of the App to update
558
+ * App ID.
486
559
  * @format GUID
487
560
  */
488
561
  appId?: string;
@@ -494,12 +567,12 @@ interface RenameSlugRequest {
494
567
  newSlug?: string;
495
568
  }
496
569
  interface RenameSlugResponse {
497
- /** The modified app */
570
+ /** App with its slug updated to the requested `newSlug`. */
498
571
  app?: V1App;
499
572
  }
500
573
  interface RenameCodeIdentifierRequest {
501
574
  /**
502
- * Id of the App to update
575
+ * App ID.
503
576
  * @format GUID
504
577
  */
505
578
  appId?: string;
@@ -511,12 +584,12 @@ interface RenameCodeIdentifierRequest {
511
584
  newCodeIdentifier?: string;
512
585
  }
513
586
  interface RenameCodeIdentifierResponse {
514
- /** The modified app */
587
+ /** App with its updated code identifier. */
515
588
  app?: V1App;
516
589
  }
517
590
  interface GetNamespaceSuggestionRequest {
518
591
  /**
519
- * The id of the application
592
+ * App ID.
520
593
  * @format GUID
521
594
  */
522
595
  appId: string;
@@ -532,12 +605,12 @@ declare enum NamespaceType {
532
605
  /** @enumType */
533
606
  type NamespaceTypeWithLiterals = NamespaceType | 'ACCOUNT' | 'COMPANY';
534
607
  interface GetNamespaceSuggestionResponse {
535
- /** The suggested namespace */
608
+ /** Suggested namespace. */
536
609
  namespace?: string;
537
610
  }
538
611
  interface GetNamespaceSuggestionByNameRequest {
539
612
  /**
540
- * The name of the application
613
+ * App display name used to derive a namespace suggestion.
541
614
  * @maxLength 50
542
615
  */
543
616
  name: string;
@@ -546,7 +619,7 @@ interface GetNamespaceSuggestionByNameRequest {
546
619
  }
547
620
  interface GetNamespaceSuggestionByNameResponse {
548
621
  /**
549
- * The suggested namespace
622
+ * Suggested namespace.
550
623
  * @minLength 1
551
624
  * @maxLength 150
552
625
  */
@@ -554,12 +627,12 @@ interface GetNamespaceSuggestionByNameResponse {
554
627
  }
555
628
  interface SetNamespaceRequest {
556
629
  /**
557
- * Id of the App to update
630
+ * App ID.
558
631
  * @format GUID
559
632
  */
560
633
  appId: string;
561
634
  /**
562
- * Name used to derive the app's namespace component, at most 50 characters before normalization.
635
+ * Name used to derive the app's namespace component.
563
636
  * Lowercased; runs of non-alphanumeric characters (including spaces and underscores) become hyphens, with leading/trailing separators removed.
564
637
  * For example, `Bookings Helper` and `Bookings_Helper` become `bookings-helper`. If no letters or digits remain, uses `untitled`.
565
638
  * Subject to the reserved-name restrictions documented on Set Namespace. For permitted Wix-owned apps, `wix` is removed before normalization.
@@ -595,7 +668,7 @@ interface SuggestCodeIdentifierResponse {
595
668
  }
596
669
  interface SetCodeIdentifierRequest {
597
670
  /**
598
- * Id of the App to update
671
+ * App ID.
599
672
  * @format GUID
600
673
  */
601
674
  appId?: string;
@@ -775,7 +848,7 @@ interface Cursors {
775
848
  }
776
849
  interface SetPrivateAppRequest {
777
850
  /**
778
- * Id of the App to update
851
+ * App ID.
779
852
  * @format GUID
780
853
  */
781
854
  appId?: string;
@@ -785,7 +858,7 @@ interface SetPrivateAppRequest {
785
858
  revision?: string;
786
859
  }
787
860
  interface SetPrivateAppResponse {
788
- /** The modified app */
861
+ /** App with its `privateApp` setting updated to the requested value. */
789
862
  app?: V1App;
790
863
  }
791
864
  interface AppChangedEvent {
@@ -874,7 +947,7 @@ interface AppSlugChanged {
874
947
  }
875
948
  interface SetAppOwnerRequest {
876
949
  /**
877
- * Id of the App to update
950
+ * App ID.
878
951
  * @format GUID
879
952
  */
880
953
  appId?: string;
@@ -887,7 +960,7 @@ interface SetAppOwnerRequest {
887
960
  revision?: string;
888
961
  }
889
962
  interface SetAppOwnerResponse {
890
- /** The modified app */
963
+ /** App owned by the requested `accountId`. */
891
964
  app?: V1App;
892
965
  }
893
966
  interface AppUrlsChangedInOldServiceEvent extends AppUrlsChangedInOldServiceEventChangedUrlOneOf {
@@ -896,7 +969,7 @@ interface AppUrlsChangedInOldServiceEvent extends AppUrlsChangedInOldServiceEven
896
969
  /** redirect uris */
897
970
  redirectUriMessage?: RedirectUrlMessage;
898
971
  /**
899
- * Id of the App to update
972
+ * App ID.
900
973
  * @format GUID
901
974
  */
902
975
  appId?: string;
@@ -918,7 +991,7 @@ interface RedirectUrlMessage {
918
991
  }
919
992
  interface CreateSecondarySecretRequest {
920
993
  /**
921
- * ID of the App to update
994
+ * App ID.
922
995
  * @format GUID
923
996
  */
924
997
  appId: string;
@@ -942,7 +1015,7 @@ interface ActivateSecondarySecretResponse {
942
1015
  }
943
1016
  interface RotateSecretRequest {
944
1017
  /**
945
- * ID of the App to update
1018
+ * App ID.
946
1019
  * @format GUID
947
1020
  */
948
1021
  appId?: string;
@@ -953,7 +1026,7 @@ interface RotateSecretResponse {
953
1026
  }
954
1027
  interface RollbackSecretRequest {
955
1028
  /**
956
- * ID of the App to update
1029
+ * App ID.
957
1030
  * @format GUID
958
1031
  */
959
1032
  appId?: string;
@@ -964,24 +1037,24 @@ interface RollbackSecretResponse {
964
1037
  }
965
1038
  interface RevokeSecretRequest {
966
1039
  /**
967
- * ID of the App to update
1040
+ * App ID.
968
1041
  * @format GUID
969
1042
  */
970
1043
  appId: string;
971
- /** Which of the two secrets to get rid of */
1044
+ /** Credential to revoke. The app must have both a previous and a replacement secret. */
972
1045
  secretToRevoke: SecretToRevokeWithLiterals;
973
1046
  }
974
- /** Which of the App's two secrets to get rid of */
1047
+ /** Credential to revoke during app-secret rotation. */
975
1048
  declare enum SecretToRevoke {
976
- /** The secret the App had before the second one was created */
1049
+ /** Switch signing to the replacement secret and schedule retirement of the previous secret. */
977
1050
  PREVIOUS_SECRET = "PREVIOUS_SECRET",
978
- /** The second secret that was created most recently */
1051
+ /** Discard the replacement secret and restore signing with the previous secret. */
979
1052
  NEW_SECRET = "NEW_SECRET"
980
1053
  }
981
1054
  /** @enumType */
982
1055
  type SecretToRevokeWithLiterals = SecretToRevoke | 'PREVIOUS_SECRET' | 'NEW_SECRET';
983
1056
  interface RevokeSecretResponse {
984
- /** Scheduled retirement time of the previous secret. Set only for PREVIOUS_SECRET; omitted for NEW_SECRET. */
1057
+ /** Scheduled retirement time of the previous secret. Returned for `PREVIOUS_SECRET` and omitted for `NEW_SECRET`. Use the latest returned timestamp. */
985
1058
  previousSecretRevokeAt?: Date | null;
986
1059
  }
987
1060
  /** payload for kafka event for this version on app submit */
@@ -1176,30 +1249,30 @@ interface AssociateServiceAppResponse {
1176
1249
  * Setting `companionApp` to `true` is restricted to authorized companion-app provisioning services.
1177
1250
  * A supplied `slug` is ignored except for authorized companion-app provisioning callers; use Generate Slug after creation.
1178
1251
  * A supplied `codeIdentifier` must not contain `wix` (case-insensitive).
1179
- * @param app - App to be created
1252
+ * @param app - App to create.
1180
1253
  * @public
1181
1254
  * @documentationMaturity preview
1182
1255
  * @requiredField app
1183
1256
  * @permissionId DEV_CENTER.MANAGE_APPS
1184
1257
  * @permissionId DEV_CENTER.CREATE_APP
1185
- * @returns The created App
1258
+ * @returns Created app.
1186
1259
  * @fqn wix.devcenter.apps.v1.AppsService.CreateApp
1187
1260
  */
1188
- 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>>;
1261
+ 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>>;
1189
1262
  /**
1190
1263
  * Retrieves an app by ID. App secrets are omitted by default.
1191
1264
  * To include `appSecrets`, add `APP_SECRETS` to `additionalFields`.
1192
1265
  * Retrieving secrets requires authorization to access the app's secrets.
1193
- * @param appId - Id of the App to retrieve
1266
+ * @param appId - App ID.
1194
1267
  * @public
1195
1268
  * @documentationMaturity preview
1196
1269
  * @requiredField appId
1197
1270
  * @permissionId WIX_DEVELOPERS.READ_APPS
1198
1271
  * @permissionId DEV_CENTER.READ_APPS
1199
- * @returns The retrieved App
1272
+ * @returns Retrieved app.
1200
1273
  * @fqn wix.devcenter.apps.v1.AppsService.GetApp
1201
1274
  */
1202
- 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>>;
1275
+ 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>>;
1203
1276
  interface GetAppOptions {
1204
1277
  /** Whether to use a consistent read to retrieve the latest stored app data. Default: `false`. */
1205
1278
  consistent?: boolean;
@@ -1219,7 +1292,7 @@ interface GetAppOptions {
1219
1292
  *
1220
1293
  * This method cannot update `appSecrets`, `accountId`, `namespace`, `slug`, `createdBy`,
1221
1294
  * `companionApp`, or `codeIdentifier`. Including any of these fields or their nested fields in the
1222
- * update mask causes the entire request to fail; they are not silently ignored.
1295
+ * request causes the entire request to fail; they aren't silently ignored.
1223
1296
  * Use Set Namespace to assign a namespace and Generate Slug to generate a slug. To rotate app
1224
1297
  * secrets, use Create Secondary Secret and Revoke Secret. This method does not support changing
1225
1298
  * the owning account, creator, companion-app designation, or code identifier.
@@ -1234,10 +1307,10 @@ interface GetAppOptions {
1234
1307
  * @permissionId DEV_CENTER.MODIFY_APP_PROPERTIES
1235
1308
  * @permissionId DEV_CENTER.WIX_BLOCKS_REQUESTS
1236
1309
  * @permissionId DEV_CENTER.WRITE_APP
1237
- * @returns The updated App
1310
+ * @returns Updated app.
1238
1311
  * @fqn wix.devcenter.apps.v1.AppsService.UpdateApp
1239
1312
  */
1240
- 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>>;
1313
+ 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>>;
1241
1314
  interface UpdateApp {
1242
1315
  /**
1243
1316
  * App ID.
@@ -1245,7 +1318,9 @@ interface UpdateApp {
1245
1318
  */
1246
1319
  _id?: string | null;
1247
1320
  /**
1248
- * 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.
1321
+ * The display name shown to users and in App Market after publication, separate from the namespace, slug, and code identifier.
1322
+ * On creation and update, `<`, `>`, double quotes, and apostrophes are escaped as
1323
+ * `&lt;`, `&gt;`, `&quot;`, and `&apos;`. Responses contain the escaped value, which can be longer than the submitted name.
1249
1324
  * @maxLength 50
1250
1325
  */
1251
1326
  name?: string;
@@ -1255,16 +1330,25 @@ interface UpdateApp {
1255
1330
  * @format GUID
1256
1331
  */
1257
1332
  accountId?: string | null;
1258
- /** Secrets for authentication and webhooks. */
1333
+ /**
1334
+ * Secrets for authentication and webhooks. Omitted from Get App responses by default.
1335
+ * To retrieve them, include `APP_SECRETS` in Get App's `additionalFields`.
1336
+ * Requires authorization to access the app's secrets.
1337
+ */
1259
1338
  appSecrets?: AppSecrets;
1260
1339
  /**
1261
- * App namespace, combining an account or company identifier with an app-name component. For example, `@example-company/bookings-helper`.
1340
+ * App namespace, combining an account or company identifier with an app-name component.
1341
+ * For example, `@example-company/bookings-helper`.
1342
+ * Assign it once through Set Namespace after creating the app. Don't supply it to Create App
1343
+ * or Update App. Set Namespace fails if the app already has a namespace.
1262
1344
  * @minLength 1
1263
1345
  * @maxLength 150
1264
1346
  */
1265
1347
  namespace?: string | null;
1266
1348
  /**
1267
- * A JavaScript-compatible name for referencing the app in code, separate from its display name, namespace, and slug.
1349
+ * An identifier for referencing the app in code, separate from its display name, namespace, and slug.
1350
+ * Must start with a letter, underscore, or dollar sign; remaining characters can also include digits.
1351
+ * JavaScript reserved words aren't rejected. Choose a non-reserved identifier if using this value as a JavaScript variable name.
1268
1352
  * Unique for non-companion apps. Companion apps return the shared value `companionApp`; use `id` to uniquely identify an app.
1269
1353
  * For example, the namespace `@app-builder/my-cool-app` can be represented by the code identifier `AppBuilderMyCoolApp`.
1270
1354
  * @minLength 3
@@ -1273,7 +1357,12 @@ interface UpdateApp {
1273
1357
  codeIdentifier?: string | null;
1274
1358
  /** The state of the application. */
1275
1359
  status?: StatusWithLiterals;
1276
- /** Revision of the app. Changes each time the app is modified. */
1360
+ /**
1361
+ * Revision number, which increments by 1 each time the app is updated.
1362
+ * To prevent conflicting changes, supply the current revision when calling Update App.
1363
+ * Retrieve the latest revision through Get App before updating.
1364
+ * Ignored when creating an app.
1365
+ */
1277
1366
  revision?: string | null;
1278
1367
  /**
1279
1368
  * A human-readable, URL-friendly identifier for the app.
@@ -1284,7 +1373,9 @@ interface UpdateApp {
1284
1373
  /** URLs used by the app's OAuth flow. */
1285
1374
  appUrls?: AppUrls;
1286
1375
  /**
1287
- * Identity of the user or app that created the app, including its source template when applicable.
1376
+ * Identity and creation channel of the user or app that created the app, including its source template when applicable.
1377
+ * Create App derives `id` and `type` from the caller's identity, replacing any supplied values.
1378
+ * You can supply `sourceTemplateId` during creation. Creator information can't be changed through Update App.
1288
1379
  * @immutable
1289
1380
  */
1290
1381
  createdBy?: CreatedBy;
@@ -1300,7 +1391,7 @@ interface UpdateApp {
1300
1391
  * @readonly
1301
1392
  */
1302
1393
  _updatedDate?: Date | null;
1303
- /** Changes not yet included in a released app version, grouped by type. */
1394
+ /** Event-based tracking of unreleased changes, grouped by type. Updates asynchronously; see each flag for its tracking scope. */
1304
1395
  unreleasedChanges?: UnreleasedChanges;
1305
1396
  /** Indicates whether this app is a companion app assigned to a specific site or account. */
1306
1397
  companionApp?: boolean | null;
@@ -1310,7 +1401,7 @@ interface UpdateApp {
1310
1401
  * Does not generate a slug for companion apps; a companion app without a slug is returned unchanged.
1311
1402
  * When generating a slug, the stored app name must not contain `wix` for non-Wix apps (case-insensitive).
1312
1403
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1313
- * @param appId - Id of the App to update
1404
+ * @param appId - App ID.
1314
1405
  * @public
1315
1406
  * @documentationMaturity preview
1316
1407
  * @requiredField appId
@@ -1319,7 +1410,7 @@ interface UpdateApp {
1319
1410
  * @permissionId DEV_CENTER.WRITE_APP
1320
1411
  * @fqn wix.devcenter.apps.v1.AppsService.GenerateSlug
1321
1412
  */
1322
- 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>>;
1413
+ 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>>;
1323
1414
  /**
1324
1415
  * Suggests a namespace using the app's stored name and its owning account's slug or company name.
1325
1416
  * Falls back to the account slug when no company name is available.
@@ -1327,7 +1418,7 @@ declare function generateSlug(appId: string): Promise<NonNullablePaths<GenerateS
1327
1418
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1328
1419
  * If the base namespace is already used, suggests an alternative with a numeric suffix. Suggestions do not reserve a namespace.
1329
1420
  * Set Namespace derives its own namespace from `appName` without automatically adding a collision suffix. Choose a different `appName` and retry if it conflicts.
1330
- * @param appId - The id of the application
1421
+ * @param appId - App ID.
1331
1422
  * @public
1332
1423
  * @documentationMaturity preview
1333
1424
  * @requiredField appId
@@ -1348,7 +1439,7 @@ interface GetNamespaceSuggestionOptions {
1348
1439
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1349
1440
  * If the base namespace is already used, suggests an alternative with a numeric suffix. Suggestions do not reserve a namespace.
1350
1441
  * Set Namespace derives its own namespace from `appName` without automatically adding a collision suffix. Choose a different `appName` and retry if it conflicts.
1351
- * @param name - The name of the application
1442
+ * @param name - App display name used to derive a namespace suggestion.
1352
1443
  * @public
1353
1444
  * @documentationMaturity preview
1354
1445
  * @requiredField name
@@ -1367,8 +1458,8 @@ interface GetNamespaceSuggestionByNameOptions {
1367
1458
  * The exact names `google`, `facebook`, and `amazon` require privileged authorization (case-insensitive).
1368
1459
  * Unlike namespace suggestions, this method does not automatically add a suffix when the derived namespace is already used.
1369
1460
  * Suggestions are not reservations; on a collision, choose a different `appName` and retry.
1370
- * @param appId - Id of the App to update
1371
- * @param appName - Name used to derive the app's namespace component, at most 50 characters before normalization.
1461
+ * @param appId - App ID.
1462
+ * @param appName - Name used to derive the app's namespace component.
1372
1463
  * Lowercased; runs of non-alphanumeric characters (including spaces and underscores) become hyphens, with leading/trailing separators removed.
1373
1464
  * For example, `Bookings Helper` and `Bookings_Helper` become `bookings-helper`. If no letters or digits remain, uses `untitled`.
1374
1465
  * Subject to the reserved-name restrictions documented on Set Namespace. For permitted Wix-owned apps, `wix` is removed before normalization.
@@ -1391,14 +1482,14 @@ interface SetNamespaceOptions {
1391
1482
  * (adding one here would break consistent-audience-for-shared-permission across all of them).
1392
1483
  * Renaming the permission would change who is actually authorized, so it stays as-is —
1393
1484
  * the real check is the MANUAL validateUpdateAppPermission(...) in code.
1394
- * @param appId - ID of the App to update
1485
+ * @param appId - App ID.
1395
1486
  * @public
1396
1487
  * @documentationMaturity preview
1397
1488
  * @requiredField appId
1398
1489
  * @permissionId WIX_DEVELOPERS.MODIFY_APP
1399
1490
  * @fqn wix.devcenter.apps.v1.AppsService.CreateSecondarySecret
1400
1491
  */
1401
- 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>>;
1492
+ 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>>;
1402
1493
  interface CreateSecondarySecretOptions {
1403
1494
  /** Latest app revision, available from Get App. An outdated revision is rejected. */
1404
1495
  revision?: string;
@@ -1408,8 +1499,8 @@ interface CreateSecondarySecretOptions {
1408
1499
  * (adding one here would break consistent-audience-for-shared-permission across all of them).
1409
1500
  * Renaming the permission would change who is actually authorized, so it stays as-is —
1410
1501
  * the real check is the MANUAL validateUpdateAppPermission(...) in code.
1411
- * @param appId - ID of the App to update
1412
- * @param secretToRevoke - Which of the two secrets to get rid of
1502
+ * @param appId - App ID.
1503
+ * @param secretToRevoke - Credential to revoke. The app must have both a previous and a replacement secret.
1413
1504
  * @public
1414
1505
  * @documentationMaturity preview
1415
1506
  * @requiredField appId