@paynow-gg/typescript-sdk 2.1.3 → 2.1.5

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.
@@ -108,6 +108,10 @@ export interface AbandonedCheckoutStoreConfigurationUpdateDto {
108
108
  commands: Array<AbandonedCheckoutStoreConfigurationUpdateCommandDto>;
109
109
  coupon_configuration: MarketingCouponConfigurationDto;
110
110
  }
111
+ /**
112
+ * Represents the actor that performed an action, such as the user, API key or game server that
113
+ * created or changed a record.
114
+ */
111
115
  export interface ActorDto {
112
116
  type: PayNowActorType;
113
117
  id?: FlakeId;
@@ -298,29 +302,51 @@ export interface BancontactDetailsDto {
298
302
  */
299
303
  payer_name?: string | null;
300
304
  }
305
+ /**
306
+ * Represents a ban that blocks customers matching any of its identities from purchasing in the store.
307
+ */
301
308
  export interface BanDto {
302
309
  id: FlakeId;
303
310
  store_id: FlakeId;
311
+ /**
312
+ * The reason recorded for the ban.
313
+ */
304
314
  reason: string;
315
+ /**
316
+ * Indicates whether the ban is currently enforced.
317
+ */
305
318
  enabled: boolean;
319
+ /**
320
+ * The identities the ban applies to. A customer matching any one of them is banned.
321
+ */
306
322
  identities: Array<BanIdentityDto>;
307
323
  created_by: ActorDto;
308
324
  /**
325
+ * The date and time the ban was created.
309
326
  * @format date-time
310
327
  */
311
328
  created_at: string;
312
329
  /**
330
+ * The date and time the ban was last updated, or null when it has never been updated.
313
331
  * @format date-time
314
332
  */
315
333
  updated_at?: string | null;
316
334
  updated_by?: ActorDto;
317
335
  /**
336
+ * The date and time the ban lifts, or null when the ban is permanent.
318
337
  * @format date-time
319
338
  */
320
339
  expires_at?: string | null;
321
340
  }
341
+ /**
342
+ * Represents one identity a ban applies to.
343
+ */
322
344
  export interface BanIdentityDto {
323
345
  ban_type: BanType;
346
+ /**
347
+ * The value to match for 'ban_type': the Steam ID, IP address, customer ID, customer name or
348
+ * email address respectively.
349
+ */
324
350
  ban_type_value: string;
325
351
  }
326
352
  export interface BanResult {
@@ -360,34 +386,6 @@ export type BansGetBansQuery = {
360
386
  asc?: boolean;
361
387
  };
362
388
  export type BanType = "unknown" | "steam" | "ip" | "customer" | "customer_name" | "email";
363
- /**
364
- * Query parameters
365
- */
366
- export type BillingGetStoreBillingOrdersQuery = {
367
- /**
368
- * The maximum number of items to return in a single request.
369
- * @format int32
370
- * @minimum 1
371
- * @maximum 100
372
- */
373
- limit?: number;
374
- /**
375
- * Returns items after the specified ID.
376
- * Used for forward pagination through results.
377
- */
378
- after?: FlakeId;
379
- /**
380
- * Returns items before the specified ID.
381
- * Used for backward pagination through results.
382
- */
383
- before?: FlakeId;
384
- /**
385
- * Determines the sort order of returned items.
386
- * When true, items are returned in ascending order.
387
- * When false, items are returned in descending order.
388
- */
389
- asc?: boolean;
390
- };
391
389
  export interface CancelSubscriptionRequestDto {
392
390
  /**
393
391
  * Should the subscription be cancelled immediately (false) or on the next billing period (true)?
@@ -564,19 +562,52 @@ export interface CheckoutSessionDto {
564
562
  */
565
563
  requires_payment: boolean;
566
564
  }
565
+ /**
566
+ * Represents the styling applied to the store's hosted checkout.
567
+ */
567
568
  export interface CheckoutStyleDto {
568
569
  store_id: FlakeId;
570
+ /**
571
+ * The CSS font family used for text on the checkout, or null to use the default font.
572
+ */
569
573
  font_family?: string | null;
570
574
  /**
575
+ * The corner radius applied to buttons, inputs and panels on the checkout, in pixels, or null to
576
+ * use the default radius.
571
577
  * @format int32
572
578
  */
573
579
  border_radius?: number | null;
580
+ /**
581
+ * The accent colour used for primary buttons and highlights, as a CSS colour value, or null to
582
+ * use the default.
583
+ */
574
584
  color_primary?: string | null;
585
+ /**
586
+ * The background colour of panels and cards on the checkout, as a CSS colour value, or null to
587
+ * use the default.
588
+ */
575
589
  color_elements?: string | null;
590
+ /**
591
+ * The background colour of input fields, as a CSS colour value, or null to use the default.
592
+ */
576
593
  color_input?: string | null;
594
+ /**
595
+ * The background colour of the checkout page, as a CSS colour value, or null to use the default.
596
+ */
577
597
  color_background?: string | null;
598
+ /**
599
+ * The colour of text on the checkout, as a CSS colour value, or null to use the default.
600
+ */
578
601
  color_text?: string | null;
602
+ /**
603
+ * The colour of borders and outlines on the checkout, as a CSS colour value, or null to use the
604
+ * default.
605
+ */
579
606
  color_outline?: string | null;
607
+ /**
608
+ * The URL of the image shown behind the checkout, or null when none has been uploaded. It cannot
609
+ * be set directly; upload an image through the background image endpoints instead.
610
+ */
580
611
  url_background?: string | null;
581
612
  }
582
613
  export interface CommandAttemptDto {
@@ -646,7 +677,9 @@ export interface CouponDto {
646
677
  duration_in_intervals?: number | null;
647
678
  discount_type: CouponDiscountTypeDto;
648
679
  /**
649
- * The discount amount in the smallest currency unit (e.g., cents).
680
+ * The discount amount, interpreted based on discount type: for a fixed-amount
681
+ * discount, this is in the smallest currency unit (e.g., cents); for a
682
+ * percentage discount, this is in tenths of a percent (e.g., 100 = 10.0% off).
650
683
  * @format int64
651
684
  */
652
685
  discount_amount: number;
@@ -750,7 +783,7 @@ export interface CouponResult {
750
783
  /**
751
784
  * Query parameters
752
785
  */
753
- export type CouponsGetCouponsForStoreQuery = {
786
+ export type CouponsGetCouponsQuery = {
754
787
  /**
755
788
  * The maximum number of items to return in a single request.
756
789
  * @format int32
@@ -788,26 +821,51 @@ export type CouponsGetCouponsForStoreQuery = {
788
821
  usable_by_customer_id?: FlakeId;
789
822
  };
790
823
  export interface CreateAffiliateLinkDto {
824
+ /**
825
+ * The identifier of the wallet that receives the affiliate commission payouts.
826
+ */
791
827
  wallet_id: string;
828
+ /**
829
+ * Indicates whether the affiliate link is enabled.
830
+ */
792
831
  enabled: boolean;
832
+ /**
833
+ * The unique code associated with the affiliate link.
834
+ */
793
835
  code: string;
794
836
  referer_type: AffiliateLinkRefererTypeDto;
795
837
  /**
838
+ * The number of days a customer's referral is tracked after following the affiliate link.
796
839
  * @format int32
797
840
  */
798
841
  tracking_length_days: number;
842
+ /**
843
+ * Whether the affiliate earns commission on subscription renewals.
844
+ * Must be enabled for 'commission_amount_steps' past the first cycle to apply - when disabled, only the initial purchase earns commission.
845
+ */
799
846
  apply_for_subscriptions: boolean;
800
847
  discount_type: AffiliateLinkDiscountTypeDto;
801
848
  /**
849
+ * The discount amount, in the smallest currency unit (e.g., cents) for fixed discounts, or tenths of a percent (e.g., 125 = 12.5%) for percentage discounts.
802
850
  * @format int64
803
851
  */
804
852
  discount_amount: number;
805
853
  commission_type: AffiliateLinkCommissionTypeDto;
806
854
  /**
855
+ * The commission amount, in tenths of a percent (e.g., 125 = 12.5%) for percentage commissions.
807
856
  * @format int64
808
857
  */
809
858
  commission_amount: number;
859
+ /**
860
+ * Per-cycle commission overrides. Requires 'apply_for_subscriptions' to be enabled for billing cycles past 1.
861
+ * When empty, the base commission amount applies to every renewal. When steps are defined, each renewal cycle pays its matching steps amount.
862
+ * Cycles without a matching step earn no commission, except cycles past the last step when 'last_commission_amount_step_repeats' is true.
863
+ */
810
864
  commission_amount_steps: Array<AffiliateLinkCommissionAmountStepDto>;
865
+ /**
866
+ * Whether the last commission amount steps rate continues to apply to all billing cycles past the last step.
867
+ * When false, cycles past the last step earn no commission.
868
+ */
811
869
  last_commission_amount_step_repeats: boolean;
812
870
  }
813
871
  /**
@@ -951,65 +1009,135 @@ export interface CreateCheckoutSessionResponseDto {
951
1009
  url: string;
952
1010
  }
953
1011
  export interface CreateCheckoutStyleDto {
1012
+ /**
1013
+ * The CSS font family used for text on the checkout, or null to use the default font.
1014
+ */
954
1015
  font_family?: string;
955
1016
  /**
1017
+ * The corner radius applied to buttons, inputs and panels on the checkout, in pixels, or null to
1018
+ * use the default radius.
956
1019
  * @format int32
957
1020
  */
958
- border_radius?: number | null;
1021
+ border_radius?: number;
1022
+ /**
1023
+ * The accent colour used for primary buttons and highlights, as a CSS colour value, or null to
1024
+ * use the default.
1025
+ */
959
1026
  color_primary?: string;
1027
+ /**
1028
+ * The background colour of panels and cards on the checkout, as a CSS colour value, or null to
1029
+ * use the default.
1030
+ */
960
1031
  color_elements?: string;
1032
+ /**
1033
+ * The background colour of input fields, as a CSS colour value, or null to use the default.
1034
+ */
961
1035
  color_input?: string;
1036
+ /**
1037
+ * The background colour of the checkout page, as a CSS colour value, or null to use the default.
1038
+ */
962
1039
  color_background?: string;
1040
+ /**
1041
+ * The colour of text on the checkout, as a CSS colour value, or null to use the default.
1042
+ */
963
1043
  color_text?: string;
1044
+ /**
1045
+ * The colour of borders and outlines on the checkout, as a CSS colour value, or null to use the
1046
+ * default.
1047
+ */
964
1048
  color_outline?: string;
965
1049
  }
966
1050
  export interface CreateCouponDto {
1051
+ /**
1052
+ * Indicates whether the coupon is enabled.
1053
+ */
967
1054
  enabled: boolean;
1055
+ /**
1056
+ * The unique code associated with the coupon.
1057
+ */
968
1058
  code: string;
1059
+ /**
1060
+ * A note or internal description of the coupon.
1061
+ */
969
1062
  note?: string;
970
1063
  duration: CouponDurationDto;
971
1064
  /**
1065
+ * The number of months the coupon is valid for, used if the duration is repeating.
972
1066
  * @format int32
1067
+ * @deprecated
973
1068
  */
974
- duration_in_months?: number | null;
1069
+ duration_in_months?: number;
975
1070
  /**
1071
+ * The number of subscription renewals the coupon is valid for, used if the duration is repeating.
976
1072
  * @format int32
977
1073
  */
978
- duration_in_intervals?: number | null;
1074
+ duration_in_intervals?: number;
979
1075
  discount_type: CouponDiscountTypeDto;
980
1076
  /**
1077
+ * The discount amount, interpreted based on discount type: for a fixed-amount
1078
+ * discount, this is in the smallest currency unit (e.g., cents); for a
1079
+ * percentage discount, this is in tenths of a percent (e.g., 100 = 10.0% off).
981
1080
  * @format int64
982
1081
  */
983
1082
  discount_amount: number;
1083
+ /**
1084
+ * Indicates whether the discount should be applied individually to required tags or products.
1085
+ */
984
1086
  discount_apply_individually: boolean;
1087
+ /**
1088
+ * Indicates whether the discount is applied before existing sales.
1089
+ */
985
1090
  discount_apply_before_sales: boolean;
1091
+ /**
1092
+ * A list of product IDs the coupon applies to.
1093
+ */
986
1094
  apply_to_products?: Array<FlakeId>;
1095
+ /**
1096
+ * A list of tag IDs the coupon applies to.
1097
+ */
987
1098
  apply_to_tags?: Array<FlakeId>;
988
1099
  usable_by_customer_id?: FlakeId;
989
1100
  /**
1101
+ * The minimum order value required to use the coupon.
990
1102
  * @format int64
991
1103
  */
992
1104
  minimum_order_value: number;
1105
+ /**
1106
+ * Indicates whether a global redemption limit is enabled.
1107
+ */
993
1108
  redeem_limit_store_enabled: boolean;
994
1109
  /**
1110
+ * The maximum number of times the coupon can be redeemed across the store.
995
1111
  * @format int64
996
1112
  */
997
1113
  redeem_limit_store_amount: number;
1114
+ /**
1115
+ * Indicates whether a per-customer redemption limit is enabled.
1116
+ */
998
1117
  redeem_limit_customer_enabled: boolean;
999
1118
  /**
1119
+ * The maximum number of times the coupon can be redeemed per customer.
1000
1120
  * @format int64
1001
1121
  */
1002
1122
  redeem_limit_customer_amount: number;
1123
+ /**
1124
+ * Indicates whether the coupon can be used for one-time purchases.
1125
+ */
1003
1126
  usable_on_one_time_purchase: boolean;
1127
+ /**
1128
+ * Indicates whether the coupon can be used for subscriptions.
1129
+ */
1004
1130
  usable_on_subscription: boolean;
1005
1131
  /**
1132
+ * The date and time when the coupon becomes valid.
1006
1133
  * @format date-time
1007
1134
  */
1008
- usable_at?: string | null;
1135
+ usable_at?: string;
1009
1136
  /**
1137
+ * The date and time when the coupon expires.
1010
1138
  * @format date-time
1011
1139
  */
1012
- expires_at?: string | null;
1140
+ expires_at?: string;
1013
1141
  }
1014
1142
  /**
1015
1143
  * Request to create a new customer portal session from your back-end server using the management API
@@ -1037,47 +1165,89 @@ export interface CreateEmailTemplateDto {
1037
1165
  }
1038
1166
  export interface CreateGameServerConsoleDto {
1039
1167
  type: GameServerConsoleTypeDto;
1168
+ /**
1169
+ * Indicates whether PayNow keeps the connection to the console open.
1170
+ */
1040
1171
  enabled: boolean;
1172
+ /**
1173
+ * The hostname or IP address the game server's console listens on.
1174
+ */
1041
1175
  host: string;
1042
1176
  /**
1177
+ * The port the game server's console listens on.
1043
1178
  * @format int32
1044
1179
  */
1045
1180
  port: number;
1181
+ /**
1182
+ * The password used to authenticate with the console, or null when it requires none.
1183
+ */
1046
1184
  password?: string;
1185
+ /**
1186
+ * Indicates whether the connection is made over TLS.
1187
+ */
1047
1188
  secure: boolean;
1048
1189
  }
1049
1190
  export interface CreateGameServerDto {
1191
+ /**
1192
+ * The display name of the game server.
1193
+ */
1050
1194
  name: string;
1195
+ /**
1196
+ * Indicates whether the game server is currently enabled.
1197
+ */
1051
1198
  enabled: boolean;
1052
1199
  }
1053
1200
  export interface CreateGiftCardDto {
1201
+ /**
1202
+ * Indicates whether the gift card is currently enabled and can be used.
1203
+ */
1054
1204
  enabled: boolean;
1205
+ /**
1206
+ * The unique code that customers use to redeem the gift card.
1207
+ * @example "GIFT-2024-ABCD1234"
1208
+ */
1055
1209
  code: string;
1210
+ /**
1211
+ * Optional note or description associated with the gift card.
1212
+ */
1056
1213
  note?: string;
1057
1214
  /**
1215
+ * The current balance remaining on the gift card in cents.
1058
1216
  * @format int64
1217
+ * @example 2500
1059
1218
  */
1060
1219
  balance: number;
1061
1220
  /**
1221
+ * The date and time when the gift card becomes usable.
1062
1222
  * @format date-time
1063
1223
  */
1064
1224
  usable_at: string;
1065
1225
  /**
1226
+ * The date and time when the gift card expires, if applicable.
1066
1227
  * @format date-time
1067
1228
  */
1068
- expires_at?: string | null;
1229
+ expires_at?: string;
1069
1230
  }
1070
1231
  export interface CreateInviteDto {
1071
1232
  role_id: FlakeId;
1233
+ /**
1234
+ * The email address the invite was sent to.
1235
+ */
1072
1236
  user_email: string;
1073
1237
  }
1074
1238
  export interface CreateNavLinkDto {
1075
1239
  tag_id: FlakeId;
1240
+ /**
1241
+ * The 'node_id' of the link this one nests under, or null when it sits at the top level of the
1242
+ * navigation.
1243
+ */
1076
1244
  parent_node_id?: string;
1077
1245
  /**
1246
+ * The position of the link among its siblings, lowest first, or null when no explicit order has
1247
+ * been set.
1078
1248
  * @format int32
1079
1249
  */
1080
- order?: number | null;
1250
+ order?: number;
1081
1251
  }
1082
1252
  export interface CreateProductDependentMigrationRequestDto {
1083
1253
  send_new_commands_to_all_servers: boolean;
@@ -1098,53 +1268,120 @@ export interface CreateRoleDto {
1098
1268
  permissions?: Record<string, boolean>;
1099
1269
  }
1100
1270
  export interface CreateSaleDto {
1271
+ /**
1272
+ * Indicates whether the sale is enabled.
1273
+ */
1101
1274
  enabled: boolean;
1275
+ /**
1276
+ * The name of the sale.
1277
+ */
1102
1278
  name: string;
1103
1279
  discount_type: SaleDiscountTypeDto;
1104
1280
  /**
1281
+ * The discount value. For percent discounts, this represents the percentage
1282
+ * multiplied by 10 (e.g., 250 = 25%). For amount discounts, this represents
1283
+ * the value in the smallest currency unit (e.g., cents).
1105
1284
  * @format int32
1106
1285
  */
1107
1286
  discount_amount: number;
1108
1287
  duration: SaleDurationDto;
1109
1288
  /**
1289
+ * The number of subscription intervals the coupon is valid for, used if the duration is repeating.
1110
1290
  * @format int32
1111
1291
  */
1112
1292
  duration_in_intervals: number;
1293
+ /**
1294
+ * A list of product IDs the sale applies to.
1295
+ */
1113
1296
  apply_to_product_ids: Array<FlakeId>;
1297
+ /**
1298
+ * A list of tag IDs the sale applies to.
1299
+ */
1114
1300
  apply_to_tag_ids: Array<FlakeId>;
1115
1301
  /**
1302
+ * The minimum order value required to apply the sale, in the smallest currency unit (e.g., cents).
1116
1303
  * @format int32
1117
1304
  */
1118
1305
  minimum_order_value: number;
1119
1306
  /**
1307
+ * The date and time when the sale begins.
1120
1308
  * @format date-time
1121
1309
  */
1122
1310
  begins_at: string;
1123
1311
  /**
1312
+ * The date and time when the sale ends.
1124
1313
  * @format date-time
1125
1314
  */
1126
- ends_at?: string | null;
1315
+ ends_at?: string;
1127
1316
  }
1128
1317
  export interface CreateStoreDto {
1318
+ /**
1319
+ * The URL-safe slug used to identify the store (e.g. "my-rust-server").
1320
+ */
1129
1321
  slug: string;
1322
+ /**
1323
+ * The display name of the store.
1324
+ */
1130
1325
  name: string;
1326
+ /**
1327
+ * The platform this store is associated with (e.g. "rust", "minecraft").
1328
+ */
1131
1329
  platform: string;
1330
+ /**
1331
+ * Alias for 'platform'. Returns the platform identifier as a game name.
1332
+ */
1132
1333
  game: string;
1334
+ /**
1335
+ * The ISO 4217 currency code used by this store for pricing (e.g. "usd", "eur")
1336
+ */
1133
1337
  currency: string;
1338
+ /**
1339
+ * A human-readable description of the store shown to customers and PayNow.
1340
+ */
1134
1341
  description: string;
1342
+ /**
1343
+ * The store's public website URL.
1344
+ */
1135
1345
  website_url?: string;
1346
+ /**
1347
+ * General contact email address for the store.
1348
+ */
1136
1349
  contact_email?: string;
1350
+ /**
1351
+ * Dedicated support email address for customer inquiries.
1352
+ */
1137
1353
  support_email?: string;
1354
+ /**
1355
+ * URL to the store's support portal or help page.
1356
+ */
1138
1357
  support_url?: string;
1358
+ /**
1359
+ * The integration type used by the store.
1360
+ */
1139
1361
  integration_type?: string;
1362
+ /**
1363
+ * Username prefix used to identify Minecraft Bedrock players (e.g. ".").
1364
+ */
1140
1365
  minecraft_bedrock_username_prefix?: string;
1141
1366
  }
1142
1367
  export interface CreateStorePaymentSettingsDto {
1368
+ /**
1369
+ * Whether to show all available payment methods for subscription purchases.
1370
+ */
1143
1371
  show_all_payment_methods_for_subscriptions: boolean;
1372
+ /**
1373
+ * Whether store pricing is tax-inclusive.
1374
+ */
1144
1375
  store_tax_inclusive_pricing: boolean;
1145
1376
  block_prepaid_cards: PrepaidCardsBlockingTypeDto;
1146
1377
  promo_code_stacking_behavior: StorePromoCodeStackingBehaviorDto;
1378
+ /**
1379
+ * Whether the 'Adaptive Currency' feature is enabled.
1380
+ */
1147
1381
  adaptive_currency_enabled: boolean;
1382
+ /**
1383
+ * Whether the displayed currency on the storefront should be the Adaptive Currency by default.
1384
+ */
1148
1385
  show_adaptive_currency_on_storefront: boolean;
1149
1386
  }
1150
1387
  export interface CreateStoreUpsellSettingsDto {
@@ -1168,9 +1405,13 @@ export interface CreateTierGroupRequestDto {
1168
1405
  export interface CreateTrialEligibilityOverrideDto {
1169
1406
  product_id: FlakeId;
1170
1407
  /**
1408
+ * The date and time when this override expires and is no longer valid.
1171
1409
  * @format date-time
1172
1410
  */
1173
1411
  expires_at: string;
1412
+ /**
1413
+ * An optional note or comment about this override.
1414
+ */
1174
1415
  note?: string;
1175
1416
  }
1176
1417
  export interface CreateWebhookDto {
@@ -1183,31 +1424,68 @@ export interface CreateWebhookDto {
1183
1424
  discord_format?: WebhookDiscordFormatDto;
1184
1425
  }
1185
1426
  export interface CreateWebstoreModuleDto {
1186
- enabled: boolean;
1427
+ /**
1428
+ * Indicates whether the module is rendered. A disabled module keeps its settings but is not
1429
+ * shown to customers.
1430
+ */
1431
+ enabled: boolean;
1432
+ /**
1433
+ * The kind of module. Decides which 'settings' it accepts and how the template renders it.
1434
+ */
1187
1435
  type: string;
1188
- settings?: null;
1189
1436
  /**
1437
+ * The module's type-specific configuration as a JSON object, or null when it has none.
1438
+ */
1439
+ settings?: unknown;
1440
+ /**
1441
+ * The date and time the module starts being shown, or null to show it as soon as it is enabled.
1190
1442
  * @format date-time
1191
1443
  */
1192
- starts_at?: string | null;
1444
+ starts_at?: string;
1193
1445
  /**
1446
+ * The date and time the module stops being shown, or null to show it indefinitely.
1194
1447
  * @format date-time
1195
1448
  */
1196
- ends_at?: string | null;
1449
+ ends_at?: string;
1197
1450
  }
1198
1451
  export interface CreateWebstoreTemplateDto {
1452
+ /**
1453
+ * The display name of the template.
1454
+ */
1199
1455
  name: string;
1200
1456
  compatibility_mode: WebstoreTemplateCompatibilityModeDto;
1201
1457
  }
1202
1458
  export interface CreateWebstoreTemplateFileDto {
1459
+ /**
1460
+ * The name of the file within the template, without an extension. The extension follows from
1461
+ * 'content_type'.
1462
+ */
1203
1463
  file_name: string;
1464
+ /**
1465
+ * The MIME type of the file (e.g., text/html, text/css, application/json). Decides how the file
1466
+ * is served and whether it is public.
1467
+ */
1204
1468
  content_type: string;
1469
+ /**
1470
+ * The text content of the file. Null when files are listed; content is only returned when a
1471
+ * single file is fetched or the template is fetched with 'include' set to 'files'.
1472
+ */
1205
1473
  content?: string;
1206
1474
  }
1207
1475
  export interface CreateWebstoreTemplateVariableDto {
1476
+ /**
1477
+ * The label shown for the variable in the editor.
1478
+ */
1208
1479
  name: string;
1480
+ /**
1481
+ * The name the template's files reference the value by.
1482
+ */
1209
1483
  variable: string;
1210
1484
  type: WebstoreTemplateVariableTypeDto;
1485
+ /**
1486
+ * The value of the variable, always stored as a string and parsed according to 'type' when the
1487
+ * template renders.
1488
+ */
1211
1489
  value: string;
1212
1490
  }
1213
1491
  /**
@@ -1551,6 +1829,17 @@ export interface CustomerStatsDto_V2 {
1551
1829
  */
1552
1830
  total_refunds: number;
1553
1831
  }
1832
+ export interface CustomerStatsForRangeDto_V2 {
1833
+ customer_id: FlakeId;
1834
+ total_spend_gross: MoneyDto_V2;
1835
+ total_spend_net: MoneyDto_V2;
1836
+ average_spend_gross: MoneyDto_V2;
1837
+ average_spend_net: MoneyDto_V2;
1838
+ /**
1839
+ * @format int32
1840
+ */
1841
+ total_payments: number;
1842
+ }
1554
1843
  /**
1555
1844
  * Represents a Steam profile for a customer.
1556
1845
  */
@@ -1715,37 +2004,6 @@ export interface CustomVariableOptionRequestDto {
1715
2004
  Customers can enter numeric values (subject to validation).
1716
2005
  */
1717
2006
  export type CustomVariableType = "dropdown" | "text" | "number";
1718
- /**
1719
- * Query parameters
1720
- */
1721
- export type DashboardSearchDashboardQuery = {
1722
- query?: string;
1723
- search_hints?: Record<string, string>;
1724
- search_result_type?: DashboardSearchResultTypeDto;
1725
- /**
1726
- * The maximum number of items to return in a single request.
1727
- * @format int32
1728
- * @minimum 1
1729
- * @maximum 100
1730
- */
1731
- limit?: number;
1732
- /**
1733
- * Returns items after the specified ID.
1734
- * Used for forward pagination through results.
1735
- */
1736
- after?: FlakeId;
1737
- /**
1738
- * Returns items before the specified ID.
1739
- * Used for backward pagination through results.
1740
- */
1741
- before?: FlakeId;
1742
- /**
1743
- * Determines the sort order of returned items.
1744
- * When true, items are returned in ascending order.
1745
- * When false, items are returned in descending order.
1746
- */
1747
- asc?: boolean;
1748
- };
1749
2007
  export interface DashboardSearchHintDto {
1750
2008
  prefix: string;
1751
2009
  example: string;
@@ -1930,6 +2188,9 @@ export type DeliveryGetCustomerDeliveryItemsQuery = {
1930
2188
  * When false, items are returned in descending order.
1931
2189
  */
1932
2190
  asc?: boolean;
2191
+ /**
2192
+ * Whether to only retrieve delivery items that are currently active.
2193
+ */
1933
2194
  activeOnly?: boolean;
1934
2195
  };
1935
2196
  /**
@@ -1959,6 +2220,9 @@ export type DeliveryGetGameServerDeliveryItemsQuery = {
1959
2220
  * When false, items are returned in descending order.
1960
2221
  */
1961
2222
  asc?: boolean;
2223
+ /**
2224
+ * Whether to only retrieve delivery items that are currently active.
2225
+ */
1962
2226
  activeOnly?: boolean;
1963
2227
  };
1964
2228
  /**
@@ -1994,6 +2258,9 @@ export type DeliveryGetStoreDeliveryItemsQuery = {
1994
2258
  * When false, items are returned in descending order.
1995
2259
  */
1996
2260
  asc?: boolean;
2261
+ /**
2262
+ * Whether to only retrieve delivery items that are currently active.
2263
+ */
1997
2264
  activeOnly?: boolean;
1998
2265
  };
1999
2266
  export interface DeliveryItemAssignmentBulkDto {
@@ -2207,6 +2474,7 @@ export interface DiscordServerRoleDto {
2207
2474
  */
2208
2475
  export type DiscordSetUserToDeliveryItemLinkQuery = {
2209
2476
  /**
2477
+ * The ID of the Discord user to link.
2210
2478
  * @format int64
2211
2479
  */
2212
2480
  discordUserId?: number;
@@ -2223,6 +2491,27 @@ export interface DistributionTotalsDto_V2 {
2223
2491
  order_count: number;
2224
2492
  gross_volume?: MoneyDto_V2;
2225
2493
  }
2494
+ /**
2495
+ * Represents one matching section of a documentation page.
2496
+ */
2497
+ export interface DocsSearchHitDto {
2498
+ /**
2499
+ * The title of the page the section belongs to.
2500
+ */
2501
+ title: string;
2502
+ /**
2503
+ * The heading of the matching section within the page.
2504
+ */
2505
+ heading: string;
2506
+ /**
2507
+ * The full URL of the section on docs.paynow.gg, including the heading anchor.
2508
+ */
2509
+ url: string;
2510
+ /**
2511
+ * A short excerpt of the section text around the matching terms.
2512
+ */
2513
+ snippet: string;
2514
+ }
2226
2515
  export interface EmailBrandingDto {
2227
2516
  store_id: FlakeId;
2228
2517
  color: string;
@@ -2330,7 +2619,14 @@ export interface FinishTagImageUploadUrlRequestDto {
2330
2619
  */
2331
2620
  image_id: string;
2332
2621
  }
2622
+ /**
2623
+ * Represents the result of importing an uploaded template archive into a template.
2624
+ */
2333
2625
  export interface FinishWebstoreTemplateUploadResponseDto {
2626
+ /**
2627
+ * The names of the files in the archive that could not be imported. Empty when every file was
2628
+ * imported.
2629
+ */
2334
2630
  failed_files: Array<string>;
2335
2631
  }
2336
2632
  /**
@@ -2338,31 +2634,64 @@ export interface FinishWebstoreTemplateUploadResponseDto {
2338
2634
  * @example "411486491630370816"
2339
2635
  */
2340
2636
  export type FlakeId = string;
2637
+ /**
2638
+ * Specifies the state of PayNow's connection to a game server's console.
2639
+ * - `unknown`: The connection state is not known. This value is typically used as a default or uninitialized state.
2640
+ * - `disconnected`: No connection is open to the console.
2641
+ * - `connecting`: A runner is in the middle of establishing the connection.
2642
+ * - `connected`: The connection is open and commands can be run.
2643
+ * - `backoff`: The last connection attempt failed and the runner is waiting before trying again.
2644
+ */
2341
2645
  export type GameServerConsoleConnectionStatusDto = "unknown" | "disconnected" | "connecting" | "connected" | "backoff";
2646
+ /**
2647
+ * Represents the remote console connection PayNow keeps open to a game server, used to run
2648
+ * delivery commands in game and to read the server's console output.
2649
+ */
2342
2650
  export interface GameServerConsoleDto {
2343
2651
  game_server_id: FlakeId;
2344
2652
  store_id: FlakeId;
2345
2653
  type: GameServerConsoleTypeDto;
2654
+ /**
2655
+ * Indicates whether PayNow keeps the connection to the console open.
2656
+ */
2346
2657
  enabled: boolean;
2658
+ /**
2659
+ * The identifier of the PayNow runner currently holding the connection, or empty when none has
2660
+ * been assigned.
2661
+ */
2347
2662
  assigned_runner_id: string;
2348
2663
  connection_status: GameServerConsoleConnectionStatusDto;
2349
2664
  /**
2665
+ * The date and time the runner last reported the connection alive, or null when it has never
2666
+ * connected.
2350
2667
  * @format date-time
2351
2668
  */
2352
2669
  last_heartbeat_at?: string | null;
2670
+ /**
2671
+ * The hostname or IP address the game server's console listens on.
2672
+ */
2353
2673
  host: string;
2354
2674
  /**
2675
+ * The port the game server's console listens on.
2355
2676
  * @format int32
2356
2677
  */
2357
2678
  port: number;
2679
+ /**
2680
+ * The password used to authenticate with the console, or null when it requires none.
2681
+ */
2358
2682
  password?: string | null;
2683
+ /**
2684
+ * Indicates whether the connection is made over TLS.
2685
+ */
2359
2686
  secure: boolean;
2360
2687
  /**
2688
+ * The date and time the console was created.
2361
2689
  * @format date-time
2362
2690
  */
2363
2691
  created_at: string;
2364
2692
  created_by: ActorDto;
2365
2693
  /**
2694
+ * The date and time the console was last updated, or null when it has never been updated.
2366
2695
  * @format date-time
2367
2696
  */
2368
2697
  updated_at?: string | null;
@@ -2377,6 +2706,11 @@ export interface GameServerConsoleMessageDto {
2377
2706
  time: string;
2378
2707
  }
2379
2708
  export type GameServerConsoleMessageTypeDto = "unknown" | "output" | "command" | "response" | "system";
2709
+ /**
2710
+ * Specifies the console protocol a game server speaks.
2711
+ * - `unknown`: No console type specified. This value is typically used as a default or uninitialized state.
2712
+ * - `rust`: The WebSocket RCON console of a Rust server.
2713
+ */
2380
2714
  export type GameServerConsoleTypeDto = "unknown" | "rust";
2381
2715
  /**
2382
2716
  * Represents a game server in the PayNow system with authentication tokens and linking information.
@@ -2482,10 +2816,41 @@ export interface GetTagImageUploadUrlResponseDto {
2482
2816
  */
2483
2817
  upload_url: string;
2484
2818
  }
2819
+ /**
2820
+ * Represents a link to download a template's files as an archive.
2821
+ */
2485
2822
  export interface GetWebstoreTemplateArchiveResponseDto {
2823
+ /**
2824
+ * The temporary URL the archive can be downloaded from.
2825
+ */
2486
2826
  download_url: string;
2487
2827
  }
2828
+ /**
2829
+ * Represents a short-lived link that renders a template preview without caching.
2830
+ */
2831
+ export interface GetWebstoreTemplatePreviewUrlResponseDto {
2832
+ /**
2833
+ * The preview slug the link is keyed by.
2834
+ */
2835
+ slug: string;
2836
+ /**
2837
+ * The URL to open the preview at.
2838
+ */
2839
+ url: string;
2840
+ /**
2841
+ * The date and time the link stops working.
2842
+ * @format date-time
2843
+ */
2844
+ expires_at: string;
2845
+ }
2846
+ /**
2847
+ * Represents a pre-signed URL for uploading a template archive.
2848
+ */
2488
2849
  export interface GetWebstoreTemplateUploadUrlResponseDto {
2850
+ /**
2851
+ * The URL to upload the archive to with an HTTP PUT. Once the upload completes, finish it through
2852
+ * the upload finish endpoint to import the files into the template.
2853
+ */
2489
2854
  upload_url: string;
2490
2855
  }
2491
2856
  /**
@@ -2784,6 +3149,12 @@ export interface InlineProductCreateDto {
2784
3149
  is_affiliate_links_disabled?: boolean | null;
2785
3150
  tier_group_id?: FlakeId;
2786
3151
  }
3152
+ /**
3153
+ * Represents the result of installing a marketplace template into a store's webstore.
3154
+ */
3155
+ export interface InstallMarketplaceTemplateResponseDto {
3156
+ installed_template_id: FlakeId;
3157
+ }
2787
3158
  export interface IntervalGameServerStatsDto {
2788
3159
  store_id: FlakeId;
2789
3160
  gameserver_id: FlakeId;
@@ -3143,13 +3514,32 @@ export interface MoneyDto_V2 {
3143
3514
  */
3144
3515
  amount_minor_units: number;
3145
3516
  }
3517
+ /**
3518
+ * Represents a link in the storefront's navigation. Each link points at a tag, and links nest under
3519
+ * one another through 'parent_node_id' to form the navigation tree.
3520
+ */
3146
3521
  export interface NavLinkDto {
3522
+ /**
3523
+ * The unique identifier of the navigation link.
3524
+ */
3147
3525
  node_id: string;
3148
3526
  tag_id: FlakeId;
3527
+ /**
3528
+ * The 'node_id' of the link this one nests under, or null when it sits at the top level of the
3529
+ * navigation.
3530
+ */
3149
3531
  parent_node_id?: string | null;
3532
+ /**
3533
+ * The slug of the tag the link points at.
3534
+ */
3150
3535
  tag_slug: string;
3536
+ /**
3537
+ * The text shown for the link, taken from the tag it points at.
3538
+ */
3151
3539
  name: string;
3152
3540
  /**
3541
+ * The position of the link among its siblings, lowest first, or null when no explicit order has
3542
+ * been set.
3153
3543
  * @format int32
3154
3544
  */
3155
3545
  order?: number | null;
@@ -6695,6 +7085,54 @@ export interface StoreUpsellSettingsDto {
6695
7085
  updated_at: string;
6696
7086
  updated_by: ActorDto;
6697
7087
  }
7088
+ /**
7089
+ * Represents an invoice Stripe Billing raised for the store's subscription before the store moved to PayNow.
7090
+ */
7091
+ export interface StripeStoreInvoiceDto {
7092
+ /**
7093
+ * The Stripe identifier of the invoice, starting with 'in_'.
7094
+ */
7095
+ id: string;
7096
+ /**
7097
+ * The invoice number printed on the document.
7098
+ */
7099
+ number?: string | null;
7100
+ /**
7101
+ * What the invoice was raised for.
7102
+ */
7103
+ description?: string | null;
7104
+ /**
7105
+ * The lowercase ISO 4217 currency the invoice was raised in.
7106
+ */
7107
+ currency: string;
7108
+ /**
7109
+ * The invoice total in the smallest currency unit.
7110
+ * @format int64
7111
+ */
7112
+ total: number;
7113
+ /**
7114
+ * Whether the invoice has been paid.
7115
+ */
7116
+ is_paid: boolean;
7117
+ /**
7118
+ * When the invoice was created.
7119
+ * @format date-time
7120
+ */
7121
+ created_at: string;
7122
+ }
7123
+ /**
7124
+ * Represents a page of the store's Stripe Billing invoices, newest first.
7125
+ */
7126
+ export interface StripeStoreInvoicesDto {
7127
+ /**
7128
+ * The invoices on this page.
7129
+ */
7130
+ invoices: Array<StripeStoreInvoiceDto>;
7131
+ /**
7132
+ * Whether more invoices follow. Pass the last invoice's 'id' as 'starting_after' to fetch them.
7133
+ */
7134
+ has_more: boolean;
7135
+ }
6698
7136
  /**
6699
7137
  * Represents a billing amount breakdown for a subscription.
6700
7138
  */
@@ -8058,88 +8496,183 @@ export interface UnqueueCommandsResponseDto {
8058
8496
  unqueued_count: number;
8059
8497
  }
8060
8498
  export interface UpdateAffiliateLinkDto {
8499
+ /**
8500
+ * The identifier of the wallet that receives the affiliate commission payouts.
8501
+ */
8061
8502
  wallet_id?: string;
8503
+ /**
8504
+ * Indicates whether the affiliate link is enabled.
8505
+ */
8062
8506
  enabled?: boolean;
8507
+ /**
8508
+ * The unique code associated with the affiliate link.
8509
+ */
8063
8510
  code?: string;
8064
8511
  referer_type?: AffiliateLinkRefererTypeDto;
8065
8512
  /**
8513
+ * The number of days a customer's referral is tracked after following the affiliate link.
8066
8514
  * @format int32
8067
8515
  */
8068
8516
  tracking_length_days?: number;
8517
+ /**
8518
+ * Whether the affiliate earns commission on subscription renewals.
8519
+ * Must be enabled for 'commission_amount_steps' past the first cycle to apply - when disabled, only the initial purchase earns commission.
8520
+ */
8069
8521
  apply_for_subscriptions?: boolean;
8070
8522
  discount_type?: AffiliateLinkDiscountTypeDto;
8071
8523
  /**
8524
+ * The discount amount, in the smallest currency unit (e.g., cents) for fixed discounts, or tenths of a percent (e.g., 125 = 12.5%) for percentage discounts.
8072
8525
  * @format int64
8073
8526
  */
8074
8527
  discount_amount?: number;
8075
8528
  commission_type?: AffiliateLinkCommissionTypeDto;
8076
8529
  /**
8530
+ * The commission amount, in tenths of a percent (e.g., 125 = 12.5%) for percentage commissions.
8077
8531
  * @format int64
8078
8532
  */
8079
8533
  commission_amount?: number;
8534
+ /**
8535
+ * Per-cycle commission overrides. Requires 'apply_for_subscriptions' to be enabled for billing cycles past 1.
8536
+ * When empty, the base commission amount applies to every renewal. When steps are defined, each renewal cycle pays its matching steps amount.
8537
+ * Cycles without a matching step earn no commission, except cycles past the last step when 'last_commission_amount_step_repeats' is true.
8538
+ */
8080
8539
  commission_amount_steps?: Array<AffiliateLinkCommissionAmountStepDto>;
8540
+ /**
8541
+ * Whether the last commission amount steps rate continues to apply to all billing cycles past the last step.
8542
+ * When false, cycles past the last step earn no commission.
8543
+ */
8081
8544
  last_commission_amount_step_repeats?: boolean;
8082
8545
  }
8083
8546
  export interface UpdateCheckoutStyleDto {
8547
+ /**
8548
+ * The CSS font family used for text on the checkout, or null to use the default font.
8549
+ */
8084
8550
  font_family?: string;
8085
8551
  /**
8552
+ * The corner radius applied to buttons, inputs and panels on the checkout, in pixels, or null to
8553
+ * use the default radius.
8086
8554
  * @format int32
8087
8555
  */
8088
- border_radius?: number | null;
8556
+ border_radius?: number;
8557
+ /**
8558
+ * The accent colour used for primary buttons and highlights, as a CSS colour value, or null to
8559
+ * use the default.
8560
+ */
8089
8561
  color_primary?: string;
8562
+ /**
8563
+ * The background colour of panels and cards on the checkout, as a CSS colour value, or null to
8564
+ * use the default.
8565
+ */
8090
8566
  color_elements?: string;
8567
+ /**
8568
+ * The background colour of input fields, as a CSS colour value, or null to use the default.
8569
+ */
8091
8570
  color_input?: string;
8571
+ /**
8572
+ * The background colour of the checkout page, as a CSS colour value, or null to use the default.
8573
+ */
8092
8574
  color_background?: string;
8575
+ /**
8576
+ * The colour of text on the checkout, as a CSS colour value, or null to use the default.
8577
+ */
8093
8578
  color_text?: string;
8579
+ /**
8580
+ * The colour of borders and outlines on the checkout, as a CSS colour value, or null to use the
8581
+ * default.
8582
+ */
8094
8583
  color_outline?: string;
8095
8584
  }
8096
8585
  export interface UpdateCouponDto {
8586
+ /**
8587
+ * Indicates whether the coupon is enabled.
8588
+ */
8097
8589
  enabled?: boolean;
8590
+ /**
8591
+ * The unique code associated with the coupon.
8592
+ */
8098
8593
  code?: string;
8594
+ /**
8595
+ * A note or internal description of the coupon.
8596
+ */
8099
8597
  note?: string;
8100
8598
  duration?: CouponDurationDto;
8101
8599
  /**
8600
+ * The number of months the coupon is valid for, used if the duration is repeating.
8102
8601
  * @format int32
8602
+ * @deprecated
8103
8603
  */
8104
- duration_in_months?: number | null;
8604
+ duration_in_months?: number;
8105
8605
  /**
8606
+ * The number of subscription renewals the coupon is valid for, used if the duration is repeating.
8106
8607
  * @format int32
8107
8608
  */
8108
- duration_in_intervals?: number | null;
8609
+ duration_in_intervals?: number;
8109
8610
  discount_type?: CouponDiscountTypeDto;
8110
8611
  /**
8612
+ * The discount amount, interpreted based on discount type: for a fixed-amount
8613
+ * discount, this is in the smallest currency unit (e.g., cents); for a
8614
+ * percentage discount, this is in tenths of a percent (e.g., 100 = 10.0% off).
8111
8615
  * @format int64
8112
8616
  */
8113
8617
  discount_amount?: number;
8618
+ /**
8619
+ * Indicates whether the discount should be applied individually to required tags or products.
8620
+ */
8114
8621
  discount_apply_individually?: boolean;
8622
+ /**
8623
+ * Indicates whether the discount is applied before existing sales.
8624
+ */
8115
8625
  discount_apply_before_sales?: boolean;
8626
+ /**
8627
+ * A list of product IDs the coupon applies to.
8628
+ */
8116
8629
  apply_to_products?: Array<FlakeId>;
8630
+ /**
8631
+ * A list of tag IDs the coupon applies to.
8632
+ */
8117
8633
  apply_to_tags?: Array<FlakeId>;
8118
8634
  usable_by_customer_id?: FlakeId;
8119
8635
  /**
8636
+ * The minimum order value required to use the coupon.
8120
8637
  * @format int64
8121
8638
  */
8122
8639
  minimum_order_value?: number;
8640
+ /**
8641
+ * Indicates whether a global redemption limit is enabled.
8642
+ */
8123
8643
  redeem_limit_store_enabled?: boolean;
8124
8644
  /**
8645
+ * The maximum number of times the coupon can be redeemed across the store.
8125
8646
  * @format int64
8126
8647
  */
8127
8648
  redeem_limit_store_amount?: number;
8649
+ /**
8650
+ * Indicates whether a per-customer redemption limit is enabled.
8651
+ */
8128
8652
  redeem_limit_customer_enabled?: boolean;
8129
8653
  /**
8654
+ * The maximum number of times the coupon can be redeemed per customer.
8130
8655
  * @format int64
8131
8656
  */
8132
8657
  redeem_limit_customer_amount?: number;
8658
+ /**
8659
+ * Indicates whether the coupon can be used for one-time purchases.
8660
+ */
8133
8661
  usable_on_one_time_purchase?: boolean;
8662
+ /**
8663
+ * Indicates whether the coupon can be used for subscriptions.
8664
+ */
8134
8665
  usable_on_subscription?: boolean;
8135
8666
  /**
8667
+ * The date and time when the coupon becomes valid.
8136
8668
  * @format date-time
8137
8669
  */
8138
- usable_at?: string | null;
8670
+ usable_at?: string;
8139
8671
  /**
8672
+ * The date and time when the coupon expires.
8140
8673
  * @format date-time
8141
8674
  */
8142
- expires_at?: string | null;
8675
+ expires_at?: string;
8143
8676
  }
8144
8677
  export interface UpdateEmailBrandingDto {
8145
8678
  color?: string;
@@ -8151,47 +8684,89 @@ export interface UpdateEmailTemplateDto {
8151
8684
  content?: string;
8152
8685
  }
8153
8686
  export interface UpdateGameServerConsoleDto {
8687
+ /**
8688
+ * Indicates whether PayNow keeps the connection to the console open.
8689
+ */
8154
8690
  enabled?: boolean;
8691
+ /**
8692
+ * The hostname or IP address the game server's console listens on.
8693
+ */
8155
8694
  host?: string;
8156
8695
  /**
8696
+ * The port the game server's console listens on.
8157
8697
  * @format int32
8158
8698
  */
8159
8699
  port?: number;
8700
+ /**
8701
+ * The password used to authenticate with the console, or null when it requires none.
8702
+ */
8160
8703
  password?: string;
8704
+ /**
8705
+ * Indicates whether the connection is made over TLS.
8706
+ */
8161
8707
  secure?: boolean;
8162
8708
  }
8163
8709
  export interface UpdateGameServerDto {
8710
+ /**
8711
+ * The display name of the game server.
8712
+ */
8164
8713
  name?: string;
8714
+ /**
8715
+ * Indicates whether the game server is currently enabled.
8716
+ */
8165
8717
  enabled?: boolean;
8166
8718
  }
8167
8719
  export interface UpdateGiftCardDto {
8720
+ /**
8721
+ * Indicates whether the gift card is currently enabled and can be used.
8722
+ */
8168
8723
  enabled?: boolean;
8724
+ /**
8725
+ * The unique code that customers use to redeem the gift card.
8726
+ * @example "GIFT-2024-ABCD1234"
8727
+ */
8169
8728
  code?: string;
8729
+ /**
8730
+ * Optional note or description associated with the gift card.
8731
+ */
8170
8732
  note?: string;
8171
8733
  /**
8734
+ * The current balance remaining on the gift card in cents.
8172
8735
  * @format int64
8736
+ * @example 2500
8173
8737
  */
8174
8738
  balance?: number;
8175
8739
  /**
8740
+ * The date and time when the gift card becomes usable.
8176
8741
  * @format date-time
8177
8742
  */
8178
8743
  usable_at?: string;
8179
8744
  /**
8745
+ * The date and time when the gift card expires, if applicable.
8180
8746
  * @format date-time
8181
8747
  */
8182
- expires_at?: string | null;
8748
+ expires_at?: string;
8183
8749
  }
8184
8750
  export interface UpdateInviteDto {
8185
8751
  role_id?: FlakeId;
8752
+ /**
8753
+ * The email address the invite was sent to.
8754
+ */
8186
8755
  user_email?: string;
8187
8756
  }
8188
8757
  export interface UpdateNavLinkDto {
8189
8758
  tag_id?: FlakeId;
8759
+ /**
8760
+ * The 'node_id' of the link this one nests under, or null when it sits at the top level of the
8761
+ * navigation.
8762
+ */
8190
8763
  parent_node_id?: string;
8191
8764
  /**
8765
+ * The position of the link among its siblings, lowest first, or null when no explicit order has
8766
+ * been set.
8192
8767
  * @format int32
8193
8768
  */
8194
- order?: number | null;
8769
+ order?: number;
8195
8770
  }
8196
8771
  export interface UpdateNavLinkOrderChangeDto {
8197
8772
  node_id: FlakeId;
@@ -8212,56 +8787,123 @@ export interface UpdateRoleDto {
8212
8787
  permissions?: Record<string, boolean>;
8213
8788
  }
8214
8789
  export interface UpdateSaleDto {
8790
+ /**
8791
+ * Indicates whether the sale is enabled.
8792
+ */
8215
8793
  enabled?: boolean;
8794
+ /**
8795
+ * The name of the sale.
8796
+ */
8216
8797
  name?: string;
8217
8798
  discount_type?: SaleDiscountTypeDto;
8218
8799
  /**
8800
+ * The discount value. For percent discounts, this represents the percentage
8801
+ * multiplied by 10 (e.g., 250 = 25%). For amount discounts, this represents
8802
+ * the value in the smallest currency unit (e.g., cents).
8219
8803
  * @format int32
8220
8804
  */
8221
8805
  discount_amount?: number;
8222
8806
  duration?: SaleDurationDto;
8223
8807
  /**
8808
+ * The number of subscription intervals the coupon is valid for, used if the duration is repeating.
8224
8809
  * @format int32
8225
8810
  */
8226
8811
  duration_in_intervals?: number;
8812
+ /**
8813
+ * A list of product IDs the sale applies to.
8814
+ */
8227
8815
  apply_to_product_ids?: Array<FlakeId>;
8816
+ /**
8817
+ * A list of tag IDs the sale applies to.
8818
+ */
8228
8819
  apply_to_tag_ids?: Array<FlakeId>;
8229
8820
  /**
8821
+ * The minimum order value required to apply the sale, in the smallest currency unit (e.g., cents).
8230
8822
  * @format int32
8231
8823
  */
8232
8824
  minimum_order_value?: number;
8233
8825
  /**
8826
+ * The date and time when the sale begins.
8234
8827
  * @format date-time
8235
8828
  */
8236
8829
  begins_at?: string;
8237
8830
  /**
8831
+ * The date and time when the sale ends.
8238
8832
  * @format date-time
8239
8833
  */
8240
- ends_at?: string | null;
8834
+ ends_at?: string;
8241
8835
  }
8242
8836
  export interface UpdateStoreDto {
8837
+ /**
8838
+ * The URL-safe slug used to identify the store (e.g. "my-rust-server").
8839
+ */
8243
8840
  slug?: string;
8841
+ /**
8842
+ * The display name of the store.
8843
+ */
8244
8844
  name?: string;
8845
+ /**
8846
+ * The platform this store is associated with (e.g. "rust", "minecraft").
8847
+ */
8245
8848
  platform?: string;
8849
+ /**
8850
+ * Alias for 'platform'. Returns the platform identifier as a game name.
8851
+ */
8246
8852
  game?: string;
8853
+ /**
8854
+ * A human-readable description of the store shown to customers and PayNow.
8855
+ */
8247
8856
  description?: string;
8857
+ /**
8858
+ * The store's public website URL.
8859
+ */
8248
8860
  website_url?: string;
8861
+ /**
8862
+ * General contact email address for the store.
8863
+ */
8249
8864
  contact_email?: string;
8865
+ /**
8866
+ * Dedicated support email address for customer inquiries.
8867
+ */
8250
8868
  support_email?: string;
8869
+ /**
8870
+ * URL to the store's support portal or help page.
8871
+ */
8251
8872
  support_url?: string;
8873
+ /**
8874
+ * The integration type used by the store.
8875
+ */
8252
8876
  integration_type?: string;
8877
+ /**
8878
+ * When set to true, the store is processing real transactions in live mode.
8879
+ */
8253
8880
  live_mode?: boolean;
8881
+ /**
8882
+ * Username prefix used to identify Minecraft Bedrock players (e.g. ".").
8883
+ */
8254
8884
  minecraft_bedrock_username_prefix?: string;
8255
8885
  }
8256
8886
  export interface UpdateStoreMemberDto {
8257
8887
  role_id: FlakeId;
8258
8888
  }
8259
8889
  export interface UpdateStorePaymentSettingsDto {
8890
+ /**
8891
+ * Whether to show all available payment methods for subscription purchases.
8892
+ */
8260
8893
  show_all_payment_methods_for_subscriptions?: boolean;
8894
+ /**
8895
+ * Whether store pricing is tax-inclusive.
8896
+ */
8261
8897
  store_tax_inclusive_pricing?: boolean;
8262
8898
  block_prepaid_cards?: PrepaidCardsBlockingTypeDto;
8263
8899
  promo_code_stacking_behavior?: StorePromoCodeStackingBehaviorDto;
8900
+ /**
8901
+ * Whether the 'Adaptive Currency' feature is enabled.
8902
+ */
8264
8903
  adaptive_currency_enabled?: boolean;
8904
+ /**
8905
+ * Whether the displayed currency on the storefront should be the Adaptive Currency by default.
8906
+ */
8265
8907
  show_adaptive_currency_on_storefront?: boolean;
8266
8908
  }
8267
8909
  export interface UpdateStoreUpsellSettingsDto {
@@ -8308,9 +8950,13 @@ export interface UpdateTierGroupRequestDto {
8308
8950
  export interface UpdateTrialEligibilityOverrideDto {
8309
8951
  product_id?: FlakeId;
8310
8952
  /**
8953
+ * The date and time when this override expires and is no longer valid.
8311
8954
  * @format date-time
8312
8955
  */
8313
8956
  expires_at?: string;
8957
+ /**
8958
+ * An optional note or comment about this override.
8959
+ */
8314
8960
  note?: string;
8315
8961
  }
8316
8962
  export interface UpdateWebhookDto {
@@ -8323,34 +8969,77 @@ export interface UpdateWebhookDto {
8323
8969
  discord_format?: WebhookDiscordFormatDto;
8324
8970
  }
8325
8971
  export interface UpdateWebstoreModuleDto {
8972
+ /**
8973
+ * Indicates whether the module is rendered. A disabled module keeps its settings but is not
8974
+ * shown to customers.
8975
+ */
8326
8976
  enabled?: boolean;
8977
+ /**
8978
+ * The kind of module. Decides which 'settings' it accepts and how the template renders it.
8979
+ */
8327
8980
  type?: string;
8328
- settings?: null;
8329
8981
  /**
8982
+ * The module's type-specific configuration as a JSON object, or null when it has none.
8983
+ */
8984
+ settings?: unknown;
8985
+ /**
8986
+ * The date and time the module starts being shown, or null to show it as soon as it is enabled.
8330
8987
  * @format date-time
8331
8988
  */
8332
- starts_at?: string | null;
8989
+ starts_at?: string;
8333
8990
  /**
8991
+ * The date and time the module stops being shown, or null to show it indefinitely.
8334
8992
  * @format date-time
8335
8993
  */
8336
- ends_at?: string | null;
8994
+ ends_at?: string;
8337
8995
  }
8338
8996
  export interface UpdateWebstoreTemplateDto {
8997
+ /**
8998
+ * The display name of the template.
8999
+ */
8339
9000
  name?: string;
8340
9001
  compatibility_mode?: WebstoreTemplateCompatibilityModeDto;
8341
9002
  }
8342
9003
  export interface UpdateWebstoreTemplateFileDto {
9004
+ /**
9005
+ * The name of the file within the template, without an extension. The extension follows from
9006
+ * 'content_type'.
9007
+ */
8343
9008
  file_name?: string;
9009
+ /**
9010
+ * The MIME type of the file (e.g., text/html, text/css, application/json). Decides how the file
9011
+ * is served and whether it is public.
9012
+ */
8344
9013
  content_type?: string;
9014
+ /**
9015
+ * The text content of the file. Null when files are listed; content is only returned when a
9016
+ * single file is fetched or the template is fetched with 'include' set to 'files'.
9017
+ */
8345
9018
  content?: string;
8346
9019
  }
9020
+ /**
9021
+ * Represents a request to replace the content of a template file.
9022
+ */
8347
9023
  export interface UpdateWebstoreTemplateFileRequestDto {
9024
+ /**
9025
+ * The full new text content of the file. It replaces the existing content in its entirety.
9026
+ */
8348
9027
  content: string;
8349
9028
  }
8350
9029
  export interface UpdateWebstoreTemplateVariableDto {
9030
+ /**
9031
+ * The label shown for the variable in the editor.
9032
+ */
8351
9033
  name?: string;
9034
+ /**
9035
+ * The name the template's files reference the value by.
9036
+ */
8352
9037
  variable?: string;
8353
9038
  type?: WebstoreTemplateVariableTypeDto;
9039
+ /**
9040
+ * The value of the variable, always stored as a string and parsed according to 'type' when the
9041
+ * template renders.
9042
+ */
8354
9043
  value?: string;
8355
9044
  }
8356
9045
  export type UpsellDiscountTypeDto = "unknown" | "none" | "fixed" | "percentage";
@@ -8667,6 +9356,12 @@ export interface ValidationError {
8667
9356
  */
8668
9357
  validation: string;
8669
9358
  }
9359
+ /**
9360
+ * Specifies how a Discord webhook renders its message.
9361
+ * - `Invalid`: No format specified. This value is typically used as a default or uninitialized state.
9362
+ * - `Embed`: The message is sent as a rich embed with the configured title, colour and description.
9363
+ * - `Text`: The message is sent as plain text rendered from the description template.
9364
+ */
8670
9365
  export type WebhookDiscordFormatDto = "Invalid" | "Embed" | "Text";
8671
9366
  export type WebhookEventType = "OnIgnore" | "OnOrderCompleted" | "OnRefund" | "OnChargeback" | "OnDeliveryItemAdded" | "OnDeliveryItemActivated" | "OnDeliveryItemUsed" | "OnDeliveryItemRevoked" | "OnSubscriptionActivated" | "OnSubscriptionRenewed" | "OnSubscriptionCanceled" | "OnDiscordOrderActionsQueued" | "OnConnectedUserRegistered" | "OnConnectedUserBecamePayable" | "OnConnectedUserPayoutCreated" | "OnConnectedUserPayoutCompleted" | "OnConnectedUserTransactionInserted" | "OnConnectedUserBecameUnpayable" | "OnTrialActivated" | "OnTrialCompleted" | "OnTrialCanceled" | "OnPurchaseFollowUpAttemptEmailSent" | "OnPurchaseFollowUpAttemptSucceeded" | "OnAbandonedCheckoutRecoveryAttemptEmailSent" | "OnAbandonedCheckoutRecoveryAttemptSucceeded" | "OnChargebackClosed" | "OnDeliveryItemExpired" | "OnDeliveryItemRenewed" | "OnConnectedUserTrustStatusChanged" | "OnPaymentCompleted" | "OnPaymentFailed";
8672
9367
  export interface WebhookHistoryDto {
@@ -8681,20 +9376,46 @@ export interface WebhookHistoryDto {
8681
9376
  */
8682
9377
  export type WebhooksGetHistoryQuery = {
8683
9378
  /**
9379
+ * The page of history to retrieve.
8684
9380
  * @format int32
8685
9381
  */
8686
9382
  page?: number;
9383
+ /**
9384
+ * Filters the history to a specific delivery state.
9385
+ */
8687
9386
  state?: string;
8688
9387
  };
8689
9388
  export type WebhookState = "success" | "pending" | "failed" | "all";
9389
+ /**
9390
+ * Represents a webhook subscription: an endpoint that receives a request whenever one of the
9391
+ * subscribed events happens in the store.
9392
+ */
8690
9393
  export interface WebhookSubscriptionDto {
8691
9394
  id: FlakeId;
9395
+ /**
9396
+ * The URL each event is delivered to. For the 'discord_v1' type this is the Discord webhook URL.
9397
+ */
8692
9398
  url: string;
9399
+ /**
9400
+ * The secret used to sign each delivery. Receivers use it to verify the request's signature
9401
+ * header and confirm it came from PayNow.
9402
+ */
8693
9403
  secret: string;
8694
9404
  subscribed_to: WebhookEventType;
8695
9405
  type: WebhookType;
9406
+ /**
9407
+ * The template rendered into the body of the Discord message, with webhook variables substituted.
9408
+ * Only used by the 'discord_v1' type.
9409
+ */
8696
9410
  discord_description_template?: string | null;
9411
+ /**
9412
+ * The title of the Discord embed. Only used by the 'discord_v1' type with the 'embed' format.
9413
+ */
8697
9414
  discord_title?: string | null;
9415
+ /**
9416
+ * The accent colour of the Discord embed, as a hex colour. Only used by the 'discord_v1' type
9417
+ * with the 'embed' format.
9418
+ */
8698
9419
  discord_color?: string | null;
8699
9420
  discord_format?: WebhookDiscordFormatDto;
8700
9421
  }
@@ -8864,6 +9585,9 @@ export interface WebstoreDto {
8864
9585
  * Query parameters
8865
9586
  */
8866
9587
  export type WebstoreGetWebstoreTemplateQuery = {
9588
+ /**
9589
+ * Set to 'files' to include the template's files in the response.
9590
+ */
8867
9591
  include?: string;
8868
9592
  };
8869
9593
  /**
@@ -8871,154 +9595,367 @@ export type WebstoreGetWebstoreTemplateQuery = {
8871
9595
  */
8872
9596
  export type WebstoreGetWebstoreTemplateUploadUrlQuery = {
8873
9597
  /**
9598
+ * The size of the archive to be uploaded, in bytes.
8874
9599
  * @format int64
8875
9600
  */
8876
9601
  content_length?: number;
8877
9602
  };
9603
+ /**
9604
+ * Represents a module on a webstore: a self-contained block of content or functionality the
9605
+ * template renders.
9606
+ */
8878
9607
  export interface WebstoreModuleDto {
8879
9608
  id: FlakeId;
8880
9609
  webstore_id: FlakeId;
9610
+ /**
9611
+ * Indicates whether the module is rendered. A disabled module keeps its settings but is not
9612
+ * shown to customers.
9613
+ */
8881
9614
  enabled: boolean;
9615
+ /**
9616
+ * The kind of module. Decides which 'settings' it accepts and how the template renders it.
9617
+ */
8882
9618
  type: string;
8883
9619
  /**
9620
+ * The position of the module among the webstore's modules, lowest first.
8884
9621
  * @format int32
8885
9622
  */
8886
9623
  sort_order: number;
9624
+ /**
9625
+ * The module's type-specific configuration as a JSON object, or null when it has none.
9626
+ */
8887
9627
  settings?: null;
8888
9628
  /**
9629
+ * The date and time the module starts being shown, or null to show it as soon as it is enabled.
8889
9630
  * @format date-time
8890
9631
  */
8891
9632
  starts_at?: string | null;
8892
9633
  /**
9634
+ * The date and time the module stops being shown, or null to show it indefinitely.
8893
9635
  * @format date-time
8894
9636
  */
8895
9637
  ends_at?: string | null;
8896
9638
  /**
9639
+ * The date and time the module was created.
8897
9640
  * @format date-time
8898
9641
  */
8899
9642
  created_at: string;
8900
9643
  /**
9644
+ * The date and time the module was last updated.
8901
9645
  * @format date-time
8902
9646
  */
8903
9647
  updated_at: string;
8904
9648
  }
9649
+ /**
9650
+ * Specifies the dialect a webstore template is written in.
9651
+ * - `invalid`: No compatibility mode specified. This value is typically used as a default or uninitialized state.
9652
+ * - `paynow`: A native PayNow template.
9653
+ * - `tebex`: A template written for Tebex, rendered through a compatibility layer so it works without changes.
9654
+ */
8905
9655
  export type WebstoreTemplateCompatibilityModeDto = "invalid" | "paynow" | "tebex";
9656
+ /**
9657
+ * Represents one file of a template after compilation.
9658
+ */
8906
9659
  export interface WebstoreTemplateCompiledFileDto {
9660
+ /**
9661
+ * The name of the file within the template.
9662
+ */
8907
9663
  file_name: string;
9664
+ /**
9665
+ * The MIME type of the file.
9666
+ */
8908
9667
  content_type: string;
9668
+ /**
9669
+ * The compiled output of the file, or null when compilation failed.
9670
+ */
8909
9671
  compiled?: string | null;
9672
+ /**
9673
+ * The error compilation raised, or null when the file compiled successfully.
9674
+ */
8910
9675
  error?: string | null;
8911
9676
  }
9677
+ /**
9678
+ * Represents a template a webstore can render: a named set of pages, styles, scripts and assets
9679
+ * served to customers while it is the webstore's current template.
9680
+ */
8912
9681
  export interface WebstoreTemplateDto {
8913
9682
  id: FlakeId;
8914
9683
  webstore_id: FlakeId;
9684
+ /**
9685
+ * The display name of the template.
9686
+ */
8915
9687
  name: string;
9688
+ /**
9689
+ * Indicates whether the template is shared with every store, as PayNow's built-in templates are,
9690
+ * rather than private to this webstore.
9691
+ */
8916
9692
  is_public: boolean;
8917
9693
  compatibility_mode: WebstoreTemplateCompatibilityModeDto;
8918
9694
  /**
9695
+ * The date and time the template was created.
8919
9696
  * @format date-time
8920
9697
  */
8921
9698
  created_at: string;
8922
9699
  /**
9700
+ * The date and time the template was last updated.
8923
9701
  * @format date-time
8924
9702
  */
8925
9703
  updated_at: string;
9704
+ /**
9705
+ * The template's files, content included. Only returned when a single template is fetched with
9706
+ * 'include' set to 'files'; null otherwise.
9707
+ */
8926
9708
  template_files?: Array<WebstoreTemplateFileDto> | null;
8927
9709
  }
9710
+ /**
9711
+ * Represents one file within a webstore template, such as a page, stylesheet, script or image.
9712
+ */
8928
9713
  export interface WebstoreTemplateFileDto {
8929
9714
  id: FlakeId;
8930
9715
  template_id: FlakeId;
9716
+ /**
9717
+ * The name of the file within the template, without an extension. The extension follows from
9718
+ * 'content_type'.
9719
+ */
8931
9720
  file_name: string;
9721
+ /**
9722
+ * The MIME type of the file (e.g., text/html, text/css, application/json). Decides how the file
9723
+ * is served and whether it is public.
9724
+ */
8932
9725
  content_type: string;
9726
+ /**
9727
+ * Indicates whether the file is served directly to browsers as a static asset. Pages and the
9728
+ * schema file are private and rendered on the server; styles, scripts and images are public.
9729
+ */
8933
9730
  is_public: boolean;
9731
+ /**
9732
+ * Indicates whether the file can be deleted. Files the template cannot render without are not
9733
+ * deletable.
9734
+ */
8934
9735
  is_deletable: boolean;
9736
+ /**
9737
+ * The text content of the file. Null when files are listed; content is only returned when a
9738
+ * single file is fetched or the template is fetched with 'include' set to 'files'.
9739
+ */
8935
9740
  content?: string | null;
8936
9741
  /**
9742
+ * The date and time the file was created.
8937
9743
  * @format date-time
8938
9744
  */
8939
9745
  created_at: string;
8940
9746
  /**
9747
+ * The date and time the file was last updated.
8941
9748
  * @format date-time
8942
9749
  */
8943
9750
  updated_at: string;
8944
9751
  }
9752
+ /**
9753
+ * Represents the newest version available for a template installed from the marketplace.
9754
+ */
8945
9755
  export interface WebstoreTemplateLatestVersionDto {
9756
+ /**
9757
+ * The newest published version of the template, or null when no update is available or the
9758
+ * template was not installed from the marketplace.
9759
+ */
8946
9760
  version?: string | null;
8947
9761
  }
9762
+ /**
9763
+ * Represents a template compiled and ready to render.
9764
+ */
8948
9765
  export interface WebstoreTemplatePreviewDto {
9766
+ /**
9767
+ * The template's files after compilation, including any that failed to compile.
9768
+ */
8949
9769
  compiled: Array<WebstoreTemplateCompiledFileDto>;
8950
9770
  schema?: WebstoreTemplateSchemaDto;
8951
9771
  compatibilityMode: WebstoreTemplateCompatibilityModeDto;
8952
9772
  /**
9773
+ * The date and time the template was compiled.
8953
9774
  * @format date-time
8954
9775
  */
8955
9776
  compiled_at: string;
8956
9777
  }
9778
+ /**
9779
+ * Represents the data the editor uses to preview a template.
9780
+ */
8957
9781
  export interface WebstoreTemplatePreviewResponseDto {
8958
9782
  template: WebstoreTemplatePreviewDto;
8959
9783
  variables: WebstoreTemplatePreviewVariablesDto;
8960
9784
  }
9785
+ /**
9786
+ * Represents the variable values a template preview renders with.
9787
+ */
8961
9788
  export interface WebstoreTemplatePreviewVariablesDto {
9789
+ /**
9790
+ * The template's variables and their current values.
9791
+ */
8962
9792
  variables: Array<WebstoreTemplateVariableDto>;
8963
9793
  /**
9794
+ * The date and time the variable values were last saved.
8964
9795
  * @format date-time
8965
9796
  */
8966
9797
  saved_at: string;
8967
9798
  }
9799
+ /**
9800
+ * Represents a template's schema, declared by its author: who maintains it, how it receives updates
9801
+ * and the settings a store can configure without editing the template's files.
9802
+ */
8968
9803
  export interface WebstoreTemplateSchemaDto {
9804
+ /**
9805
+ * The name of the template's author.
9806
+ */
8969
9807
  author: string;
9808
+ /**
9809
+ * The email address to contact for support with the template, or null when none is given.
9810
+ */
8970
9811
  support_email?: string | null;
9812
+ /**
9813
+ * The URL to visit for support with the template, or null when none is given.
9814
+ */
8971
9815
  support_url?: string | null;
8972
9816
  updates?: WebstoreTemplateSchemaUpdatesDto;
9817
+ /**
9818
+ * The sections of settings the template exposes, in display order.
9819
+ */
8973
9820
  config: Array<WebstoreTemplateSchemaSectionDto>;
8974
9821
  }
9822
+ /**
9823
+ * Represents one configurable setting in a template's schema.
9824
+ */
8975
9825
  export interface WebstoreTemplateSchemaOptionDto {
9826
+ /**
9827
+ * The key the setting's value is stored under. Use it as the variable name when setting values
9828
+ * through the schema variables endpoint.
9829
+ */
8976
9830
  id: string;
9831
+ /**
9832
+ * The label shown for the setting.
9833
+ */
8977
9834
  name: string;
9835
+ /**
9836
+ * A longer explanation of the setting, or null when the template gives none.
9837
+ */
8978
9838
  description?: string | null;
9839
+ /**
9840
+ * The kind of control used to edit the setting (e.g., text, toggle, select, color).
9841
+ */
8979
9842
  type: string;
9843
+ /**
9844
+ * The value used while the store has not set one, or null when there is no default.
9845
+ */
8980
9846
  default?: null;
9847
+ /**
9848
+ * The choices a select-style setting offers. Empty for other kinds of setting.
9849
+ */
8981
9850
  values: Array<string>;
9851
+ /**
9852
+ * Indicates whether a text setting only accepts numbers, or null when it does not apply.
9853
+ */
8982
9854
  numeric?: boolean | null;
9855
+ /**
9856
+ * Indicates whether a text setting accepts multiple lines, or null when it does not apply.
9857
+ */
8983
9858
  multiline?: boolean | null;
8984
9859
  /**
9860
+ * The lowest value a numeric setting accepts, or null when it is unbounded.
8985
9861
  * @format double
8986
9862
  */
8987
9863
  min?: number | null;
8988
9864
  /**
9865
+ * The highest value a numeric setting accepts, or null when it is unbounded.
8989
9866
  * @format double
8990
9867
  */
8991
9868
  max?: number | null;
9869
+ /**
9870
+ * The settings nested under this one. Empty when it has none.
9871
+ */
8992
9872
  nested_options: Array<WebstoreTemplateSchemaOptionDto>;
8993
9873
  }
9874
+ /**
9875
+ * Represents a group of related settings in a template's schema.
9876
+ */
8994
9877
  export interface WebstoreTemplateSchemaSectionDto {
9878
+ /**
9879
+ * The heading shown above the section.
9880
+ */
8995
9881
  header: string;
9882
+ /**
9883
+ * The settings in the section, in display order.
9884
+ */
8996
9885
  options: Array<WebstoreTemplateSchemaOptionDto>;
8997
9886
  }
9887
+ /**
9888
+ * Represents how a template receives updates from its author.
9889
+ */
8998
9890
  export interface WebstoreTemplateSchemaUpdatesDto {
9891
+ /**
9892
+ * Indicates whether the template can be updated in place.
9893
+ */
8999
9894
  supported: boolean;
9895
+ /**
9896
+ * Indicates whether the newest available version can be looked up before updating.
9897
+ */
9000
9898
  version_check_supported: boolean;
9899
+ /**
9900
+ * The version of the template currently installed, or null when the template does not declare
9901
+ * one.
9902
+ */
9001
9903
  version?: string | null;
9904
+ /**
9905
+ * The URL of the GitHub repository updates are pulled from, or null when updates do not come from
9906
+ * GitHub.
9907
+ */
9002
9908
  github_url?: string | null;
9909
+ /**
9910
+ * The branch of the repository updates are pulled from.
9911
+ */
9003
9912
  github_branch: string;
9913
+ /**
9914
+ * The token used to read a private repository, or null when the repository is public.
9915
+ */
9004
9916
  github_token?: string | null;
9005
9917
  }
9918
+ /**
9919
+ * Represents a value a template's files can reference, letting a store customise a template without
9920
+ * editing its files.
9921
+ */
9006
9922
  export interface WebstoreTemplateVariableDto {
9007
9923
  id: FlakeId;
9008
9924
  template_id: FlakeId;
9009
9925
  webstore_id: FlakeId;
9926
+ /**
9927
+ * The label shown for the variable in the editor.
9928
+ */
9010
9929
  name: string;
9930
+ /**
9931
+ * The name the template's files reference the value by.
9932
+ */
9011
9933
  variable: string;
9012
9934
  type: WebstoreTemplateVariableTypeDto;
9935
+ /**
9936
+ * The value of the variable, always stored as a string and parsed according to 'type' when the
9937
+ * template renders.
9938
+ */
9013
9939
  value: string;
9014
9940
  /**
9941
+ * The date and time the variable was created.
9015
9942
  * @format date-time
9016
9943
  */
9017
9944
  created_at: string;
9018
9945
  /**
9946
+ * The date and time the variable was last updated.
9019
9947
  * @format date-time
9020
9948
  */
9021
9949
  updated_at: string;
9022
9950
  }
9951
+ /**
9952
+ * Specifies how a template variable's 'value' is interpreted when the template renders.
9953
+ * - `invalid`: No type specified. This value is typically used as a default or uninitialized state.
9954
+ * - `string`: The value is used as plain text.
9955
+ * - `html`: The value is inserted as raw HTML without escaping.
9956
+ * - `number`: The value is parsed as a number.
9957
+ * - `boolean`: The value is parsed as a boolean; 'true' is true, anything else is false.
9958
+ * - `json`: The value is parsed as a JSON document.
9959
+ */
9023
9960
  export type WebstoreTemplateVariableTypeDto = "invalid" | "string" | "html" | "number" | "boolean" | "json";
9024
9961
  //# sourceMappingURL=types.d.ts.map