@paynow-gg/typescript-sdk 2.1.2 → 2.1.4

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 BillingGetStoreInvoicesQuery = {
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;
@@ -2971,15 +3342,6 @@ export type InvoicesListInvoicesQuery = {
2971
3342
  };
2972
3343
  export type InvoiceStatusDto = "invalid" | "pending" | "generated" | "failed";
2973
3344
  export type InvoiceTypeDto = "invalid" | "invoice" | "credit_note";
2974
- /**
2975
- * Represents a freshly issued link to a hosted invoice.
2976
- */
2977
- export interface InvoiceUrlDto {
2978
- /**
2979
- * The hosted invoice URL.
2980
- */
2981
- url: string;
2982
- }
2983
3345
  /**
2984
3346
  * Klarna payment method details
2985
3347
  */
@@ -3152,13 +3514,32 @@ export interface MoneyDto_V2 {
3152
3514
  */
3153
3515
  amount_minor_units: number;
3154
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
+ */
3155
3521
  export interface NavLinkDto {
3522
+ /**
3523
+ * The unique identifier of the navigation link.
3524
+ */
3156
3525
  node_id: string;
3157
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
+ */
3158
3531
  parent_node_id?: string | null;
3532
+ /**
3533
+ * The slug of the tag the link points at.
3534
+ */
3159
3535
  tag_slug: string;
3536
+ /**
3537
+ * The text shown for the link, taken from the tag it points at.
3538
+ */
3160
3539
  name: string;
3161
3540
  /**
3541
+ * The position of the link among its siblings, lowest first, or null when no explicit order has
3542
+ * been set.
3162
3543
  * @format int32
3163
3544
  */
3164
3545
  order?: number | null;
@@ -4168,6 +4549,16 @@ export interface PaymentMethodTypeFeeOverrideDto {
4168
4549
  */
4169
4550
  ends_at?: string | null;
4170
4551
  }
4552
+ /**
4553
+ * A customer portal session scoped to updating the payment method of the store's
4554
+ * active subscription.
4555
+ */
4556
+ export interface PaymentMethodUpdateSessionDto {
4557
+ /**
4558
+ * The URL the store owner has to visit to update the subscription's payment method.
4559
+ */
4560
+ session_url: string;
4561
+ }
4171
4562
  /**
4172
4563
  * Represents payout split results for multi-party payments
4173
4564
  */
@@ -4424,6 +4815,7 @@ export interface PlanDto {
4424
4815
  name: string;
4425
4816
  description?: string | null;
4426
4817
  is_custom: boolean;
4818
+ inherits_from_plan_id?: string | null;
4427
4819
  }
4428
4820
  /**
4429
4821
  * Represents a publicly listed plan a store can subscribe to.
@@ -4488,6 +4880,7 @@ export interface PlanPricingDto {
4488
4880
  * @format date-time
4489
4881
  */
4490
4882
  ends_at?: string | null;
4883
+ revenue_limit_exceeded?: boolean | null;
4491
4884
  }
4492
4885
  export type PlatformCapability = "invalid" | "connected_users";
4493
4886
  export interface PlatformStoreTypeAssociationDetailsDto {
@@ -5828,11 +6221,11 @@ export interface StoreBillingStatusDto {
5828
6221
  revenue_usage: number;
5829
6222
  plan_limits: Record<string, number>;
5830
6223
  feature_flags: Array<string>;
6224
+ alerts: Array<StoreAlertDto>;
5831
6225
  plan: PlanDto;
5832
6226
  plan_pricing: PlanPricingDto;
5833
6227
  subscription?: StoreSubscriptionDto;
5834
- alerts: Array<StoreAlertDto>;
5835
- payment_method?: SubscriptionPaymentMethodDto;
6228
+ payment_method?: PaymentMethodDto;
5836
6229
  }
5837
6230
  /**
5838
6231
  * Query parameters
@@ -5928,130 +6321,496 @@ export interface StoreDto {
5928
6321
  platform_store_type_association?: PlatformStoreTypeAssociationDetailsDto;
5929
6322
  }
5930
6323
  /**
5931
- * Represents a store entity within the storefront system.
6324
+ * A storefront representation of a customer in the PayNow system with their associated profiles and metadata.
5932
6325
  */
5933
- export interface StorefrontStoreDto {
6326
+ export interface StorefrontCustomerDto {
5934
6327
  id: FlakeId;
6328
+ store_id: FlakeId;
6329
+ profile?: CustomerGenericProfileDto;
6330
+ steam_id?: SteamId;
6331
+ steam?: StorefrontCustomerSteamProfileDto;
5935
6332
  /**
5936
- * The URL-friendly identifier for the store, used in store URLs.
5937
- * @example "m0ukas-awesome-store"
6333
+ * The customer's Minecraft UUID, if they have linked their Minecraft account.
6334
+ * Not set for offline Minecraft stores. If the platform type is Minecraft - Geyser,
6335
+ * and the profile is a bedrock account, this will be a UUID generated from the Xbox XUID.
6336
+ * @example "f84c6a79-0a4e-45e0-879b-cd49ebd4c4e2"
5938
6337
  */
5939
- slug: string;
6338
+ minecraft_uuid?: string | null;
6339
+ minecraft?: StorefrontCustomerMinecraftProfileDto;
6340
+ minecraft_platform?: CustomerMinecraftPlatform;
5940
6341
  /**
5941
- * The display name of the store shown to customers.
5942
- * @example "m0uka's awesome store"
6342
+ * The customer's Xbox XUID, if available.
5943
6343
  */
5944
- name: string;
6344
+ xbox_xuid?: string | null;
5945
6345
  /**
5946
- * The platform or the game of the store.
5947
- * @example "rust"
6346
+ * The display name for the customer.
6347
+ * @example "m0uka"
5948
6348
  */
5949
- platform: string;
6349
+ name?: string | null;
6350
+ }
6351
+ /**
6352
+ * A storefront representation of a customers Minecraft profile.
6353
+ */
6354
+ export interface StorefrontCustomerMinecraftProfileDto {
5950
6355
  /**
5951
- * The game of the store. Equivalent to the `platform` for backwards compatibility.
5952
- * @readonly Set by the API; ignored on write.
6356
+ * The UUID of the Minecraft player.
6357
+ * If the platform is Minecraft Offline, this will be the name itself.
6358
+ * If the platform is Minecraft Geyser, and this is a Bedrock account, this ID will be an Xbox XUID.
6359
+ * @example "f84c6a79-0a4e-45e0-879b-cd49ebd4c4e2"
5953
6360
  */
5954
- game: string;
6361
+ id: string;
5955
6362
  /**
5956
- * The three-letter ISO currency code used for pricing in this store.
5957
- * If using the Adaptive Currency feature, this will be updated to reflect customer's local currency
5958
- * (based on passed in IP / country headers).
5959
- * @example "eur"
6363
+ * The username of the Minecraft player.
6364
+ * @example "notch"
5960
6365
  */
5961
- currency: string;
6366
+ name: string;
5962
6367
  /**
5963
- * The three-letter ISO currency code signifying the main currency of the store.
5964
- * @example "usd"
6368
+ * The URL to the player's Minecraft skin rendered as an avatar.
5965
6369
  */
5966
- creator_currency: string;
6370
+ avatar_url: string;
6371
+ }
6372
+ /**
6373
+ * A storefront representation of a customers Steam profile.
6374
+ */
6375
+ export interface StorefrontCustomerSteamProfileDto {
6376
+ id: SteamId;
5967
6377
  /**
5968
- * A detailed description of the store. Only present for some platform types.
6378
+ * The display name of the user on Steam.
5969
6379
  */
5970
- description?: string | null;
6380
+ name: string;
5971
6381
  /**
5972
- * The URL of the store's main website, if not using Hosted Webstores.
6382
+ * The URL to the user's Steam avatar image.
5973
6383
  */
5974
- website_url?: string | null;
6384
+ avatar_url: string;
6385
+ }
6386
+ /**
6387
+ * Data transfer object representing a store order.
6388
+ */
6389
+ export interface StorefrontOrderDto {
6390
+ id: FlakeId;
5975
6391
  /**
5976
- * The email address customers can use to contact store support.
5977
- * @example "support@example.com"
6392
+ * Human-readable identifier for the order.
6393
+ * @readonly Set by the API; ignored on write.
5978
6394
  */
5979
- support_email?: string | null;
6395
+ pretty_id: string;
6396
+ store_id: FlakeId;
6397
+ customer_id: FlakeId;
6398
+ customer: StorefrontCustomerDto;
6399
+ status: OrderStatus;
6400
+ type: OrderType;
6401
+ checkout_id?: FlakeId;
6402
+ subscription_id?: FlakeId;
5980
6403
  /**
5981
- * The URL of the store's support page.
6404
+ * Indicates whether this order is a subscription order.
5982
6405
  */
5983
- support_url?: string | null;
6406
+ is_subscription: boolean;
5984
6407
  /**
5985
- * The type of integration this store uses with external systems.
6408
+ * Currency code used for this order.
5986
6409
  */
5987
- integration_type?: string | null;
6410
+ currency: string;
5988
6411
  /**
5989
- * Indicates whether the store is in live mode (true) or test mode (false).
6412
+ * The total discount amount applied to this order in smallest currency unit
6413
+ * @format int32
6414
+ * @example 500
5990
6415
  */
5991
- live_mode: boolean;
6416
+ discount_amount: number;
5992
6417
  /**
5993
- * The URL to the store's main logo image.
6418
+ * The discount amount formatted as a string
6419
+ * @example "$5.00"
5994
6420
  */
5995
- logo_url?: string | null;
6421
+ discount_amount_str: string;
5996
6422
  /**
5997
- * The URL to the store's square logo image.
6423
+ * The subtotal amount for this order in smallest currency unit
6424
+ * @format int32
6425
+ * @example 9995
5998
6426
  */
5999
- logo_square_url?: string | null;
6427
+ subtotal_amount: number;
6000
6428
  /**
6001
- * The date and time when the store was created.
6002
- * @format date-time
6429
+ * The subtotal amount formatted as a string
6430
+ * @example "$99.95"
6003
6431
  */
6004
- created_at?: string | null;
6432
+ subtotal_amount_str: string;
6005
6433
  /**
6006
- * The date and time when the store was last updated.
6007
- * @format date-time
6008
- */
6009
- updated_at?: string | null;
6434
+ * The tax amount for this order in smallest currency unit
6435
+ * @format int32
6436
+ * @example 999
6437
+ */
6438
+ tax_amount: number;
6439
+ /**
6440
+ * The tax amount formatted as a string
6441
+ * @example "$9.99"
6442
+ */
6443
+ tax_amount_str: string;
6444
+ /**
6445
+ * The total amount for this order in smallest currency unit
6446
+ * @format int32
6447
+ * @example 10494
6448
+ */
6449
+ total_amount: number;
6450
+ /**
6451
+ * The total amount formatted as a string
6452
+ * @example "$104.94"
6453
+ */
6454
+ total_amount_str: string;
6455
+ /**
6456
+ * The amount of gift card value used for this order in smallest currency unit
6457
+ * @format int32
6458
+ * @example 0
6459
+ */
6460
+ giftcard_usage_amount: number;
6461
+ /**
6462
+ * The gift card usage amount formatted as a string
6463
+ * @example "$0.00"
6464
+ */
6465
+ giftcard_usage_amount_str: string;
6466
+ /**
6467
+ * The presentment currency code used for this order (currency shown to customer)
6468
+ * @example "eur"
6469
+ */
6470
+ presentment_currency: string;
6471
+ /**
6472
+ * The presentment subtotal amount in smallest currency unit
6473
+ * @format int32
6474
+ * @example 9995
6475
+ */
6476
+ presentment_subtotal_amount: number;
6477
+ /**
6478
+ * The presentment subtotal amount formatted as a string
6479
+ * @example "€99.95"
6480
+ * @readonly Set by the API; ignored on write.
6481
+ */
6482
+ presentment_subtotal_amount_str: string;
6483
+ /**
6484
+ * The presentment discount amount in smallest currency unit
6485
+ * @format int32
6486
+ * @example 500
6487
+ */
6488
+ presentment_discount_amount: number;
6489
+ /**
6490
+ * The presentment discount amount formatted as a string
6491
+ * @example "€5.00"
6492
+ * @readonly Set by the API; ignored on write.
6493
+ */
6494
+ presentment_discount_amount_str: string;
6495
+ /**
6496
+ * The presentment gift card usage amount in the smallest currency unit
6497
+ * @format int32
6498
+ * @example 0
6499
+ */
6500
+ presentment_giftcard_usage_amount: number;
6501
+ /**
6502
+ * The presentment gift card usage amount formatted as a string
6503
+ * @example "€0.00"
6504
+ * @readonly Set by the API; ignored on write.
6505
+ */
6506
+ presentment_giftcard_usage_amount_str: string;
6507
+ /**
6508
+ * The presentment tax amount in smallest currency unit
6509
+ * @format int32
6510
+ * @example 999
6511
+ */
6512
+ presentment_tax_amount: number;
6513
+ /**
6514
+ * The presentment tax amount formatted as a string
6515
+ * @example "€9.99"
6516
+ * @readonly Set by the API; ignored on write.
6517
+ */
6518
+ presentment_tax_amount_str: string;
6519
+ /**
6520
+ * The presentment total amount in the smallest currency unit
6521
+ * @format int32
6522
+ * @example 10494
6523
+ */
6524
+ presentment_total_amount: number;
6525
+ /**
6526
+ * The presentment total amount formatted as a string
6527
+ * @example "€104.94"
6528
+ * @readonly Set by the API; ignored on write.
6529
+ */
6530
+ presentment_total_amount_str: string;
6531
+ /**
6532
+ * Sequence number of the billing cycle, if this order is associated with a subscription.
6533
+ * @format int32
6534
+ */
6535
+ billing_cycle_sequence?: number | null;
6536
+ /**
6537
+ * Line items associated with this order.
6538
+ */
6539
+ lines: Array<StorefrontOrderLineDto>;
6540
+ /**
6541
+ * Date and time when the order was created.
6542
+ * @format date-time
6543
+ */
6544
+ created_at?: string | null;
6545
+ /**
6546
+ * Date and time when the order was completed.
6547
+ * @format date-time
6548
+ */
6549
+ completed_at?: string | null;
6550
+ /**
6551
+ * Date and time when the order was canceled.
6552
+ * @format date-time
6553
+ */
6554
+ canceled_at?: string | null;
6010
6555
  }
6011
6556
  /**
6012
- * Represents an invoice raised against a store's own subscription.
6557
+ * Represents a line item within an order.
6013
6558
  */
6014
- export interface StoreInvoiceDto {
6559
+ export interface StorefrontOrderLineDto {
6015
6560
  id: FlakeId;
6016
- subscription_id: FlakeId;
6017
- plan_pricing_id: FlakeId;
6561
+ checkout_line_id: FlakeId;
6562
+ subscription_line_id?: FlakeId;
6563
+ trial_id?: FlakeId;
6564
+ product_id: FlakeId;
6565
+ product_version_id: FlakeId;
6018
6566
  /**
6019
- * The payment gateway that issued the invoice.
6567
+ * Name of the product associated with this order line.
6020
6568
  */
6021
- gateway: string;
6569
+ product_name: string;
6022
6570
  /**
6023
- * The identifier of the invoice within the payment gateway.
6571
+ * URL for the product image.
6024
6572
  */
6025
- gateway_invoice_id: string;
6573
+ product_image_url: string;
6026
6574
  /**
6027
- * The hosted invoice URL recorded when the invoice was raised. May expire; request
6028
- * 'invoices/{invoice_id}/url' for a freshly issued link.
6575
+ * Numeric value of the subscription billing interval, if this line is a subscription.
6576
+ * @format int32
6029
6577
  */
6030
- invoice_url: string;
6578
+ subscription_interval_value?: number | null;
6031
6579
  /**
6032
- * The description of what was billed.
6580
+ * Scale of the subscription billing interval (e.g., "day", "month", "year"), if applicable.
6033
6581
  */
6034
- description: string;
6582
+ subscription_interval_scale?: string | null;
6583
+ /**
6584
+ * Indicates whether this order line is a gift to another customer.
6585
+ */
6586
+ gift: boolean;
6587
+ gift_to_customer_id?: FlakeId;
6588
+ gift_to_customer?: StorefrontCustomerDto;
6589
+ /**
6590
+ * The unit price of the product in the smallest currency unit (e.g., cents)
6591
+ * @format int32
6592
+ * @example 1999
6593
+ */
6594
+ price: number;
6595
+ /**
6596
+ * The unit price of the product formatted as a string
6597
+ * @example "$19.99"
6598
+ */
6599
+ price_str: string;
6035
6600
  /**
6036
- * The currency the invoice was issued in.
6601
+ * The quantity of the product in this order line
6602
+ * @format int32
6603
+ * @example 1
6604
+ */
6605
+ quantity: number;
6606
+ /**
6607
+ * The discount amount (from sales, coupons, and affiliate links) applied to this order line
6608
+ * @format int32
6609
+ * @example 0
6610
+ */
6611
+ discount_amount: number;
6612
+ /**
6613
+ * The discount amount formatted as a string
6614
+ * @example "$0.00"
6615
+ */
6616
+ discount_amount_str: string;
6617
+ /**
6618
+ * The amount of gift card used for this order line
6619
+ * @format int32
6620
+ * @example 0
6621
+ */
6622
+ giftcard_usage_amount: number;
6623
+ /**
6624
+ * The gift card usage amount formatted as a string
6625
+ * @example "$0.00"
6626
+ */
6627
+ giftcard_usage_amount_str: string;
6628
+ /**
6629
+ * The subtotal amount for this order line
6630
+ * @format int32
6631
+ * @example 1999
6632
+ */
6633
+ subtotal_amount: number;
6634
+ /**
6635
+ * The subtotal amount formatted as a string
6636
+ * @example "$19.99"
6637
+ */
6638
+ subtotal_amount_str: string;
6639
+ /**
6640
+ * The tax amount for this order line
6641
+ * @format int32
6642
+ * @example 200
6643
+ */
6644
+ tax_amount: number;
6645
+ /**
6646
+ * The tax amount formatted as a string
6647
+ * @example "$2.00"
6648
+ */
6649
+ tax_amount_str: string;
6650
+ /**
6651
+ * The total amount for this order line
6652
+ * @format int32
6653
+ * @example 2199
6654
+ */
6655
+ total_amount: number;
6656
+ /**
6657
+ * The total amount formatted as a string
6658
+ * @example "$21.99"
6659
+ */
6660
+ total_amount_str: string;
6661
+ /**
6662
+ * The presentment subtotal amount for this order line
6663
+ * @format int32
6664
+ * @example 1999
6665
+ */
6666
+ presentment_subtotal_amount: number;
6667
+ /**
6668
+ * The presentment subtotal amount formatted as a string
6669
+ * @example "€19.99"
6670
+ * @readonly Set by the API; ignored on write.
6671
+ */
6672
+ presentment_subtotal_amount_str: string;
6673
+ /**
6674
+ * The presentment discount amount for this order line
6675
+ * @format int32
6676
+ * @example 0
6677
+ */
6678
+ presentment_discount_amount: number;
6679
+ /**
6680
+ * The presentment discount amount formatted as a string
6681
+ * @example "€0.00"
6682
+ * @readonly Set by the API; ignored on write.
6683
+ */
6684
+ presentment_discount_amount_str: string;
6685
+ /**
6686
+ * The presentment tax amount for this order line
6687
+ * @format int32
6688
+ * @example 200
6689
+ */
6690
+ presentment_tax_amount: number;
6691
+ /**
6692
+ * The presentment tax amount formatted as a string
6693
+ * @example "€2.00"
6694
+ * @readonly Set by the API; ignored on write.
6695
+ */
6696
+ presentment_tax_amount_str: string;
6697
+ /**
6698
+ * The presentment gift card usage amount for this order line
6699
+ * @format int32
6700
+ * @example 0
6701
+ */
6702
+ presentment_giftcard_usage_amount: number;
6703
+ /**
6704
+ * The presentment gift card usage amount formatted as a string
6705
+ * @example "€0.00"
6706
+ * @readonly Set by the API; ignored on write.
6707
+ */
6708
+ presentment_giftcard_usage_amount_str: string;
6709
+ /**
6710
+ * The presentment total amount for this order line
6711
+ * @format int32
6712
+ * @example 2199
6713
+ */
6714
+ presentment_total_amount: number;
6715
+ /**
6716
+ * The presentment total amount formatted as a string
6717
+ * @example "€21.99"
6718
+ * @readonly Set by the API; ignored on write.
6719
+ */
6720
+ presentment_total_amount_str: string;
6721
+ selected_gameserver_id?: FlakeId;
6722
+ /**
6723
+ * Indicates whether tax is included in the base price, or added on top
6724
+ * @example false
6725
+ */
6726
+ tax_inclusive: boolean;
6727
+ /**
6728
+ * The regional pricing region ID for this order line, null if no regional pricing set
6729
+ * @example "eu"
6730
+ */
6731
+ pricing_region_id?: string | null;
6732
+ /**
6733
+ * Key-value pair of selected custom variables for this order.
6734
+ */
6735
+ custom_variables?: Record<string, CustomVariableLineItemDto> | null;
6736
+ }
6737
+ /**
6738
+ * Represents a store entity within the storefront system.
6739
+ */
6740
+ export interface StorefrontStoreDto {
6741
+ id: FlakeId;
6742
+ /**
6743
+ * The URL-friendly identifier for the store, used in store URLs.
6744
+ * @example "m0ukas-awesome-store"
6745
+ */
6746
+ slug: string;
6747
+ /**
6748
+ * The display name of the store shown to customers.
6749
+ * @example "m0uka's awesome store"
6750
+ */
6751
+ name: string;
6752
+ /**
6753
+ * The platform or the game of the store.
6754
+ * @example "rust"
6755
+ */
6756
+ platform: string;
6757
+ /**
6758
+ * The game of the store. Equivalent to the `platform` for backwards compatibility.
6759
+ * @readonly Set by the API; ignored on write.
6760
+ */
6761
+ game: string;
6762
+ /**
6763
+ * The three-letter ISO currency code used for pricing in this store.
6764
+ * If using the Adaptive Currency feature, this will be updated to reflect customer's local currency
6765
+ * (based on passed in IP / country headers).
6766
+ * @example "eur"
6037
6767
  */
6038
6768
  currency: string;
6039
6769
  /**
6040
- * The invoiced total, in the smallest currency unit.
6041
- * @format int64
6770
+ * The three-letter ISO currency code signifying the main currency of the store.
6771
+ * @example "usd"
6042
6772
  */
6043
- total: number;
6773
+ creator_currency: string;
6774
+ /**
6775
+ * A detailed description of the store. Only present for some platform types.
6776
+ */
6777
+ description?: string | null;
6778
+ /**
6779
+ * The URL of the store's main website, if not using Hosted Webstores.
6780
+ */
6781
+ website_url?: string | null;
6782
+ /**
6783
+ * The email address customers can use to contact store support.
6784
+ * @example "support@example.com"
6785
+ */
6786
+ support_email?: string | null;
6787
+ /**
6788
+ * The URL of the store's support page.
6789
+ */
6790
+ support_url?: string | null;
6044
6791
  /**
6045
- * Whether the invoice has been paid.
6792
+ * The type of integration this store uses with external systems.
6046
6793
  */
6047
- is_paid: boolean;
6794
+ integration_type?: string | null;
6048
6795
  /**
6049
- * When the invoice was raised.
6796
+ * Indicates whether the store is in live mode (true) or test mode (false).
6797
+ */
6798
+ live_mode: boolean;
6799
+ /**
6800
+ * The URL to the store's main logo image.
6801
+ */
6802
+ logo_url?: string | null;
6803
+ /**
6804
+ * The URL to the store's square logo image.
6805
+ */
6806
+ logo_square_url?: string | null;
6807
+ /**
6808
+ * The date and time when the store was created.
6050
6809
  * @format date-time
6051
6810
  */
6052
- created_at: string;
6811
+ created_at?: string | null;
6053
6812
  /**
6054
- * When the invoice was last updated.
6813
+ * The date and time when the store was last updated.
6055
6814
  * @format date-time
6056
6815
  */
6057
6816
  updated_at?: string | null;
@@ -6210,6 +6969,7 @@ export interface StoreResult {
6210
6969
  export interface StoreSubscriptionDto {
6211
6970
  id: FlakeId;
6212
6971
  store_id: FlakeId;
6972
+ user_id: FlakeId;
6213
6973
  plan_id: string;
6214
6974
  gateway: string;
6215
6975
  gateway_subscription_id: string;
@@ -6217,6 +6977,7 @@ export interface StoreSubscriptionDto {
6217
6977
  gateway_payment_method_id: string;
6218
6978
  currency: string;
6219
6979
  status: StoreSubscriptionStatus;
6980
+ renewal_period: StoreSubscriptionRenewalPeriod;
6220
6981
  downgrade_period_end_plan_id?: string | null;
6221
6982
  cancel_at_period_end: boolean;
6222
6983
  /**
@@ -6238,12 +6999,13 @@ export interface StoreSubscriptionDto {
6238
6999
  /**
6239
7000
  * @format date-time
6240
7001
  */
6241
- current_period_start: string;
7002
+ current_period_start?: string | null;
6242
7003
  /**
6243
7004
  * @format date-time
6244
7005
  */
6245
- current_period_end: string;
7006
+ current_period_end?: string | null;
6246
7007
  }
7008
+ export type StoreSubscriptionRenewalPeriod = "monthly" | "annually";
6247
7009
  export type StoreSubscriptionStatus = "incomplete" | "trialing" | "active" | "requires_action" | "canceled";
6248
7010
  export interface StoreTrustDto {
6249
7011
  store_id: FlakeId;
@@ -7135,37 +7897,6 @@ export interface SubscriptionLineDto {
7135
7897
  */
7136
7898
  initial_presentment_total_amount_str?: string | null;
7137
7899
  }
7138
- /**
7139
- * Represents the payment method a store's subscription is billed to.
7140
- */
7141
- export interface SubscriptionPaymentMethodDto {
7142
- /**
7143
- * The identifier of the payment method within the payment gateway.
7144
- */
7145
- id: string;
7146
- /**
7147
- * The kind of payment method, such as a card.
7148
- */
7149
- type: string;
7150
- /**
7151
- * The card network, when the payment method is a card.
7152
- */
7153
- card_brand?: string | null;
7154
- /**
7155
- * The month the card expires, when the payment method is a card.
7156
- * @format int64
7157
- */
7158
- card_exp_month?: number | null;
7159
- /**
7160
- * The year the card expires, when the payment method is a card.
7161
- * @format int64
7162
- */
7163
- card_exp_year?: number | null;
7164
- /**
7165
- * The last four digits of the card, when the payment method is a card.
7166
- */
7167
- card_last4?: string | null;
7168
- }
7169
7900
  /**
7170
7901
  * Portal flow for updating the payment method of a specific subscription
7171
7902
  */
@@ -7717,88 +8448,183 @@ export interface UnqueueCommandsResponseDto {
7717
8448
  unqueued_count: number;
7718
8449
  }
7719
8450
  export interface UpdateAffiliateLinkDto {
8451
+ /**
8452
+ * The identifier of the wallet that receives the affiliate commission payouts.
8453
+ */
7720
8454
  wallet_id?: string;
8455
+ /**
8456
+ * Indicates whether the affiliate link is enabled.
8457
+ */
7721
8458
  enabled?: boolean;
8459
+ /**
8460
+ * The unique code associated with the affiliate link.
8461
+ */
7722
8462
  code?: string;
7723
8463
  referer_type?: AffiliateLinkRefererTypeDto;
7724
8464
  /**
8465
+ * The number of days a customer's referral is tracked after following the affiliate link.
7725
8466
  * @format int32
7726
8467
  */
7727
8468
  tracking_length_days?: number;
8469
+ /**
8470
+ * Whether the affiliate earns commission on subscription renewals.
8471
+ * Must be enabled for 'commission_amount_steps' past the first cycle to apply - when disabled, only the initial purchase earns commission.
8472
+ */
7728
8473
  apply_for_subscriptions?: boolean;
7729
8474
  discount_type?: AffiliateLinkDiscountTypeDto;
7730
8475
  /**
8476
+ * 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.
7731
8477
  * @format int64
7732
8478
  */
7733
8479
  discount_amount?: number;
7734
8480
  commission_type?: AffiliateLinkCommissionTypeDto;
7735
8481
  /**
8482
+ * The commission amount, in tenths of a percent (e.g., 125 = 12.5%) for percentage commissions.
7736
8483
  * @format int64
7737
8484
  */
7738
8485
  commission_amount?: number;
8486
+ /**
8487
+ * Per-cycle commission overrides. Requires 'apply_for_subscriptions' to be enabled for billing cycles past 1.
8488
+ * When empty, the base commission amount applies to every renewal. When steps are defined, each renewal cycle pays its matching steps amount.
8489
+ * Cycles without a matching step earn no commission, except cycles past the last step when 'last_commission_amount_step_repeats' is true.
8490
+ */
7739
8491
  commission_amount_steps?: Array<AffiliateLinkCommissionAmountStepDto>;
8492
+ /**
8493
+ * Whether the last commission amount steps rate continues to apply to all billing cycles past the last step.
8494
+ * When false, cycles past the last step earn no commission.
8495
+ */
7740
8496
  last_commission_amount_step_repeats?: boolean;
7741
8497
  }
7742
8498
  export interface UpdateCheckoutStyleDto {
8499
+ /**
8500
+ * The CSS font family used for text on the checkout, or null to use the default font.
8501
+ */
7743
8502
  font_family?: string;
7744
8503
  /**
8504
+ * The corner radius applied to buttons, inputs and panels on the checkout, in pixels, or null to
8505
+ * use the default radius.
7745
8506
  * @format int32
7746
8507
  */
7747
- border_radius?: number | null;
8508
+ border_radius?: number;
8509
+ /**
8510
+ * The accent colour used for primary buttons and highlights, as a CSS colour value, or null to
8511
+ * use the default.
8512
+ */
7748
8513
  color_primary?: string;
8514
+ /**
8515
+ * The background colour of panels and cards on the checkout, as a CSS colour value, or null to
8516
+ * use the default.
8517
+ */
7749
8518
  color_elements?: string;
8519
+ /**
8520
+ * The background colour of input fields, as a CSS colour value, or null to use the default.
8521
+ */
7750
8522
  color_input?: string;
8523
+ /**
8524
+ * The background colour of the checkout page, as a CSS colour value, or null to use the default.
8525
+ */
7751
8526
  color_background?: string;
8527
+ /**
8528
+ * The colour of text on the checkout, as a CSS colour value, or null to use the default.
8529
+ */
7752
8530
  color_text?: string;
8531
+ /**
8532
+ * The colour of borders and outlines on the checkout, as a CSS colour value, or null to use the
8533
+ * default.
8534
+ */
7753
8535
  color_outline?: string;
7754
8536
  }
7755
8537
  export interface UpdateCouponDto {
8538
+ /**
8539
+ * Indicates whether the coupon is enabled.
8540
+ */
7756
8541
  enabled?: boolean;
8542
+ /**
8543
+ * The unique code associated with the coupon.
8544
+ */
7757
8545
  code?: string;
8546
+ /**
8547
+ * A note or internal description of the coupon.
8548
+ */
7758
8549
  note?: string;
7759
8550
  duration?: CouponDurationDto;
7760
8551
  /**
8552
+ * The number of months the coupon is valid for, used if the duration is repeating.
7761
8553
  * @format int32
8554
+ * @deprecated
7762
8555
  */
7763
- duration_in_months?: number | null;
8556
+ duration_in_months?: number;
7764
8557
  /**
8558
+ * The number of subscription renewals the coupon is valid for, used if the duration is repeating.
7765
8559
  * @format int32
7766
8560
  */
7767
- duration_in_intervals?: number | null;
8561
+ duration_in_intervals?: number;
7768
8562
  discount_type?: CouponDiscountTypeDto;
7769
8563
  /**
8564
+ * The discount amount, interpreted based on discount type: for a fixed-amount
8565
+ * discount, this is in the smallest currency unit (e.g., cents); for a
8566
+ * percentage discount, this is in tenths of a percent (e.g., 100 = 10.0% off).
7770
8567
  * @format int64
7771
8568
  */
7772
8569
  discount_amount?: number;
8570
+ /**
8571
+ * Indicates whether the discount should be applied individually to required tags or products.
8572
+ */
7773
8573
  discount_apply_individually?: boolean;
8574
+ /**
8575
+ * Indicates whether the discount is applied before existing sales.
8576
+ */
7774
8577
  discount_apply_before_sales?: boolean;
8578
+ /**
8579
+ * A list of product IDs the coupon applies to.
8580
+ */
7775
8581
  apply_to_products?: Array<FlakeId>;
8582
+ /**
8583
+ * A list of tag IDs the coupon applies to.
8584
+ */
7776
8585
  apply_to_tags?: Array<FlakeId>;
7777
8586
  usable_by_customer_id?: FlakeId;
7778
8587
  /**
8588
+ * The minimum order value required to use the coupon.
7779
8589
  * @format int64
7780
8590
  */
7781
8591
  minimum_order_value?: number;
8592
+ /**
8593
+ * Indicates whether a global redemption limit is enabled.
8594
+ */
7782
8595
  redeem_limit_store_enabled?: boolean;
7783
8596
  /**
8597
+ * The maximum number of times the coupon can be redeemed across the store.
7784
8598
  * @format int64
7785
8599
  */
7786
8600
  redeem_limit_store_amount?: number;
8601
+ /**
8602
+ * Indicates whether a per-customer redemption limit is enabled.
8603
+ */
7787
8604
  redeem_limit_customer_enabled?: boolean;
7788
8605
  /**
8606
+ * The maximum number of times the coupon can be redeemed per customer.
7789
8607
  * @format int64
7790
8608
  */
7791
8609
  redeem_limit_customer_amount?: number;
8610
+ /**
8611
+ * Indicates whether the coupon can be used for one-time purchases.
8612
+ */
7792
8613
  usable_on_one_time_purchase?: boolean;
8614
+ /**
8615
+ * Indicates whether the coupon can be used for subscriptions.
8616
+ */
7793
8617
  usable_on_subscription?: boolean;
7794
8618
  /**
8619
+ * The date and time when the coupon becomes valid.
7795
8620
  * @format date-time
7796
8621
  */
7797
- usable_at?: string | null;
8622
+ usable_at?: string;
7798
8623
  /**
8624
+ * The date and time when the coupon expires.
7799
8625
  * @format date-time
7800
8626
  */
7801
- expires_at?: string | null;
8627
+ expires_at?: string;
7802
8628
  }
7803
8629
  export interface UpdateEmailBrandingDto {
7804
8630
  color?: string;
@@ -7810,47 +8636,89 @@ export interface UpdateEmailTemplateDto {
7810
8636
  content?: string;
7811
8637
  }
7812
8638
  export interface UpdateGameServerConsoleDto {
8639
+ /**
8640
+ * Indicates whether PayNow keeps the connection to the console open.
8641
+ */
7813
8642
  enabled?: boolean;
8643
+ /**
8644
+ * The hostname or IP address the game server's console listens on.
8645
+ */
7814
8646
  host?: string;
7815
8647
  /**
8648
+ * The port the game server's console listens on.
7816
8649
  * @format int32
7817
8650
  */
7818
8651
  port?: number;
8652
+ /**
8653
+ * The password used to authenticate with the console, or null when it requires none.
8654
+ */
7819
8655
  password?: string;
8656
+ /**
8657
+ * Indicates whether the connection is made over TLS.
8658
+ */
7820
8659
  secure?: boolean;
7821
8660
  }
7822
8661
  export interface UpdateGameServerDto {
8662
+ /**
8663
+ * The display name of the game server.
8664
+ */
7823
8665
  name?: string;
8666
+ /**
8667
+ * Indicates whether the game server is currently enabled.
8668
+ */
7824
8669
  enabled?: boolean;
7825
8670
  }
7826
8671
  export interface UpdateGiftCardDto {
8672
+ /**
8673
+ * Indicates whether the gift card is currently enabled and can be used.
8674
+ */
7827
8675
  enabled?: boolean;
8676
+ /**
8677
+ * The unique code that customers use to redeem the gift card.
8678
+ * @example "GIFT-2024-ABCD1234"
8679
+ */
7828
8680
  code?: string;
8681
+ /**
8682
+ * Optional note or description associated with the gift card.
8683
+ */
7829
8684
  note?: string;
7830
8685
  /**
8686
+ * The current balance remaining on the gift card in cents.
7831
8687
  * @format int64
8688
+ * @example 2500
7832
8689
  */
7833
8690
  balance?: number;
7834
8691
  /**
8692
+ * The date and time when the gift card becomes usable.
7835
8693
  * @format date-time
7836
8694
  */
7837
8695
  usable_at?: string;
7838
8696
  /**
8697
+ * The date and time when the gift card expires, if applicable.
7839
8698
  * @format date-time
7840
8699
  */
7841
- expires_at?: string | null;
8700
+ expires_at?: string;
7842
8701
  }
7843
8702
  export interface UpdateInviteDto {
7844
8703
  role_id?: FlakeId;
8704
+ /**
8705
+ * The email address the invite was sent to.
8706
+ */
7845
8707
  user_email?: string;
7846
8708
  }
7847
8709
  export interface UpdateNavLinkDto {
7848
8710
  tag_id?: FlakeId;
8711
+ /**
8712
+ * The 'node_id' of the link this one nests under, or null when it sits at the top level of the
8713
+ * navigation.
8714
+ */
7849
8715
  parent_node_id?: string;
7850
8716
  /**
8717
+ * The position of the link among its siblings, lowest first, or null when no explicit order has
8718
+ * been set.
7851
8719
  * @format int32
7852
8720
  */
7853
- order?: number | null;
8721
+ order?: number;
7854
8722
  }
7855
8723
  export interface UpdateNavLinkOrderChangeDto {
7856
8724
  node_id: FlakeId;
@@ -7871,56 +8739,123 @@ export interface UpdateRoleDto {
7871
8739
  permissions?: Record<string, boolean>;
7872
8740
  }
7873
8741
  export interface UpdateSaleDto {
8742
+ /**
8743
+ * Indicates whether the sale is enabled.
8744
+ */
7874
8745
  enabled?: boolean;
8746
+ /**
8747
+ * The name of the sale.
8748
+ */
7875
8749
  name?: string;
7876
8750
  discount_type?: SaleDiscountTypeDto;
7877
8751
  /**
8752
+ * The discount value. For percent discounts, this represents the percentage
8753
+ * multiplied by 10 (e.g., 250 = 25%). For amount discounts, this represents
8754
+ * the value in the smallest currency unit (e.g., cents).
7878
8755
  * @format int32
7879
8756
  */
7880
8757
  discount_amount?: number;
7881
8758
  duration?: SaleDurationDto;
7882
8759
  /**
8760
+ * The number of subscription intervals the coupon is valid for, used if the duration is repeating.
7883
8761
  * @format int32
7884
8762
  */
7885
8763
  duration_in_intervals?: number;
8764
+ /**
8765
+ * A list of product IDs the sale applies to.
8766
+ */
7886
8767
  apply_to_product_ids?: Array<FlakeId>;
8768
+ /**
8769
+ * A list of tag IDs the sale applies to.
8770
+ */
7887
8771
  apply_to_tag_ids?: Array<FlakeId>;
7888
8772
  /**
8773
+ * The minimum order value required to apply the sale, in the smallest currency unit (e.g., cents).
7889
8774
  * @format int32
7890
8775
  */
7891
8776
  minimum_order_value?: number;
7892
8777
  /**
8778
+ * The date and time when the sale begins.
7893
8779
  * @format date-time
7894
8780
  */
7895
8781
  begins_at?: string;
7896
8782
  /**
8783
+ * The date and time when the sale ends.
7897
8784
  * @format date-time
7898
8785
  */
7899
- ends_at?: string | null;
8786
+ ends_at?: string;
7900
8787
  }
7901
8788
  export interface UpdateStoreDto {
8789
+ /**
8790
+ * The URL-safe slug used to identify the store (e.g. "my-rust-server").
8791
+ */
7902
8792
  slug?: string;
8793
+ /**
8794
+ * The display name of the store.
8795
+ */
7903
8796
  name?: string;
8797
+ /**
8798
+ * The platform this store is associated with (e.g. "rust", "minecraft").
8799
+ */
7904
8800
  platform?: string;
8801
+ /**
8802
+ * Alias for 'platform'. Returns the platform identifier as a game name.
8803
+ */
7905
8804
  game?: string;
8805
+ /**
8806
+ * A human-readable description of the store shown to customers and PayNow.
8807
+ */
7906
8808
  description?: string;
8809
+ /**
8810
+ * The store's public website URL.
8811
+ */
7907
8812
  website_url?: string;
8813
+ /**
8814
+ * General contact email address for the store.
8815
+ */
7908
8816
  contact_email?: string;
8817
+ /**
8818
+ * Dedicated support email address for customer inquiries.
8819
+ */
7909
8820
  support_email?: string;
8821
+ /**
8822
+ * URL to the store's support portal or help page.
8823
+ */
7910
8824
  support_url?: string;
8825
+ /**
8826
+ * The integration type used by the store.
8827
+ */
7911
8828
  integration_type?: string;
8829
+ /**
8830
+ * When set to true, the store is processing real transactions in live mode.
8831
+ */
7912
8832
  live_mode?: boolean;
8833
+ /**
8834
+ * Username prefix used to identify Minecraft Bedrock players (e.g. ".").
8835
+ */
7913
8836
  minecraft_bedrock_username_prefix?: string;
7914
8837
  }
7915
8838
  export interface UpdateStoreMemberDto {
7916
8839
  role_id: FlakeId;
7917
8840
  }
7918
8841
  export interface UpdateStorePaymentSettingsDto {
8842
+ /**
8843
+ * Whether to show all available payment methods for subscription purchases.
8844
+ */
7919
8845
  show_all_payment_methods_for_subscriptions?: boolean;
8846
+ /**
8847
+ * Whether store pricing is tax-inclusive.
8848
+ */
7920
8849
  store_tax_inclusive_pricing?: boolean;
7921
8850
  block_prepaid_cards?: PrepaidCardsBlockingTypeDto;
7922
8851
  promo_code_stacking_behavior?: StorePromoCodeStackingBehaviorDto;
8852
+ /**
8853
+ * Whether the 'Adaptive Currency' feature is enabled.
8854
+ */
7923
8855
  adaptive_currency_enabled?: boolean;
8856
+ /**
8857
+ * Whether the displayed currency on the storefront should be the Adaptive Currency by default.
8858
+ */
7924
8859
  show_adaptive_currency_on_storefront?: boolean;
7925
8860
  }
7926
8861
  export interface UpdateStoreUpsellSettingsDto {
@@ -7967,9 +8902,13 @@ export interface UpdateTierGroupRequestDto {
7967
8902
  export interface UpdateTrialEligibilityOverrideDto {
7968
8903
  product_id?: FlakeId;
7969
8904
  /**
8905
+ * The date and time when this override expires and is no longer valid.
7970
8906
  * @format date-time
7971
8907
  */
7972
8908
  expires_at?: string;
8909
+ /**
8910
+ * An optional note or comment about this override.
8911
+ */
7973
8912
  note?: string;
7974
8913
  }
7975
8914
  export interface UpdateWebhookDto {
@@ -7982,34 +8921,77 @@ export interface UpdateWebhookDto {
7982
8921
  discord_format?: WebhookDiscordFormatDto;
7983
8922
  }
7984
8923
  export interface UpdateWebstoreModuleDto {
8924
+ /**
8925
+ * Indicates whether the module is rendered. A disabled module keeps its settings but is not
8926
+ * shown to customers.
8927
+ */
7985
8928
  enabled?: boolean;
8929
+ /**
8930
+ * The kind of module. Decides which 'settings' it accepts and how the template renders it.
8931
+ */
7986
8932
  type?: string;
7987
- settings?: null;
7988
8933
  /**
8934
+ * The module's type-specific configuration as a JSON object, or null when it has none.
8935
+ */
8936
+ settings?: unknown;
8937
+ /**
8938
+ * The date and time the module starts being shown, or null to show it as soon as it is enabled.
7989
8939
  * @format date-time
7990
8940
  */
7991
- starts_at?: string | null;
8941
+ starts_at?: string;
7992
8942
  /**
8943
+ * The date and time the module stops being shown, or null to show it indefinitely.
7993
8944
  * @format date-time
7994
8945
  */
7995
- ends_at?: string | null;
8946
+ ends_at?: string;
7996
8947
  }
7997
8948
  export interface UpdateWebstoreTemplateDto {
8949
+ /**
8950
+ * The display name of the template.
8951
+ */
7998
8952
  name?: string;
7999
8953
  compatibility_mode?: WebstoreTemplateCompatibilityModeDto;
8000
8954
  }
8001
8955
  export interface UpdateWebstoreTemplateFileDto {
8956
+ /**
8957
+ * The name of the file within the template, without an extension. The extension follows from
8958
+ * 'content_type'.
8959
+ */
8002
8960
  file_name?: string;
8961
+ /**
8962
+ * The MIME type of the file (e.g., text/html, text/css, application/json). Decides how the file
8963
+ * is served and whether it is public.
8964
+ */
8003
8965
  content_type?: string;
8966
+ /**
8967
+ * The text content of the file. Null when files are listed; content is only returned when a
8968
+ * single file is fetched or the template is fetched with 'include' set to 'files'.
8969
+ */
8004
8970
  content?: string;
8005
8971
  }
8972
+ /**
8973
+ * Represents a request to replace the content of a template file.
8974
+ */
8006
8975
  export interface UpdateWebstoreTemplateFileRequestDto {
8976
+ /**
8977
+ * The full new text content of the file. It replaces the existing content in its entirety.
8978
+ */
8007
8979
  content: string;
8008
8980
  }
8009
8981
  export interface UpdateWebstoreTemplateVariableDto {
8982
+ /**
8983
+ * The label shown for the variable in the editor.
8984
+ */
8010
8985
  name?: string;
8986
+ /**
8987
+ * The name the template's files reference the value by.
8988
+ */
8011
8989
  variable?: string;
8012
8990
  type?: WebstoreTemplateVariableTypeDto;
8991
+ /**
8992
+ * The value of the variable, always stored as a string and parsed according to 'type' when the
8993
+ * template renders.
8994
+ */
8013
8995
  value?: string;
8014
8996
  }
8015
8997
  export type UpsellDiscountTypeDto = "unknown" | "none" | "fixed" | "percentage";
@@ -8326,6 +9308,12 @@ export interface ValidationError {
8326
9308
  */
8327
9309
  validation: string;
8328
9310
  }
9311
+ /**
9312
+ * Specifies how a Discord webhook renders its message.
9313
+ * - `Invalid`: No format specified. This value is typically used as a default or uninitialized state.
9314
+ * - `Embed`: The message is sent as a rich embed with the configured title, colour and description.
9315
+ * - `Text`: The message is sent as plain text rendered from the description template.
9316
+ */
8329
9317
  export type WebhookDiscordFormatDto = "Invalid" | "Embed" | "Text";
8330
9318
  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";
8331
9319
  export interface WebhookHistoryDto {
@@ -8340,20 +9328,46 @@ export interface WebhookHistoryDto {
8340
9328
  */
8341
9329
  export type WebhooksGetHistoryQuery = {
8342
9330
  /**
9331
+ * The page of history to retrieve.
8343
9332
  * @format int32
8344
9333
  */
8345
9334
  page?: number;
9335
+ /**
9336
+ * Filters the history to a specific delivery state.
9337
+ */
8346
9338
  state?: string;
8347
9339
  };
8348
9340
  export type WebhookState = "success" | "pending" | "failed" | "all";
9341
+ /**
9342
+ * Represents a webhook subscription: an endpoint that receives a request whenever one of the
9343
+ * subscribed events happens in the store.
9344
+ */
8349
9345
  export interface WebhookSubscriptionDto {
8350
9346
  id: FlakeId;
9347
+ /**
9348
+ * The URL each event is delivered to. For the 'discord_v1' type this is the Discord webhook URL.
9349
+ */
8351
9350
  url: string;
9351
+ /**
9352
+ * The secret used to sign each delivery. Receivers use it to verify the request's signature
9353
+ * header and confirm it came from PayNow.
9354
+ */
8352
9355
  secret: string;
8353
9356
  subscribed_to: WebhookEventType;
8354
9357
  type: WebhookType;
9358
+ /**
9359
+ * The template rendered into the body of the Discord message, with webhook variables substituted.
9360
+ * Only used by the 'discord_v1' type.
9361
+ */
8355
9362
  discord_description_template?: string | null;
9363
+ /**
9364
+ * The title of the Discord embed. Only used by the 'discord_v1' type with the 'embed' format.
9365
+ */
8356
9366
  discord_title?: string | null;
9367
+ /**
9368
+ * The accent colour of the Discord embed, as a hex colour. Only used by the 'discord_v1' type
9369
+ * with the 'embed' format.
9370
+ */
8357
9371
  discord_color?: string | null;
8358
9372
  discord_format?: WebhookDiscordFormatDto;
8359
9373
  }
@@ -8523,6 +9537,9 @@ export interface WebstoreDto {
8523
9537
  * Query parameters
8524
9538
  */
8525
9539
  export type WebstoreGetWebstoreTemplateQuery = {
9540
+ /**
9541
+ * Set to 'files' to include the template's files in the response.
9542
+ */
8526
9543
  include?: string;
8527
9544
  };
8528
9545
  /**
@@ -8530,154 +9547,367 @@ export type WebstoreGetWebstoreTemplateQuery = {
8530
9547
  */
8531
9548
  export type WebstoreGetWebstoreTemplateUploadUrlQuery = {
8532
9549
  /**
9550
+ * The size of the archive to be uploaded, in bytes.
8533
9551
  * @format int64
8534
9552
  */
8535
9553
  content_length?: number;
8536
9554
  };
9555
+ /**
9556
+ * Represents a module on a webstore: a self-contained block of content or functionality the
9557
+ * template renders.
9558
+ */
8537
9559
  export interface WebstoreModuleDto {
8538
9560
  id: FlakeId;
8539
9561
  webstore_id: FlakeId;
9562
+ /**
9563
+ * Indicates whether the module is rendered. A disabled module keeps its settings but is not
9564
+ * shown to customers.
9565
+ */
8540
9566
  enabled: boolean;
9567
+ /**
9568
+ * The kind of module. Decides which 'settings' it accepts and how the template renders it.
9569
+ */
8541
9570
  type: string;
8542
9571
  /**
9572
+ * The position of the module among the webstore's modules, lowest first.
8543
9573
  * @format int32
8544
9574
  */
8545
9575
  sort_order: number;
9576
+ /**
9577
+ * The module's type-specific configuration as a JSON object, or null when it has none.
9578
+ */
8546
9579
  settings?: null;
8547
9580
  /**
9581
+ * The date and time the module starts being shown, or null to show it as soon as it is enabled.
8548
9582
  * @format date-time
8549
9583
  */
8550
9584
  starts_at?: string | null;
8551
9585
  /**
9586
+ * The date and time the module stops being shown, or null to show it indefinitely.
8552
9587
  * @format date-time
8553
9588
  */
8554
9589
  ends_at?: string | null;
8555
9590
  /**
9591
+ * The date and time the module was created.
8556
9592
  * @format date-time
8557
9593
  */
8558
9594
  created_at: string;
8559
9595
  /**
9596
+ * The date and time the module was last updated.
8560
9597
  * @format date-time
8561
9598
  */
8562
9599
  updated_at: string;
8563
9600
  }
9601
+ /**
9602
+ * Specifies the dialect a webstore template is written in.
9603
+ * - `invalid`: No compatibility mode specified. This value is typically used as a default or uninitialized state.
9604
+ * - `paynow`: A native PayNow template.
9605
+ * - `tebex`: A template written for Tebex, rendered through a compatibility layer so it works without changes.
9606
+ */
8564
9607
  export type WebstoreTemplateCompatibilityModeDto = "invalid" | "paynow" | "tebex";
9608
+ /**
9609
+ * Represents one file of a template after compilation.
9610
+ */
8565
9611
  export interface WebstoreTemplateCompiledFileDto {
9612
+ /**
9613
+ * The name of the file within the template.
9614
+ */
8566
9615
  file_name: string;
9616
+ /**
9617
+ * The MIME type of the file.
9618
+ */
8567
9619
  content_type: string;
9620
+ /**
9621
+ * The compiled output of the file, or null when compilation failed.
9622
+ */
8568
9623
  compiled?: string | null;
9624
+ /**
9625
+ * The error compilation raised, or null when the file compiled successfully.
9626
+ */
8569
9627
  error?: string | null;
8570
9628
  }
9629
+ /**
9630
+ * Represents a template a webstore can render: a named set of pages, styles, scripts and assets
9631
+ * served to customers while it is the webstore's current template.
9632
+ */
8571
9633
  export interface WebstoreTemplateDto {
8572
9634
  id: FlakeId;
8573
9635
  webstore_id: FlakeId;
9636
+ /**
9637
+ * The display name of the template.
9638
+ */
8574
9639
  name: string;
9640
+ /**
9641
+ * Indicates whether the template is shared with every store, as PayNow's built-in templates are,
9642
+ * rather than private to this webstore.
9643
+ */
8575
9644
  is_public: boolean;
8576
9645
  compatibility_mode: WebstoreTemplateCompatibilityModeDto;
8577
9646
  /**
9647
+ * The date and time the template was created.
8578
9648
  * @format date-time
8579
9649
  */
8580
9650
  created_at: string;
8581
9651
  /**
9652
+ * The date and time the template was last updated.
8582
9653
  * @format date-time
8583
9654
  */
8584
9655
  updated_at: string;
9656
+ /**
9657
+ * The template's files, content included. Only returned when a single template is fetched with
9658
+ * 'include' set to 'files'; null otherwise.
9659
+ */
8585
9660
  template_files?: Array<WebstoreTemplateFileDto> | null;
8586
9661
  }
9662
+ /**
9663
+ * Represents one file within a webstore template, such as a page, stylesheet, script or image.
9664
+ */
8587
9665
  export interface WebstoreTemplateFileDto {
8588
9666
  id: FlakeId;
8589
9667
  template_id: FlakeId;
9668
+ /**
9669
+ * The name of the file within the template, without an extension. The extension follows from
9670
+ * 'content_type'.
9671
+ */
8590
9672
  file_name: string;
9673
+ /**
9674
+ * The MIME type of the file (e.g., text/html, text/css, application/json). Decides how the file
9675
+ * is served and whether it is public.
9676
+ */
8591
9677
  content_type: string;
9678
+ /**
9679
+ * Indicates whether the file is served directly to browsers as a static asset. Pages and the
9680
+ * schema file are private and rendered on the server; styles, scripts and images are public.
9681
+ */
8592
9682
  is_public: boolean;
9683
+ /**
9684
+ * Indicates whether the file can be deleted. Files the template cannot render without are not
9685
+ * deletable.
9686
+ */
8593
9687
  is_deletable: boolean;
9688
+ /**
9689
+ * The text content of the file. Null when files are listed; content is only returned when a
9690
+ * single file is fetched or the template is fetched with 'include' set to 'files'.
9691
+ */
8594
9692
  content?: string | null;
8595
9693
  /**
9694
+ * The date and time the file was created.
8596
9695
  * @format date-time
8597
9696
  */
8598
9697
  created_at: string;
8599
9698
  /**
9699
+ * The date and time the file was last updated.
8600
9700
  * @format date-time
8601
9701
  */
8602
9702
  updated_at: string;
8603
9703
  }
9704
+ /**
9705
+ * Represents the newest version available for a template installed from the marketplace.
9706
+ */
8604
9707
  export interface WebstoreTemplateLatestVersionDto {
9708
+ /**
9709
+ * The newest published version of the template, or null when no update is available or the
9710
+ * template was not installed from the marketplace.
9711
+ */
8605
9712
  version?: string | null;
8606
9713
  }
9714
+ /**
9715
+ * Represents a template compiled and ready to render.
9716
+ */
8607
9717
  export interface WebstoreTemplatePreviewDto {
9718
+ /**
9719
+ * The template's files after compilation, including any that failed to compile.
9720
+ */
8608
9721
  compiled: Array<WebstoreTemplateCompiledFileDto>;
8609
9722
  schema?: WebstoreTemplateSchemaDto;
8610
9723
  compatibilityMode: WebstoreTemplateCompatibilityModeDto;
8611
9724
  /**
9725
+ * The date and time the template was compiled.
8612
9726
  * @format date-time
8613
9727
  */
8614
9728
  compiled_at: string;
8615
9729
  }
9730
+ /**
9731
+ * Represents the data the editor uses to preview a template.
9732
+ */
8616
9733
  export interface WebstoreTemplatePreviewResponseDto {
8617
9734
  template: WebstoreTemplatePreviewDto;
8618
9735
  variables: WebstoreTemplatePreviewVariablesDto;
8619
9736
  }
9737
+ /**
9738
+ * Represents the variable values a template preview renders with.
9739
+ */
8620
9740
  export interface WebstoreTemplatePreviewVariablesDto {
9741
+ /**
9742
+ * The template's variables and their current values.
9743
+ */
8621
9744
  variables: Array<WebstoreTemplateVariableDto>;
8622
9745
  /**
9746
+ * The date and time the variable values were last saved.
8623
9747
  * @format date-time
8624
9748
  */
8625
9749
  saved_at: string;
8626
9750
  }
9751
+ /**
9752
+ * Represents a template's schema, declared by its author: who maintains it, how it receives updates
9753
+ * and the settings a store can configure without editing the template's files.
9754
+ */
8627
9755
  export interface WebstoreTemplateSchemaDto {
9756
+ /**
9757
+ * The name of the template's author.
9758
+ */
8628
9759
  author: string;
9760
+ /**
9761
+ * The email address to contact for support with the template, or null when none is given.
9762
+ */
8629
9763
  support_email?: string | null;
9764
+ /**
9765
+ * The URL to visit for support with the template, or null when none is given.
9766
+ */
8630
9767
  support_url?: string | null;
8631
9768
  updates?: WebstoreTemplateSchemaUpdatesDto;
9769
+ /**
9770
+ * The sections of settings the template exposes, in display order.
9771
+ */
8632
9772
  config: Array<WebstoreTemplateSchemaSectionDto>;
8633
9773
  }
9774
+ /**
9775
+ * Represents one configurable setting in a template's schema.
9776
+ */
8634
9777
  export interface WebstoreTemplateSchemaOptionDto {
9778
+ /**
9779
+ * The key the setting's value is stored under. Use it as the variable name when setting values
9780
+ * through the schema variables endpoint.
9781
+ */
8635
9782
  id: string;
9783
+ /**
9784
+ * The label shown for the setting.
9785
+ */
8636
9786
  name: string;
9787
+ /**
9788
+ * A longer explanation of the setting, or null when the template gives none.
9789
+ */
8637
9790
  description?: string | null;
9791
+ /**
9792
+ * The kind of control used to edit the setting (e.g., text, toggle, select, color).
9793
+ */
8638
9794
  type: string;
9795
+ /**
9796
+ * The value used while the store has not set one, or null when there is no default.
9797
+ */
8639
9798
  default?: null;
9799
+ /**
9800
+ * The choices a select-style setting offers. Empty for other kinds of setting.
9801
+ */
8640
9802
  values: Array<string>;
9803
+ /**
9804
+ * Indicates whether a text setting only accepts numbers, or null when it does not apply.
9805
+ */
8641
9806
  numeric?: boolean | null;
9807
+ /**
9808
+ * Indicates whether a text setting accepts multiple lines, or null when it does not apply.
9809
+ */
8642
9810
  multiline?: boolean | null;
8643
9811
  /**
9812
+ * The lowest value a numeric setting accepts, or null when it is unbounded.
8644
9813
  * @format double
8645
9814
  */
8646
9815
  min?: number | null;
8647
9816
  /**
9817
+ * The highest value a numeric setting accepts, or null when it is unbounded.
8648
9818
  * @format double
8649
9819
  */
8650
9820
  max?: number | null;
9821
+ /**
9822
+ * The settings nested under this one. Empty when it has none.
9823
+ */
8651
9824
  nested_options: Array<WebstoreTemplateSchemaOptionDto>;
8652
9825
  }
9826
+ /**
9827
+ * Represents a group of related settings in a template's schema.
9828
+ */
8653
9829
  export interface WebstoreTemplateSchemaSectionDto {
9830
+ /**
9831
+ * The heading shown above the section.
9832
+ */
8654
9833
  header: string;
9834
+ /**
9835
+ * The settings in the section, in display order.
9836
+ */
8655
9837
  options: Array<WebstoreTemplateSchemaOptionDto>;
8656
9838
  }
9839
+ /**
9840
+ * Represents how a template receives updates from its author.
9841
+ */
8657
9842
  export interface WebstoreTemplateSchemaUpdatesDto {
9843
+ /**
9844
+ * Indicates whether the template can be updated in place.
9845
+ */
8658
9846
  supported: boolean;
9847
+ /**
9848
+ * Indicates whether the newest available version can be looked up before updating.
9849
+ */
8659
9850
  version_check_supported: boolean;
9851
+ /**
9852
+ * The version of the template currently installed, or null when the template does not declare
9853
+ * one.
9854
+ */
8660
9855
  version?: string | null;
9856
+ /**
9857
+ * The URL of the GitHub repository updates are pulled from, or null when updates do not come from
9858
+ * GitHub.
9859
+ */
8661
9860
  github_url?: string | null;
9861
+ /**
9862
+ * The branch of the repository updates are pulled from.
9863
+ */
8662
9864
  github_branch: string;
9865
+ /**
9866
+ * The token used to read a private repository, or null when the repository is public.
9867
+ */
8663
9868
  github_token?: string | null;
8664
9869
  }
9870
+ /**
9871
+ * Represents a value a template's files can reference, letting a store customise a template without
9872
+ * editing its files.
9873
+ */
8665
9874
  export interface WebstoreTemplateVariableDto {
8666
9875
  id: FlakeId;
8667
9876
  template_id: FlakeId;
8668
9877
  webstore_id: FlakeId;
9878
+ /**
9879
+ * The label shown for the variable in the editor.
9880
+ */
8669
9881
  name: string;
9882
+ /**
9883
+ * The name the template's files reference the value by.
9884
+ */
8670
9885
  variable: string;
8671
9886
  type: WebstoreTemplateVariableTypeDto;
9887
+ /**
9888
+ * The value of the variable, always stored as a string and parsed according to 'type' when the
9889
+ * template renders.
9890
+ */
8672
9891
  value: string;
8673
9892
  /**
9893
+ * The date and time the variable was created.
8674
9894
  * @format date-time
8675
9895
  */
8676
9896
  created_at: string;
8677
9897
  /**
9898
+ * The date and time the variable was last updated.
8678
9899
  * @format date-time
8679
9900
  */
8680
9901
  updated_at: string;
8681
9902
  }
9903
+ /**
9904
+ * Specifies how a template variable's 'value' is interpreted when the template renders.
9905
+ * - `invalid`: No type specified. This value is typically used as a default or uninitialized state.
9906
+ * - `string`: The value is used as plain text.
9907
+ * - `html`: The value is inserted as raw HTML without escaping.
9908
+ * - `number`: The value is parsed as a number.
9909
+ * - `boolean`: The value is parsed as a boolean; 'true' is true, anything else is false.
9910
+ * - `json`: The value is parsed as a JSON document.
9911
+ */
8682
9912
  export type WebstoreTemplateVariableTypeDto = "invalid" | "string" | "html" | "number" | "boolean" | "json";
8683
9913
  //# sourceMappingURL=types.d.ts.map