adapty 0.8.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -425,59 +425,36 @@
425
425
  "update.js"
426
426
  ]
427
427
  },
428
- "asa:connect": {
428
+ "auth:login": {
429
429
  "aliases": [],
430
430
  "args": {},
431
- "description": "Connect an Apple Search Ads account to this company",
431
+ "description": "Authenticate with Adapty via browser",
432
432
  "examples": [
433
- "<%= config.bin %> asa connect",
434
- "<%= config.bin %> asa connect --no-wait"
433
+ "<%= config.bin %> auth login"
435
434
  ],
436
- "flags": {
437
- "json": {
438
- "description": "Format output as json.",
439
- "helpGroup": "GLOBAL",
440
- "name": "json",
441
- "allowNo": false,
442
- "type": "boolean"
443
- },
444
- "timeout": {
445
- "description": "Seconds to wait for the browser step",
446
- "name": "timeout",
447
- "default": 300,
448
- "hasDynamicHelp": false,
449
- "multiple": false,
450
- "type": "option"
451
- },
452
- "wait": {
453
- "description": "Wait until Apple Ads reports as connected",
454
- "name": "wait",
455
- "allowNo": true,
456
- "type": "boolean"
457
- }
458
- },
435
+ "flags": {},
459
436
  "hasDynamicHelp": false,
460
437
  "hiddenAliases": [],
461
- "id": "asa:connect",
438
+ "id": "auth:login",
462
439
  "pluginAlias": "adapty",
463
440
  "pluginName": "adapty",
464
441
  "pluginType": "core",
465
442
  "strict": true,
466
- "enableJsonFlag": true,
443
+ "enableJsonFlag": false,
467
444
  "isESM": true,
468
445
  "relativePath": [
469
446
  "dist",
470
447
  "commands",
471
- "asa",
472
- "connect.js"
448
+ "auth",
449
+ "login.js"
473
450
  ]
474
451
  },
475
- "asa:whoami": {
452
+ "auth:logout": {
476
453
  "aliases": [],
477
454
  "args": {},
478
- "description": "Show which company the token unlocks and whether Apple Ads is connected",
455
+ "description": "Remove stored authentication token",
479
456
  "examples": [
480
- "<%= config.bin %> asa whoami"
457
+ "<%= config.bin %> auth logout"
481
458
  ],
482
459
  "flags": {
483
460
  "json": {
@@ -490,7 +467,7 @@
490
467
  },
491
468
  "hasDynamicHelp": false,
492
469
  "hiddenAliases": [],
493
- "id": "asa:whoami",
470
+ "id": "auth:logout",
494
471
  "pluginAlias": "adapty",
495
472
  "pluginName": "adapty",
496
473
  "pluginType": "core",
@@ -500,40 +477,48 @@
500
477
  "relativePath": [
501
478
  "dist",
502
479
  "commands",
503
- "asa",
504
- "whoami.js"
480
+ "auth",
481
+ "logout.js"
505
482
  ]
506
483
  },
507
- "auth:login": {
484
+ "auth:revoke": {
508
485
  "aliases": [],
509
486
  "args": {},
510
- "description": "Authenticate with Adapty via browser",
487
+ "description": "Revoke the current authentication token",
511
488
  "examples": [
512
- "<%= config.bin %> auth login"
489
+ "<%= config.bin %> auth revoke"
513
490
  ],
514
- "flags": {},
491
+ "flags": {
492
+ "json": {
493
+ "description": "Format output as json.",
494
+ "helpGroup": "GLOBAL",
495
+ "name": "json",
496
+ "allowNo": false,
497
+ "type": "boolean"
498
+ }
499
+ },
515
500
  "hasDynamicHelp": false,
516
501
  "hiddenAliases": [],
517
- "id": "auth:login",
502
+ "id": "auth:revoke",
518
503
  "pluginAlias": "adapty",
519
504
  "pluginName": "adapty",
520
505
  "pluginType": "core",
521
506
  "strict": true,
522
- "enableJsonFlag": false,
507
+ "enableJsonFlag": true,
523
508
  "isESM": true,
524
509
  "relativePath": [
525
510
  "dist",
526
511
  "commands",
527
512
  "auth",
528
- "login.js"
513
+ "revoke.js"
529
514
  ]
530
515
  },
531
- "auth:logout": {
516
+ "auth:status": {
532
517
  "aliases": [],
533
518
  "args": {},
534
- "description": "Remove stored authentication token",
519
+ "description": "Show current authentication state (local only)",
535
520
  "examples": [
536
- "<%= config.bin %> auth logout"
521
+ "<%= config.bin %> auth status"
537
522
  ],
538
523
  "flags": {
539
524
  "json": {
@@ -546,7 +531,7 @@
546
531
  },
547
532
  "hasDynamicHelp": false,
548
533
  "hiddenAliases": [],
549
- "id": "auth:logout",
534
+ "id": "auth:status",
550
535
  "pluginAlias": "adapty",
551
536
  "pluginName": "adapty",
552
537
  "pluginType": "core",
@@ -557,15 +542,15 @@
557
542
  "dist",
558
543
  "commands",
559
544
  "auth",
560
- "logout.js"
545
+ "status.js"
561
546
  ]
562
547
  },
563
- "auth:revoke": {
548
+ "auth:whoami": {
564
549
  "aliases": [],
565
550
  "args": {},
566
- "description": "Revoke the current authentication token",
551
+ "description": "Show current user info from server (verifies token)",
567
552
  "examples": [
568
- "<%= config.bin %> auth revoke"
553
+ "<%= config.bin %> auth whoami"
569
554
  ],
570
555
  "flags": {
571
556
  "json": {
@@ -578,7 +563,7 @@
578
563
  },
579
564
  "hasDynamicHelp": false,
580
565
  "hiddenAliases": [],
581
- "id": "auth:revoke",
566
+ "id": "auth:whoami",
582
567
  "pluginAlias": "adapty",
583
568
  "pluginName": "adapty",
584
569
  "pluginType": "core",
@@ -589,15 +574,16 @@
589
574
  "dist",
590
575
  "commands",
591
576
  "auth",
592
- "revoke.js"
577
+ "whoami.js"
593
578
  ]
594
579
  },
595
- "auth:status": {
580
+ "asa:connect": {
596
581
  "aliases": [],
597
582
  "args": {},
598
- "description": "Show current authentication state (local only)",
583
+ "description": "Connect an Apple Search Ads account to this company",
599
584
  "examples": [
600
- "<%= config.bin %> auth status"
585
+ "<%= config.bin %> asa connect",
586
+ "<%= config.bin %> asa connect --no-wait"
601
587
  ],
602
588
  "flags": {
603
589
  "json": {
@@ -606,11 +592,25 @@
606
592
  "name": "json",
607
593
  "allowNo": false,
608
594
  "type": "boolean"
595
+ },
596
+ "timeout": {
597
+ "description": "Seconds to wait for the browser step",
598
+ "name": "timeout",
599
+ "default": 300,
600
+ "hasDynamicHelp": false,
601
+ "multiple": false,
602
+ "type": "option"
603
+ },
604
+ "wait": {
605
+ "description": "Wait until Apple Ads reports as connected",
606
+ "name": "wait",
607
+ "allowNo": true,
608
+ "type": "boolean"
609
609
  }
610
610
  },
611
611
  "hasDynamicHelp": false,
612
612
  "hiddenAliases": [],
613
- "id": "auth:status",
613
+ "id": "asa:connect",
614
614
  "pluginAlias": "adapty",
615
615
  "pluginName": "adapty",
616
616
  "pluginType": "core",
@@ -620,16 +620,16 @@
620
620
  "relativePath": [
621
621
  "dist",
622
622
  "commands",
623
- "auth",
624
- "status.js"
623
+ "asa",
624
+ "connect.js"
625
625
  ]
626
626
  },
627
- "auth:whoami": {
627
+ "asa:whoami": {
628
628
  "aliases": [],
629
629
  "args": {},
630
- "description": "Show current user info from server (verifies token)",
630
+ "description": "Show which company the token unlocks and whether Apple Ads is connected",
631
631
  "examples": [
632
- "<%= config.bin %> auth whoami"
632
+ "<%= config.bin %> asa whoami"
633
633
  ],
634
634
  "flags": {
635
635
  "json": {
@@ -642,7 +642,7 @@
642
642
  },
643
643
  "hasDynamicHelp": false,
644
644
  "hiddenAliases": [],
645
- "id": "auth:whoami",
645
+ "id": "asa:whoami",
646
646
  "pluginAlias": "adapty",
647
647
  "pluginName": "adapty",
648
648
  "pluginType": "core",
@@ -652,7 +652,7 @@
652
652
  "relativePath": [
653
653
  "dist",
654
654
  "commands",
655
- "auth",
655
+ "asa",
656
656
  "whoami.js"
657
657
  ]
658
658
  },
@@ -806,12 +806,13 @@
806
806
  "list.js"
807
807
  ]
808
808
  },
809
- "paywalls:create": {
809
+ "placements:create": {
810
810
  "aliases": [],
811
811
  "args": {},
812
- "description": "Create a paywall with products",
812
+ "description": "Create a placement with a paywall",
813
813
  "examples": [
814
- "<%= config.bin %> paywalls create --app UUID --title \"Default Paywall\" --product-id UUID1 --product-id UUID2"
814
+ "<%= config.bin %> placements create --app UUID --title \"Default\" --developer-id default --audiences '[{\"segment_ids\":[],\"paywall_id\":\"PAYWALL_UUID\",\"priority\":0}]'",
815
+ "<%= config.bin %> placements create --app UUID --title \"Default\" --developer-id default --paywall-id PAYWALL_UUID"
815
816
  ],
816
817
  "flags": {
817
818
  "json": {
@@ -829,16 +830,30 @@
829
830
  "multiple": false,
830
831
  "type": "option"
831
832
  },
832
- "product-id": {
833
- "description": "Product ID (UUID). Repeat for multiple.",
834
- "name": "product-id",
833
+ "audiences": {
834
+ "description": "JSON array of audience entries: [{segment_ids, paywall_id, priority}]",
835
+ "name": "audiences",
836
+ "hasDynamicHelp": false,
837
+ "multiple": false,
838
+ "type": "option"
839
+ },
840
+ "developer-id": {
841
+ "description": "Developer ID for the placement",
842
+ "name": "developer-id",
835
843
  "required": true,
836
844
  "hasDynamicHelp": false,
837
- "multiple": true,
845
+ "multiple": false,
846
+ "type": "option"
847
+ },
848
+ "paywall-id": {
849
+ "description": "Paywall ID (UUID). DEPRECATED: use --audiences.",
850
+ "name": "paywall-id",
851
+ "hasDynamicHelp": false,
852
+ "multiple": false,
838
853
  "type": "option"
839
854
  },
840
855
  "title": {
841
- "description": "Paywall title",
856
+ "description": "Placement title",
842
857
  "name": "title",
843
858
  "required": true,
844
859
  "hasDynamicHelp": false,
@@ -848,7 +863,7 @@
848
863
  },
849
864
  "hasDynamicHelp": false,
850
865
  "hiddenAliases": [],
851
- "id": "paywalls:create",
866
+ "id": "placements:create",
852
867
  "pluginAlias": "adapty",
853
868
  "pluginName": "adapty",
854
869
  "pluginType": "core",
@@ -858,22 +873,22 @@
858
873
  "relativePath": [
859
874
  "dist",
860
875
  "commands",
861
- "paywalls",
876
+ "placements",
862
877
  "create.js"
863
878
  ]
864
879
  },
865
- "paywalls:get": {
880
+ "placements:get": {
866
881
  "aliases": [],
867
882
  "args": {
868
- "paywall_id": {
869
- "description": "Paywall ID (UUID)",
870
- "name": "paywall_id",
883
+ "placement_id": {
884
+ "description": "Placement ID (UUID)",
885
+ "name": "placement_id",
871
886
  "required": true
872
887
  }
873
888
  },
874
- "description": "Get paywall details",
889
+ "description": "Get placement details",
875
890
  "examples": [
876
- "<%= config.bin %> paywalls get --app UUID 550e8400-e29b-41d4-a716-446655440000"
891
+ "<%= config.bin %> placements get --app UUID 550e8400-e29b-41d4-a716-446655440000"
877
892
  ],
878
893
  "flags": {
879
894
  "json": {
@@ -894,7 +909,7 @@
894
909
  },
895
910
  "hasDynamicHelp": false,
896
911
  "hiddenAliases": [],
897
- "id": "paywalls:get",
912
+ "id": "placements:get",
898
913
  "pluginAlias": "adapty",
899
914
  "pluginName": "adapty",
900
915
  "pluginType": "core",
@@ -904,16 +919,16 @@
904
919
  "relativePath": [
905
920
  "dist",
906
921
  "commands",
907
- "paywalls",
922
+ "placements",
908
923
  "get.js"
909
924
  ]
910
925
  },
911
- "paywalls:list": {
926
+ "placements:list": {
912
927
  "aliases": [],
913
928
  "args": {},
914
- "description": "List paywalls for an app",
929
+ "description": "List placements for an app",
915
930
  "examples": [
916
- "<%= config.bin %> paywalls list --app 550e8400-..."
931
+ "<%= config.bin %> placements list --app 550e8400-..."
917
932
  ],
918
933
  "flags": {
919
934
  "json": {
@@ -950,7 +965,7 @@
950
965
  },
951
966
  "hasDynamicHelp": false,
952
967
  "hiddenAliases": [],
953
- "id": "paywalls:list",
968
+ "id": "placements:list",
954
969
  "pluginAlias": "adapty",
955
970
  "pluginName": "adapty",
956
971
  "pluginType": "core",
@@ -960,22 +975,23 @@
960
975
  "relativePath": [
961
976
  "dist",
962
977
  "commands",
963
- "paywalls",
978
+ "placements",
964
979
  "list.js"
965
980
  ]
966
981
  },
967
- "paywalls:placements": {
982
+ "placements:update": {
968
983
  "aliases": [],
969
984
  "args": {
970
- "paywall_id": {
971
- "description": "Paywall ID (UUID)",
972
- "name": "paywall_id",
985
+ "placement_id": {
986
+ "description": "Placement ID (UUID)",
987
+ "name": "placement_id",
973
988
  "required": true
974
989
  }
975
990
  },
976
- "description": "List placements that currently use this paywall",
991
+ "description": "Update a placement",
977
992
  "examples": [
978
- "<%= config.bin %> paywalls placements --app UUID 770e8400-e29b-41d4-a716-446655440002"
993
+ "<%= config.bin %> placements update --app UUID 550e8400-... --title \"Default\" --developer-id default --audiences '[{\"segment_ids\":[],\"paywall_id\":\"PAYWALL_UUID\",\"priority\":0}]'",
994
+ "<%= config.bin %> placements update --app UUID 550e8400-... --title \"Default\" --developer-id default --paywall-id PAYWALL_UUID"
979
995
  ],
980
996
  "flags": {
981
997
  "json": {
@@ -992,11 +1008,41 @@
992
1008
  "hasDynamicHelp": false,
993
1009
  "multiple": false,
994
1010
  "type": "option"
1011
+ },
1012
+ "audiences": {
1013
+ "description": "JSON array of audience entries: [{segment_ids, paywall_id, priority}]",
1014
+ "name": "audiences",
1015
+ "hasDynamicHelp": false,
1016
+ "multiple": false,
1017
+ "type": "option"
1018
+ },
1019
+ "developer-id": {
1020
+ "description": "Developer ID for the placement",
1021
+ "name": "developer-id",
1022
+ "required": true,
1023
+ "hasDynamicHelp": false,
1024
+ "multiple": false,
1025
+ "type": "option"
1026
+ },
1027
+ "paywall-id": {
1028
+ "description": "Paywall ID (UUID). DEPRECATED: use --audiences.",
1029
+ "name": "paywall-id",
1030
+ "hasDynamicHelp": false,
1031
+ "multiple": false,
1032
+ "type": "option"
1033
+ },
1034
+ "title": {
1035
+ "description": "Placement title",
1036
+ "name": "title",
1037
+ "required": true,
1038
+ "hasDynamicHelp": false,
1039
+ "multiple": false,
1040
+ "type": "option"
995
1041
  }
996
1042
  },
997
1043
  "hasDynamicHelp": false,
998
1044
  "hiddenAliases": [],
999
- "id": "paywalls:placements",
1045
+ "id": "placements:update",
1000
1046
  "pluginAlias": "adapty",
1001
1047
  "pluginName": "adapty",
1002
1048
  "pluginType": "core",
@@ -1006,22 +1052,16 @@
1006
1052
  "relativePath": [
1007
1053
  "dist",
1008
1054
  "commands",
1009
- "paywalls",
1010
- "placements.js"
1055
+ "placements",
1056
+ "update.js"
1011
1057
  ]
1012
1058
  },
1013
- "paywalls:update": {
1059
+ "paywalls:create": {
1014
1060
  "aliases": [],
1015
- "args": {
1016
- "paywall_id": {
1017
- "description": "Paywall ID (UUID)",
1018
- "name": "paywall_id",
1019
- "required": true
1020
- }
1021
- },
1022
- "description": "Update a paywall",
1061
+ "args": {},
1062
+ "description": "Create a paywall with products",
1023
1063
  "examples": [
1024
- "<%= config.bin %> paywalls update --app UUID 550e8400-... --title \"Default Paywall\" --product-id UUID1 --product-id UUID2"
1064
+ "<%= config.bin %> paywalls create --app UUID --title \"Default Paywall\" --product-id UUID1 --product-id UUID2"
1025
1065
  ],
1026
1066
  "flags": {
1027
1067
  "json": {
@@ -1058,7 +1098,7 @@
1058
1098
  },
1059
1099
  "hasDynamicHelp": false,
1060
1100
  "hiddenAliases": [],
1061
- "id": "paywalls:update",
1101
+ "id": "paywalls:create",
1062
1102
  "pluginAlias": "adapty",
1063
1103
  "pluginName": "adapty",
1064
1104
  "pluginType": "core",
@@ -1069,16 +1109,21 @@
1069
1109
  "dist",
1070
1110
  "commands",
1071
1111
  "paywalls",
1072
- "update.js"
1112
+ "create.js"
1073
1113
  ]
1074
1114
  },
1075
- "placements:create": {
1115
+ "paywalls:get": {
1076
1116
  "aliases": [],
1077
- "args": {},
1078
- "description": "Create a placement with a paywall",
1117
+ "args": {
1118
+ "paywall_id": {
1119
+ "description": "Paywall ID (UUID)",
1120
+ "name": "paywall_id",
1121
+ "required": true
1122
+ }
1123
+ },
1124
+ "description": "Get paywall details",
1079
1125
  "examples": [
1080
- "<%= config.bin %> placements create --app UUID --title \"Default\" --developer-id default --audiences '[{\"segment_ids\":[],\"paywall_id\":\"PAYWALL_UUID\",\"priority\":0}]'",
1081
- "<%= config.bin %> placements create --app UUID --title \"Default\" --developer-id default --paywall-id PAYWALL_UUID"
1126
+ "<%= config.bin %> paywalls get --app UUID 550e8400-e29b-41d4-a716-446655440000"
1082
1127
  ],
1083
1128
  "flags": {
1084
1129
  "json": {
@@ -1095,33 +1140,59 @@
1095
1140
  "hasDynamicHelp": false,
1096
1141
  "multiple": false,
1097
1142
  "type": "option"
1143
+ }
1144
+ },
1145
+ "hasDynamicHelp": false,
1146
+ "hiddenAliases": [],
1147
+ "id": "paywalls:get",
1148
+ "pluginAlias": "adapty",
1149
+ "pluginName": "adapty",
1150
+ "pluginType": "core",
1151
+ "strict": true,
1152
+ "enableJsonFlag": true,
1153
+ "isESM": true,
1154
+ "relativePath": [
1155
+ "dist",
1156
+ "commands",
1157
+ "paywalls",
1158
+ "get.js"
1159
+ ]
1160
+ },
1161
+ "paywalls:list": {
1162
+ "aliases": [],
1163
+ "args": {},
1164
+ "description": "List paywalls for an app",
1165
+ "examples": [
1166
+ "<%= config.bin %> paywalls list --app 550e8400-..."
1167
+ ],
1168
+ "flags": {
1169
+ "json": {
1170
+ "description": "Format output as json.",
1171
+ "helpGroup": "GLOBAL",
1172
+ "name": "json",
1173
+ "allowNo": false,
1174
+ "type": "boolean"
1098
1175
  },
1099
- "audiences": {
1100
- "description": "JSON array of audience entries: [{segment_ids, paywall_id, priority}]",
1101
- "name": "audiences",
1102
- "hasDynamicHelp": false,
1103
- "multiple": false,
1104
- "type": "option"
1105
- },
1106
- "developer-id": {
1107
- "description": "Developer ID for the placement",
1108
- "name": "developer-id",
1176
+ "app": {
1177
+ "description": "App ID (UUID)",
1178
+ "name": "app",
1109
1179
  "required": true,
1110
1180
  "hasDynamicHelp": false,
1111
1181
  "multiple": false,
1112
1182
  "type": "option"
1113
1183
  },
1114
- "paywall-id": {
1115
- "description": "Paywall ID (UUID). DEPRECATED: use --audiences.",
1116
- "name": "paywall-id",
1184
+ "page": {
1185
+ "description": "Page number",
1186
+ "name": "page",
1187
+ "default": 1,
1117
1188
  "hasDynamicHelp": false,
1118
1189
  "multiple": false,
1119
1190
  "type": "option"
1120
1191
  },
1121
- "title": {
1122
- "description": "Placement title",
1123
- "name": "title",
1124
- "required": true,
1192
+ "page-size": {
1193
+ "description": "Items per page (max 100)",
1194
+ "name": "page-size",
1195
+ "default": 20,
1125
1196
  "hasDynamicHelp": false,
1126
1197
  "multiple": false,
1127
1198
  "type": "option"
@@ -1129,7 +1200,7 @@
1129
1200
  },
1130
1201
  "hasDynamicHelp": false,
1131
1202
  "hiddenAliases": [],
1132
- "id": "placements:create",
1203
+ "id": "paywalls:list",
1133
1204
  "pluginAlias": "adapty",
1134
1205
  "pluginName": "adapty",
1135
1206
  "pluginType": "core",
@@ -1139,22 +1210,22 @@
1139
1210
  "relativePath": [
1140
1211
  "dist",
1141
1212
  "commands",
1142
- "placements",
1143
- "create.js"
1213
+ "paywalls",
1214
+ "list.js"
1144
1215
  ]
1145
1216
  },
1146
- "placements:get": {
1217
+ "paywalls:placements": {
1147
1218
  "aliases": [],
1148
1219
  "args": {
1149
- "placement_id": {
1150
- "description": "Placement ID (UUID)",
1151
- "name": "placement_id",
1220
+ "paywall_id": {
1221
+ "description": "Paywall ID (UUID)",
1222
+ "name": "paywall_id",
1152
1223
  "required": true
1153
1224
  }
1154
1225
  },
1155
- "description": "Get placement details",
1226
+ "description": "List placements that currently use this paywall",
1156
1227
  "examples": [
1157
- "<%= config.bin %> placements get --app UUID 550e8400-e29b-41d4-a716-446655440000"
1228
+ "<%= config.bin %> paywalls placements --app UUID 770e8400-e29b-41d4-a716-446655440002"
1158
1229
  ],
1159
1230
  "flags": {
1160
1231
  "json": {
@@ -1175,7 +1246,7 @@
1175
1246
  },
1176
1247
  "hasDynamicHelp": false,
1177
1248
  "hiddenAliases": [],
1178
- "id": "placements:get",
1249
+ "id": "paywalls:placements",
1179
1250
  "pluginAlias": "adapty",
1180
1251
  "pluginName": "adapty",
1181
1252
  "pluginType": "core",
@@ -1185,16 +1256,22 @@
1185
1256
  "relativePath": [
1186
1257
  "dist",
1187
1258
  "commands",
1188
- "placements",
1189
- "get.js"
1259
+ "paywalls",
1260
+ "placements.js"
1190
1261
  ]
1191
1262
  },
1192
- "placements:list": {
1263
+ "paywalls:update": {
1193
1264
  "aliases": [],
1194
- "args": {},
1195
- "description": "List placements for an app",
1265
+ "args": {
1266
+ "paywall_id": {
1267
+ "description": "Paywall ID (UUID)",
1268
+ "name": "paywall_id",
1269
+ "required": true
1270
+ }
1271
+ },
1272
+ "description": "Update a paywall",
1196
1273
  "examples": [
1197
- "<%= config.bin %> placements list --app 550e8400-..."
1274
+ "<%= config.bin %> paywalls update --app UUID 550e8400-... --title \"Default Paywall\" --product-id UUID1 --product-id UUID2"
1198
1275
  ],
1199
1276
  "flags": {
1200
1277
  "json": {
@@ -1212,18 +1289,18 @@
1212
1289
  "multiple": false,
1213
1290
  "type": "option"
1214
1291
  },
1215
- "page": {
1216
- "description": "Page number",
1217
- "name": "page",
1218
- "default": 1,
1292
+ "product-id": {
1293
+ "description": "Product ID (UUID). Repeat for multiple.",
1294
+ "name": "product-id",
1295
+ "required": true,
1219
1296
  "hasDynamicHelp": false,
1220
- "multiple": false,
1297
+ "multiple": true,
1221
1298
  "type": "option"
1222
1299
  },
1223
- "page-size": {
1224
- "description": "Items per page (max 100)",
1225
- "name": "page-size",
1226
- "default": 20,
1300
+ "title": {
1301
+ "description": "Paywall title",
1302
+ "name": "title",
1303
+ "required": true,
1227
1304
  "hasDynamicHelp": false,
1228
1305
  "multiple": false,
1229
1306
  "type": "option"
@@ -1231,7 +1308,7 @@
1231
1308
  },
1232
1309
  "hasDynamicHelp": false,
1233
1310
  "hiddenAliases": [],
1234
- "id": "placements:list",
1311
+ "id": "paywalls:update",
1235
1312
  "pluginAlias": "adapty",
1236
1313
  "pluginName": "adapty",
1237
1314
  "pluginType": "core",
@@ -1241,23 +1318,22 @@
1241
1318
  "relativePath": [
1242
1319
  "dist",
1243
1320
  "commands",
1244
- "placements",
1245
- "list.js"
1321
+ "paywalls",
1322
+ "update.js"
1246
1323
  ]
1247
1324
  },
1248
- "placements:update": {
1325
+ "segments:get": {
1249
1326
  "aliases": [],
1250
1327
  "args": {
1251
- "placement_id": {
1252
- "description": "Placement ID (UUID)",
1253
- "name": "placement_id",
1328
+ "segment_id": {
1329
+ "description": "Segment ID (UUID)",
1330
+ "name": "segment_id",
1254
1331
  "required": true
1255
1332
  }
1256
1333
  },
1257
- "description": "Update a placement",
1334
+ "description": "Get segment details",
1258
1335
  "examples": [
1259
- "<%= config.bin %> placements update --app UUID 550e8400-... --title \"Default\" --developer-id default --audiences '[{\"segment_ids\":[],\"paywall_id\":\"PAYWALL_UUID\",\"priority\":0}]'",
1260
- "<%= config.bin %> placements update --app UUID 550e8400-... --title \"Default\" --developer-id default --paywall-id PAYWALL_UUID"
1336
+ "<%= config.bin %> segments get --app UUID 550e8400-e29b-41d4-a716-446655440000"
1261
1337
  ],
1262
1338
  "flags": {
1263
1339
  "json": {
@@ -1274,33 +1350,59 @@
1274
1350
  "hasDynamicHelp": false,
1275
1351
  "multiple": false,
1276
1352
  "type": "option"
1353
+ }
1354
+ },
1355
+ "hasDynamicHelp": false,
1356
+ "hiddenAliases": [],
1357
+ "id": "segments:get",
1358
+ "pluginAlias": "adapty",
1359
+ "pluginName": "adapty",
1360
+ "pluginType": "core",
1361
+ "strict": true,
1362
+ "enableJsonFlag": true,
1363
+ "isESM": true,
1364
+ "relativePath": [
1365
+ "dist",
1366
+ "commands",
1367
+ "segments",
1368
+ "get.js"
1369
+ ]
1370
+ },
1371
+ "segments:list": {
1372
+ "aliases": [],
1373
+ "args": {},
1374
+ "description": "List segments for an app",
1375
+ "examples": [
1376
+ "<%= config.bin %> segments list --app 550e8400-..."
1377
+ ],
1378
+ "flags": {
1379
+ "json": {
1380
+ "description": "Format output as json.",
1381
+ "helpGroup": "GLOBAL",
1382
+ "name": "json",
1383
+ "allowNo": false,
1384
+ "type": "boolean"
1277
1385
  },
1278
- "audiences": {
1279
- "description": "JSON array of audience entries: [{segment_ids, paywall_id, priority}]",
1280
- "name": "audiences",
1281
- "hasDynamicHelp": false,
1282
- "multiple": false,
1283
- "type": "option"
1284
- },
1285
- "developer-id": {
1286
- "description": "Developer ID for the placement",
1287
- "name": "developer-id",
1386
+ "app": {
1387
+ "description": "App ID (UUID)",
1388
+ "name": "app",
1288
1389
  "required": true,
1289
1390
  "hasDynamicHelp": false,
1290
1391
  "multiple": false,
1291
1392
  "type": "option"
1292
1393
  },
1293
- "paywall-id": {
1294
- "description": "Paywall ID (UUID). DEPRECATED: use --audiences.",
1295
- "name": "paywall-id",
1394
+ "page": {
1395
+ "description": "Page number",
1396
+ "name": "page",
1397
+ "default": 1,
1296
1398
  "hasDynamicHelp": false,
1297
1399
  "multiple": false,
1298
1400
  "type": "option"
1299
1401
  },
1300
- "title": {
1301
- "description": "Placement title",
1302
- "name": "title",
1303
- "required": true,
1402
+ "page-size": {
1403
+ "description": "Items per page (max 100)",
1404
+ "name": "page-size",
1405
+ "default": 20,
1304
1406
  "hasDynamicHelp": false,
1305
1407
  "multiple": false,
1306
1408
  "type": "option"
@@ -1308,7 +1410,7 @@
1308
1410
  },
1309
1411
  "hasDynamicHelp": false,
1310
1412
  "hiddenAliases": [],
1311
- "id": "placements:update",
1413
+ "id": "segments:list",
1312
1414
  "pluginAlias": "adapty",
1313
1415
  "pluginName": "adapty",
1314
1416
  "pluginType": "core",
@@ -1318,8 +1420,8 @@
1318
1420
  "relativePath": [
1319
1421
  "dist",
1320
1422
  "commands",
1321
- "placements",
1322
- "update.js"
1423
+ "segments",
1424
+ "list.js"
1323
1425
  ]
1324
1426
  },
1325
1427
  "products:create": {
@@ -1606,115 +1708,12 @@
1606
1708
  "update.js"
1607
1709
  ]
1608
1710
  },
1609
- "segments:get": {
1610
- "aliases": [],
1611
- "args": {
1612
- "segment_id": {
1613
- "description": "Segment ID (UUID)",
1614
- "name": "segment_id",
1615
- "required": true
1616
- }
1617
- },
1618
- "description": "Get segment details",
1619
- "examples": [
1620
- "<%= config.bin %> segments get --app UUID 550e8400-e29b-41d4-a716-446655440000"
1621
- ],
1622
- "flags": {
1623
- "json": {
1624
- "description": "Format output as json.",
1625
- "helpGroup": "GLOBAL",
1626
- "name": "json",
1627
- "allowNo": false,
1628
- "type": "boolean"
1629
- },
1630
- "app": {
1631
- "description": "App ID (UUID)",
1632
- "name": "app",
1633
- "required": true,
1634
- "hasDynamicHelp": false,
1635
- "multiple": false,
1636
- "type": "option"
1637
- }
1638
- },
1639
- "hasDynamicHelp": false,
1640
- "hiddenAliases": [],
1641
- "id": "segments:get",
1642
- "pluginAlias": "adapty",
1643
- "pluginName": "adapty",
1644
- "pluginType": "core",
1645
- "strict": true,
1646
- "enableJsonFlag": true,
1647
- "isESM": true,
1648
- "relativePath": [
1649
- "dist",
1650
- "commands",
1651
- "segments",
1652
- "get.js"
1653
- ]
1654
- },
1655
- "segments:list": {
1656
- "aliases": [],
1657
- "args": {},
1658
- "description": "List segments for an app",
1659
- "examples": [
1660
- "<%= config.bin %> segments list --app 550e8400-..."
1661
- ],
1662
- "flags": {
1663
- "json": {
1664
- "description": "Format output as json.",
1665
- "helpGroup": "GLOBAL",
1666
- "name": "json",
1667
- "allowNo": false,
1668
- "type": "boolean"
1669
- },
1670
- "app": {
1671
- "description": "App ID (UUID)",
1672
- "name": "app",
1673
- "required": true,
1674
- "hasDynamicHelp": false,
1675
- "multiple": false,
1676
- "type": "option"
1677
- },
1678
- "page": {
1679
- "description": "Page number",
1680
- "name": "page",
1681
- "default": 1,
1682
- "hasDynamicHelp": false,
1683
- "multiple": false,
1684
- "type": "option"
1685
- },
1686
- "page-size": {
1687
- "description": "Items per page (max 100)",
1688
- "name": "page-size",
1689
- "default": 20,
1690
- "hasDynamicHelp": false,
1691
- "multiple": false,
1692
- "type": "option"
1693
- }
1694
- },
1695
- "hasDynamicHelp": false,
1696
- "hiddenAliases": [],
1697
- "id": "segments:list",
1698
- "pluginAlias": "adapty",
1699
- "pluginName": "adapty",
1700
- "pluginType": "core",
1701
- "strict": true,
1702
- "enableJsonFlag": true,
1703
- "isESM": true,
1704
- "relativePath": [
1705
- "dist",
1706
- "commands",
1707
- "segments",
1708
- "list.js"
1709
- ]
1710
- },
1711
- "asa:ad-groups:create": {
1711
+ "asa:ads:create": {
1712
1712
  "aliases": [],
1713
1713
  "args": {},
1714
- "description": "Create an ad group inside a campaign",
1714
+ "description": "Create an ad from a creative in an ad group",
1715
1715
  "examples": [
1716
- "<%= config.bin %> asa ad-groups create --campaign UUID --name \"Brand terms\" --default-bid 1.20",
1717
- "<%= config.bin %> asa ad-groups create --campaign UUID --name \"Brand terms\" --default-bid 1.20 --start-time 2026-09-01 --pricing-model CPM"
1716
+ "<%= config.bin %> asa ads create --ad-group UUID --creative-id 4321 --name \"Summer ad\""
1718
1717
  ],
1719
1718
  "flags": {
1720
1719
  "json": {
@@ -1724,40 +1723,6 @@
1724
1723
  "allowNo": false,
1725
1724
  "type": "boolean"
1726
1725
  },
1727
- "currency": {
1728
- "description": "Currency code for the amounts in this call",
1729
- "name": "currency",
1730
- "default": "USD",
1731
- "hasDynamicHelp": false,
1732
- "multiple": false,
1733
- "type": "option"
1734
- },
1735
- "end-time": {
1736
- "description": "Schedule end (YYYY-MM-DD)",
1737
- "name": "end-time",
1738
- "hasDynamicHelp": false,
1739
- "multiple": false,
1740
- "type": "option"
1741
- },
1742
- "start-time": {
1743
- "description": "Schedule start (YYYY-MM-DD), defaults to today",
1744
- "name": "start-time",
1745
- "hasDynamicHelp": false,
1746
- "multiple": false,
1747
- "type": "option"
1748
- },
1749
- "pricing-model": {
1750
- "description": "Pricing model; Apple requires one on every ad group",
1751
- "name": "pricing-model",
1752
- "default": "CPC",
1753
- "hasDynamicHelp": false,
1754
- "multiple": false,
1755
- "options": [
1756
- "CPC",
1757
- "CPM"
1758
- ],
1759
- "type": "option"
1760
- },
1761
1726
  "yes": {
1762
1727
  "char": "y",
1763
1728
  "description": "Apply without asking; required when the output is piped or --json is used",
@@ -1772,37 +1737,24 @@
1772
1737
  "multiple": false,
1773
1738
  "type": "option"
1774
1739
  },
1775
- "automated-keywords": {
1776
- "description": "Let Apple add keywords automatically",
1777
- "name": "automated-keywords",
1778
- "allowNo": true,
1779
- "type": "boolean"
1780
- },
1781
- "campaign": {
1782
- "description": "Campaign ID (UUID)",
1783
- "name": "campaign",
1740
+ "ad-group": {
1741
+ "description": "Ad group ID (UUID) — the campaign is resolved from it",
1742
+ "name": "ad-group",
1784
1743
  "required": true,
1785
1744
  "hasDynamicHelp": false,
1786
1745
  "multiple": false,
1787
1746
  "type": "option"
1788
1747
  },
1789
- "cpa-goal": {
1790
- "description": "CPA goal (amount, e.g. 50 or 12.50)",
1791
- "name": "cpa-goal",
1792
- "hasDynamicHelp": false,
1793
- "multiple": false,
1794
- "type": "option"
1795
- },
1796
- "default-bid": {
1797
- "description": "Default bid (amount, e.g. 50 or 12.50)",
1798
- "name": "default-bid",
1748
+ "creative-id": {
1749
+ "description": "Apple creative ID from a product page or the default set",
1750
+ "name": "creative-id",
1799
1751
  "required": true,
1800
1752
  "hasDynamicHelp": false,
1801
1753
  "multiple": false,
1802
1754
  "type": "option"
1803
1755
  },
1804
1756
  "name": {
1805
- "description": "Ad group name",
1757
+ "description": "Ad name",
1806
1758
  "name": "name",
1807
1759
  "required": true,
1808
1760
  "hasDynamicHelp": false,
@@ -1823,7 +1775,7 @@
1823
1775
  },
1824
1776
  "hasDynamicHelp": false,
1825
1777
  "hiddenAliases": [],
1826
- "id": "asa:ad-groups:create",
1778
+ "id": "asa:ads:create",
1827
1779
  "pluginAlias": "adapty",
1828
1780
  "pluginName": "adapty",
1829
1781
  "pluginType": "core",
@@ -1834,22 +1786,22 @@
1834
1786
  "dist",
1835
1787
  "commands",
1836
1788
  "asa",
1837
- "ad-groups",
1789
+ "ads",
1838
1790
  "create.js"
1839
1791
  ]
1840
1792
  },
1841
- "asa:ad-groups:get": {
1793
+ "asa:ads:get": {
1842
1794
  "aliases": [],
1843
1795
  "args": {
1844
- "ad_group_id": {
1845
- "description": "Ad group ID (UUID)",
1846
- "name": "ad_group_id",
1796
+ "ad_id": {
1797
+ "description": "Ad ID (UUID)",
1798
+ "name": "ad_id",
1847
1799
  "required": true
1848
1800
  }
1849
1801
  },
1850
- "description": "Show one ad group; read numbers with asa metrics",
1802
+ "description": "Show one ad and its serving state",
1851
1803
  "examples": [
1852
- "<%= config.bin %> asa ad-groups get 550e8400-e29b-41d4-a716-446655440000"
1804
+ "<%= config.bin %> asa ads get 550e8400-e29b-41d4-a716-446655440000"
1853
1805
  ],
1854
1806
  "flags": {
1855
1807
  "json": {
@@ -1862,7 +1814,7 @@
1862
1814
  },
1863
1815
  "hasDynamicHelp": false,
1864
1816
  "hiddenAliases": [],
1865
- "id": "asa:ad-groups:get",
1817
+ "id": "asa:ads:get",
1866
1818
  "pluginAlias": "adapty",
1867
1819
  "pluginName": "adapty",
1868
1820
  "pluginType": "core",
@@ -1873,17 +1825,17 @@
1873
1825
  "dist",
1874
1826
  "commands",
1875
1827
  "asa",
1876
- "ad-groups",
1828
+ "ads",
1877
1829
  "get.js"
1878
1830
  ]
1879
1831
  },
1880
- "asa:ad-groups:list": {
1832
+ "asa:ads:list": {
1881
1833
  "aliases": [],
1882
1834
  "args": {},
1883
- "description": "List ad groups; read numbers with asa metrics",
1835
+ "description": "List ads; serving_state_reasons explains why an enabled ad is not running",
1884
1836
  "examples": [
1885
- "<%= config.bin %> asa ad-groups list",
1886
- "<%= config.bin %> asa ad-groups list --campaign CAMPAIGN_UUID"
1837
+ "<%= config.bin %> asa ads list",
1838
+ "<%= config.bin %> asa ads list --ad-group AD_GROUP_UUID --status ENABLED"
1887
1839
  ],
1888
1840
  "flags": {
1889
1841
  "json": {
@@ -1909,9 +1861,16 @@
1909
1861
  "multiple": false,
1910
1862
  "type": "option"
1911
1863
  },
1912
- "app": {
1913
- "description": "Keep only rows in this app; repeatable",
1914
- "name": "app",
1864
+ "ad-group": {
1865
+ "description": "Keep only rows in this ad group; repeatable",
1866
+ "name": "ad-group",
1867
+ "hasDynamicHelp": false,
1868
+ "multiple": true,
1869
+ "type": "option"
1870
+ },
1871
+ "campaign": {
1872
+ "description": "Keep only rows in this campaign; repeatable",
1873
+ "name": "campaign",
1915
1874
  "hasDynamicHelp": false,
1916
1875
  "multiple": true,
1917
1876
  "type": "option"
@@ -1930,13 +1889,6 @@
1930
1889
  "multiple": false,
1931
1890
  "type": "option"
1932
1891
  },
1933
- "campaign": {
1934
- "description": "Keep only rows in this campaign; repeatable",
1935
- "name": "campaign",
1936
- "hasDynamicHelp": false,
1937
- "multiple": true,
1938
- "type": "option"
1939
- },
1940
1892
  "status": {
1941
1893
  "description": "Keep only rows in this state",
1942
1894
  "name": "status",
@@ -1951,7 +1903,7 @@
1951
1903
  },
1952
1904
  "hasDynamicHelp": false,
1953
1905
  "hiddenAliases": [],
1954
- "id": "asa:ad-groups:list",
1906
+ "id": "asa:ads:list",
1955
1907
  "pluginAlias": "adapty",
1956
1908
  "pluginName": "adapty",
1957
1909
  "pluginType": "core",
@@ -1962,23 +1914,22 @@
1962
1914
  "dist",
1963
1915
  "commands",
1964
1916
  "asa",
1965
- "ad-groups",
1917
+ "ads",
1966
1918
  "list.js"
1967
1919
  ]
1968
1920
  },
1969
- "asa:ad-groups:update": {
1921
+ "asa:ads:update": {
1970
1922
  "aliases": [],
1971
1923
  "args": {
1972
- "ad_group_id": {
1973
- "description": "Ad group ID (UUID)",
1974
- "name": "ad_group_id",
1924
+ "ad_id": {
1925
+ "description": "Ad ID (UUID)",
1926
+ "name": "ad_id",
1975
1927
  "required": true
1976
1928
  }
1977
1929
  },
1978
- "description": "Change an ad group: bid, CPA goal, status or schedule",
1930
+ "description": "Rename an ad or pause it; the creative and ad group are fixed at creation",
1979
1931
  "examples": [
1980
- "<%= config.bin %> asa ad-groups update UUID --default-bid 1.50",
1981
- "<%= config.bin %> asa ad-groups update UUID --status PAUSED"
1932
+ "<%= config.bin %> asa ads update UUID --status PAUSED"
1982
1933
  ],
1983
1934
  "flags": {
1984
1935
  "json": {
@@ -1988,28 +1939,6 @@
1988
1939
  "allowNo": false,
1989
1940
  "type": "boolean"
1990
1941
  },
1991
- "currency": {
1992
- "description": "Currency code for the amounts in this call",
1993
- "name": "currency",
1994
- "default": "USD",
1995
- "hasDynamicHelp": false,
1996
- "multiple": false,
1997
- "type": "option"
1998
- },
1999
- "end-time": {
2000
- "description": "Schedule end (YYYY-MM-DD)",
2001
- "name": "end-time",
2002
- "hasDynamicHelp": false,
2003
- "multiple": false,
2004
- "type": "option"
2005
- },
2006
- "start-time": {
2007
- "description": "Schedule start (YYYY-MM-DD), defaults to today",
2008
- "name": "start-time",
2009
- "hasDynamicHelp": false,
2010
- "multiple": false,
2011
- "type": "option"
2012
- },
2013
1942
  "yes": {
2014
1943
  "char": "y",
2015
1944
  "description": "Apply without asking; required when the output is piped or --json is used",
@@ -2024,35 +1953,15 @@
2024
1953
  "multiple": false,
2025
1954
  "type": "option"
2026
1955
  },
2027
- "automated-keywords": {
2028
- "description": "Let Apple add keywords automatically",
2029
- "name": "automated-keywords",
2030
- "allowNo": true,
2031
- "type": "boolean"
2032
- },
2033
- "cpa-goal": {
2034
- "description": "CPA goal (amount, e.g. 50 or 12.50)",
2035
- "name": "cpa-goal",
2036
- "hasDynamicHelp": false,
2037
- "multiple": false,
2038
- "type": "option"
2039
- },
2040
- "default-bid": {
2041
- "description": "Default bid (amount, e.g. 50 or 12.50)",
2042
- "name": "default-bid",
2043
- "hasDynamicHelp": false,
2044
- "multiple": false,
2045
- "type": "option"
2046
- },
2047
1956
  "name": {
2048
- "description": "Ad group name",
1957
+ "description": "Ad name",
2049
1958
  "name": "name",
2050
1959
  "hasDynamicHelp": false,
2051
1960
  "multiple": false,
2052
1961
  "type": "option"
2053
1962
  },
2054
1963
  "status": {
2055
- "description": "Ad group status",
1964
+ "description": "Ad status",
2056
1965
  "name": "status",
2057
1966
  "hasDynamicHelp": false,
2058
1967
  "multiple": false,
@@ -2065,7 +1974,7 @@
2065
1974
  },
2066
1975
  "hasDynamicHelp": false,
2067
1976
  "hiddenAliases": [],
2068
- "id": "asa:ad-groups:update",
1977
+ "id": "asa:ads:update",
2069
1978
  "pluginAlias": "adapty",
2070
1979
  "pluginName": "adapty",
2071
1980
  "pluginType": "core",
@@ -2076,16 +1985,17 @@
2076
1985
  "dist",
2077
1986
  "commands",
2078
1987
  "asa",
2079
- "ad-groups",
1988
+ "ads",
2080
1989
  "update.js"
2081
1990
  ]
2082
1991
  },
2083
- "asa:ads:create": {
1992
+ "asa:ad-groups:create": {
2084
1993
  "aliases": [],
2085
1994
  "args": {},
2086
- "description": "Create an ad from a creative in an ad group",
1995
+ "description": "Create an ad group inside a campaign",
2087
1996
  "examples": [
2088
- "<%= config.bin %> asa ads create --ad-group UUID --creative-id 4321 --name \"Summer ad\""
1997
+ "<%= config.bin %> asa ad-groups create --campaign UUID --name \"Brand terms\" --default-bid 1.20",
1998
+ "<%= config.bin %> asa ad-groups create --campaign UUID --name \"Brand terms\" --default-bid 1.20 --start-time 2026-09-01 --pricing-model CPM"
2089
1999
  ],
2090
2000
  "flags": {
2091
2001
  "json": {
@@ -2095,6 +2005,40 @@
2095
2005
  "allowNo": false,
2096
2006
  "type": "boolean"
2097
2007
  },
2008
+ "currency": {
2009
+ "description": "Currency code for the amounts in this call",
2010
+ "name": "currency",
2011
+ "default": "USD",
2012
+ "hasDynamicHelp": false,
2013
+ "multiple": false,
2014
+ "type": "option"
2015
+ },
2016
+ "end-time": {
2017
+ "description": "Schedule end (YYYY-MM-DD)",
2018
+ "name": "end-time",
2019
+ "hasDynamicHelp": false,
2020
+ "multiple": false,
2021
+ "type": "option"
2022
+ },
2023
+ "start-time": {
2024
+ "description": "Schedule start (YYYY-MM-DD), defaults to today",
2025
+ "name": "start-time",
2026
+ "hasDynamicHelp": false,
2027
+ "multiple": false,
2028
+ "type": "option"
2029
+ },
2030
+ "pricing-model": {
2031
+ "description": "Pricing model; Apple requires one on every ad group",
2032
+ "name": "pricing-model",
2033
+ "default": "CPC",
2034
+ "hasDynamicHelp": false,
2035
+ "multiple": false,
2036
+ "options": [
2037
+ "CPC",
2038
+ "CPM"
2039
+ ],
2040
+ "type": "option"
2041
+ },
2098
2042
  "yes": {
2099
2043
  "char": "y",
2100
2044
  "description": "Apply without asking; required when the output is piped or --json is used",
@@ -2109,24 +2053,37 @@
2109
2053
  "multiple": false,
2110
2054
  "type": "option"
2111
2055
  },
2112
- "ad-group": {
2113
- "description": "Ad group ID (UUID) — the campaign is resolved from it",
2114
- "name": "ad-group",
2056
+ "automated-keywords": {
2057
+ "description": "Let Apple add keywords automatically",
2058
+ "name": "automated-keywords",
2059
+ "allowNo": true,
2060
+ "type": "boolean"
2061
+ },
2062
+ "campaign": {
2063
+ "description": "Campaign ID (UUID)",
2064
+ "name": "campaign",
2115
2065
  "required": true,
2116
2066
  "hasDynamicHelp": false,
2117
2067
  "multiple": false,
2118
2068
  "type": "option"
2119
2069
  },
2120
- "creative-id": {
2121
- "description": "Apple creative ID from a product page or the default set",
2122
- "name": "creative-id",
2070
+ "cpa-goal": {
2071
+ "description": "CPA goal (amount, e.g. 50 or 12.50)",
2072
+ "name": "cpa-goal",
2073
+ "hasDynamicHelp": false,
2074
+ "multiple": false,
2075
+ "type": "option"
2076
+ },
2077
+ "default-bid": {
2078
+ "description": "Default bid (amount, e.g. 50 or 12.50)",
2079
+ "name": "default-bid",
2123
2080
  "required": true,
2124
2081
  "hasDynamicHelp": false,
2125
2082
  "multiple": false,
2126
2083
  "type": "option"
2127
2084
  },
2128
2085
  "name": {
2129
- "description": "Ad name",
2086
+ "description": "Ad group name",
2130
2087
  "name": "name",
2131
2088
  "required": true,
2132
2089
  "hasDynamicHelp": false,
@@ -2147,7 +2104,7 @@
2147
2104
  },
2148
2105
  "hasDynamicHelp": false,
2149
2106
  "hiddenAliases": [],
2150
- "id": "asa:ads:create",
2107
+ "id": "asa:ad-groups:create",
2151
2108
  "pluginAlias": "adapty",
2152
2109
  "pluginName": "adapty",
2153
2110
  "pluginType": "core",
@@ -2158,22 +2115,22 @@
2158
2115
  "dist",
2159
2116
  "commands",
2160
2117
  "asa",
2161
- "ads",
2118
+ "ad-groups",
2162
2119
  "create.js"
2163
2120
  ]
2164
2121
  },
2165
- "asa:ads:get": {
2122
+ "asa:ad-groups:get": {
2166
2123
  "aliases": [],
2167
2124
  "args": {
2168
- "ad_id": {
2169
- "description": "Ad ID (UUID)",
2170
- "name": "ad_id",
2125
+ "ad_group_id": {
2126
+ "description": "Ad group ID (UUID)",
2127
+ "name": "ad_group_id",
2171
2128
  "required": true
2172
2129
  }
2173
2130
  },
2174
- "description": "Show one ad and its serving state",
2131
+ "description": "Show one ad group; read numbers with asa metrics",
2175
2132
  "examples": [
2176
- "<%= config.bin %> asa ads get 550e8400-e29b-41d4-a716-446655440000"
2133
+ "<%= config.bin %> asa ad-groups get 550e8400-e29b-41d4-a716-446655440000"
2177
2134
  ],
2178
2135
  "flags": {
2179
2136
  "json": {
@@ -2186,7 +2143,7 @@
2186
2143
  },
2187
2144
  "hasDynamicHelp": false,
2188
2145
  "hiddenAliases": [],
2189
- "id": "asa:ads:get",
2146
+ "id": "asa:ad-groups:get",
2190
2147
  "pluginAlias": "adapty",
2191
2148
  "pluginName": "adapty",
2192
2149
  "pluginType": "core",
@@ -2197,17 +2154,17 @@
2197
2154
  "dist",
2198
2155
  "commands",
2199
2156
  "asa",
2200
- "ads",
2157
+ "ad-groups",
2201
2158
  "get.js"
2202
2159
  ]
2203
2160
  },
2204
- "asa:ads:list": {
2161
+ "asa:ad-groups:list": {
2205
2162
  "aliases": [],
2206
2163
  "args": {},
2207
- "description": "List ads; serving_state_reasons explains why an enabled ad is not running",
2164
+ "description": "List ad groups; read numbers with asa metrics",
2208
2165
  "examples": [
2209
- "<%= config.bin %> asa ads list",
2210
- "<%= config.bin %> asa ads list --ad-group AD_GROUP_UUID --status ENABLED"
2166
+ "<%= config.bin %> asa ad-groups list",
2167
+ "<%= config.bin %> asa ad-groups list --campaign CAMPAIGN_UUID"
2211
2168
  ],
2212
2169
  "flags": {
2213
2170
  "json": {
@@ -2233,16 +2190,9 @@
2233
2190
  "multiple": false,
2234
2191
  "type": "option"
2235
2192
  },
2236
- "ad-group": {
2237
- "description": "Keep only rows in this ad group; repeatable",
2238
- "name": "ad-group",
2239
- "hasDynamicHelp": false,
2240
- "multiple": true,
2241
- "type": "option"
2242
- },
2243
- "campaign": {
2244
- "description": "Keep only rows in this campaign; repeatable",
2245
- "name": "campaign",
2193
+ "app": {
2194
+ "description": "Keep only rows in this app; repeatable",
2195
+ "name": "app",
2246
2196
  "hasDynamicHelp": false,
2247
2197
  "multiple": true,
2248
2198
  "type": "option"
@@ -2261,6 +2211,13 @@
2261
2211
  "multiple": false,
2262
2212
  "type": "option"
2263
2213
  },
2214
+ "campaign": {
2215
+ "description": "Keep only rows in this campaign; repeatable",
2216
+ "name": "campaign",
2217
+ "hasDynamicHelp": false,
2218
+ "multiple": true,
2219
+ "type": "option"
2220
+ },
2264
2221
  "status": {
2265
2222
  "description": "Keep only rows in this state",
2266
2223
  "name": "status",
@@ -2275,7 +2232,7 @@
2275
2232
  },
2276
2233
  "hasDynamicHelp": false,
2277
2234
  "hiddenAliases": [],
2278
- "id": "asa:ads:list",
2235
+ "id": "asa:ad-groups:list",
2279
2236
  "pluginAlias": "adapty",
2280
2237
  "pluginName": "adapty",
2281
2238
  "pluginType": "core",
@@ -2286,22 +2243,23 @@
2286
2243
  "dist",
2287
2244
  "commands",
2288
2245
  "asa",
2289
- "ads",
2246
+ "ad-groups",
2290
2247
  "list.js"
2291
2248
  ]
2292
2249
  },
2293
- "asa:ads:update": {
2250
+ "asa:ad-groups:update": {
2294
2251
  "aliases": [],
2295
2252
  "args": {
2296
- "ad_id": {
2297
- "description": "Ad ID (UUID)",
2298
- "name": "ad_id",
2253
+ "ad_group_id": {
2254
+ "description": "Ad group ID (UUID)",
2255
+ "name": "ad_group_id",
2299
2256
  "required": true
2300
2257
  }
2301
2258
  },
2302
- "description": "Rename an ad or pause it; the creative and ad group are fixed at creation",
2259
+ "description": "Change an ad group: bid, CPA goal, status or schedule",
2303
2260
  "examples": [
2304
- "<%= config.bin %> asa ads update UUID --status PAUSED"
2261
+ "<%= config.bin %> asa ad-groups update UUID --default-bid 1.50",
2262
+ "<%= config.bin %> asa ad-groups update UUID --status PAUSED"
2305
2263
  ],
2306
2264
  "flags": {
2307
2265
  "json": {
@@ -2311,6 +2269,28 @@
2311
2269
  "allowNo": false,
2312
2270
  "type": "boolean"
2313
2271
  },
2272
+ "currency": {
2273
+ "description": "Currency code for the amounts in this call",
2274
+ "name": "currency",
2275
+ "default": "USD",
2276
+ "hasDynamicHelp": false,
2277
+ "multiple": false,
2278
+ "type": "option"
2279
+ },
2280
+ "end-time": {
2281
+ "description": "Schedule end (YYYY-MM-DD)",
2282
+ "name": "end-time",
2283
+ "hasDynamicHelp": false,
2284
+ "multiple": false,
2285
+ "type": "option"
2286
+ },
2287
+ "start-time": {
2288
+ "description": "Schedule start (YYYY-MM-DD), defaults to today",
2289
+ "name": "start-time",
2290
+ "hasDynamicHelp": false,
2291
+ "multiple": false,
2292
+ "type": "option"
2293
+ },
2314
2294
  "yes": {
2315
2295
  "char": "y",
2316
2296
  "description": "Apply without asking; required when the output is piped or --json is used",
@@ -2325,15 +2305,35 @@
2325
2305
  "multiple": false,
2326
2306
  "type": "option"
2327
2307
  },
2308
+ "automated-keywords": {
2309
+ "description": "Let Apple add keywords automatically",
2310
+ "name": "automated-keywords",
2311
+ "allowNo": true,
2312
+ "type": "boolean"
2313
+ },
2314
+ "cpa-goal": {
2315
+ "description": "CPA goal (amount, e.g. 50 or 12.50)",
2316
+ "name": "cpa-goal",
2317
+ "hasDynamicHelp": false,
2318
+ "multiple": false,
2319
+ "type": "option"
2320
+ },
2321
+ "default-bid": {
2322
+ "description": "Default bid (amount, e.g. 50 or 12.50)",
2323
+ "name": "default-bid",
2324
+ "hasDynamicHelp": false,
2325
+ "multiple": false,
2326
+ "type": "option"
2327
+ },
2328
2328
  "name": {
2329
- "description": "Ad name",
2329
+ "description": "Ad group name",
2330
2330
  "name": "name",
2331
2331
  "hasDynamicHelp": false,
2332
2332
  "multiple": false,
2333
2333
  "type": "option"
2334
2334
  },
2335
2335
  "status": {
2336
- "description": "Ad status",
2336
+ "description": "Ad group status",
2337
2337
  "name": "status",
2338
2338
  "hasDynamicHelp": false,
2339
2339
  "multiple": false,
@@ -2346,7 +2346,7 @@
2346
2346
  },
2347
2347
  "hasDynamicHelp": false,
2348
2348
  "hiddenAliases": [],
2349
- "id": "asa:ads:update",
2349
+ "id": "asa:ad-groups:update",
2350
2350
  "pluginAlias": "adapty",
2351
2351
  "pluginName": "adapty",
2352
2352
  "pluginType": "core",
@@ -2357,7 +2357,7 @@
2357
2357
  "dist",
2358
2358
  "commands",
2359
2359
  "asa",
2360
- "ads",
2360
+ "ad-groups",
2361
2361
  "update.js"
2362
2362
  ]
2363
2363
  },
@@ -2762,47 +2762,6 @@
2762
2762
  "update.js"
2763
2763
  ]
2764
2764
  },
2765
- "asa:competitors:summary": {
2766
- "aliases": [],
2767
- "args": {},
2768
- "description": "Competitor summary for up to five App Store apps; the server covers the last full month and every country",
2769
- "examples": [
2770
- "<%= config.bin %> asa competitors summary --app-ids 1668337467,6503873027"
2771
- ],
2772
- "flags": {
2773
- "json": {
2774
- "description": "Format output as json.",
2775
- "helpGroup": "GLOBAL",
2776
- "name": "json",
2777
- "allowNo": false,
2778
- "type": "boolean"
2779
- },
2780
- "app-ids": {
2781
- "description": "Apple App Store IDs (adam_id), comma-separated, 1-5 values",
2782
- "name": "app-ids",
2783
- "required": true,
2784
- "hasDynamicHelp": false,
2785
- "multiple": false,
2786
- "type": "option"
2787
- }
2788
- },
2789
- "hasDynamicHelp": false,
2790
- "hiddenAliases": [],
2791
- "id": "asa:competitors:summary",
2792
- "pluginAlias": "adapty",
2793
- "pluginName": "adapty",
2794
- "pluginType": "core",
2795
- "strict": true,
2796
- "enableJsonFlag": true,
2797
- "isESM": true,
2798
- "relativePath": [
2799
- "dist",
2800
- "commands",
2801
- "asa",
2802
- "competitors",
2803
- "summary.js"
2804
- ]
2805
- },
2806
2765
  "asa:campaigns:bulk-create": {
2807
2766
  "aliases": [],
2808
2767
  "args": {},
@@ -3448,6 +3407,47 @@
3448
3407
  "update.js"
3449
3408
  ]
3450
3409
  },
3410
+ "asa:competitors:summary": {
3411
+ "aliases": [],
3412
+ "args": {},
3413
+ "description": "Competitor summary for up to five App Store apps; the server covers the last full month and every country",
3414
+ "examples": [
3415
+ "<%= config.bin %> asa competitors summary --app-ids 1668337467,6503873027"
3416
+ ],
3417
+ "flags": {
3418
+ "json": {
3419
+ "description": "Format output as json.",
3420
+ "helpGroup": "GLOBAL",
3421
+ "name": "json",
3422
+ "allowNo": false,
3423
+ "type": "boolean"
3424
+ },
3425
+ "app-ids": {
3426
+ "description": "Apple App Store IDs (adam_id), comma-separated, 1-5 values",
3427
+ "name": "app-ids",
3428
+ "required": true,
3429
+ "hasDynamicHelp": false,
3430
+ "multiple": false,
3431
+ "type": "option"
3432
+ }
3433
+ },
3434
+ "hasDynamicHelp": false,
3435
+ "hiddenAliases": [],
3436
+ "id": "asa:competitors:summary",
3437
+ "pluginAlias": "adapty",
3438
+ "pluginName": "adapty",
3439
+ "pluginType": "core",
3440
+ "strict": true,
3441
+ "enableJsonFlag": true,
3442
+ "isESM": true,
3443
+ "relativePath": [
3444
+ "dist",
3445
+ "commands",
3446
+ "asa",
3447
+ "competitors",
3448
+ "summary.js"
3449
+ ]
3450
+ },
3451
3451
  "asa:creatives:list": {
3452
3452
  "aliases": [],
3453
3453
  "args": {},
@@ -3818,7 +3818,7 @@
3818
3818
  "asa:metrics": {
3819
3819
  "aliases": [],
3820
3820
  "args": {},
3821
- "description": "Query metrics for any level of the account over a date range\n\nOne row per entity, already aggregated server-side and sorted by --order-by, so a top-N question is one\ncall with --order-by and --page-size N — never sum pages yourself. Account-level totals are one call to\nasa metrics overview instead. The date window is capped by the coarsest --group-by period: 90 days for\nday or no period grouping, 180 by week, 365 by month and coarser — widen the window by coarsening the\ngrouping, not by splitting into more calls. Budget: 5 metrics calls per minute, at most 2 per 10 seconds.",
3821
+ "description": "Query metrics for any level of the account over a date range\n\nOne row per entity, already aggregated server-side and sorted by --order-by, so a top-N question is one\ncall with --order-by and --page-size N — never sum pages yourself. Account-level totals are one call to\nasa metrics overview instead. The date window is capped by the finest --group-by period: 28 days when\nday is grouped, 90 with no period grouping, 180 by week, 365 by month and coarser — widen the window by\ncoarsening the grouping, not by splitting into more calls. Each page is also capped at 20000 breakdown\nrows (entities × countries × periods); over it the call fails with 422 cli_response_too_large — coarsen\nthe grouping, narrow the window, or reduce page[size]. Budget: 5 metrics calls per minute, at most\n2 per 10 seconds, one at a time.",
3822
3822
  "examples": [
3823
3823
  "<%= config.bin %> asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31",
3824
3824
  "<%= config.bin %> asa metrics --entity campaign --date-from 2026-07-01 --date-to 2026-07-31 --order-by spend --page-size 5",
@@ -4818,5 +4818,5 @@
4818
4818
  ]
4819
4819
  }
4820
4820
  },
4821
- "version": "0.8.0"
4821
+ "version": "0.8.1"
4822
4822
  }