@carrierllc/sdk 0.1.0 → 0.2.0

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.
@@ -0,0 +1,2534 @@
1
+ [
2
+ {
3
+ "id": "list_reseller_accounts",
4
+ "method": "GET",
5
+ "path": "/v1/accounts",
6
+ "tag": "Accounts",
7
+ "summary": "List all reseller sub-accounts",
8
+ "security": "bearer",
9
+ "body": false,
10
+ "bodyRequired": false,
11
+ "pathParams": [],
12
+ "queryParams": [],
13
+ "headerParams": []
14
+ },
15
+ {
16
+ "id": "get_reseller_info",
17
+ "method": "GET",
18
+ "path": "/v1/reseller",
19
+ "tag": "Reseller",
20
+ "summary": "Get authenticated reseller profile and balance",
21
+ "security": "bearer",
22
+ "body": false,
23
+ "bodyRequired": false,
24
+ "pathParams": [],
25
+ "queryParams": [],
26
+ "headerParams": []
27
+ },
28
+ {
29
+ "id": "esim_status_per_account",
30
+ "method": "GET",
31
+ "path": "/v1/accounts/{accountId}/esim-status",
32
+ "tag": "Accounts",
33
+ "summary": "Get eSIM provisioning status counts for an account",
34
+ "security": "bearer",
35
+ "body": false,
36
+ "bodyRequired": false,
37
+ "pathParams": [
38
+ {
39
+ "name": "accountId",
40
+ "required": true
41
+ }
42
+ ],
43
+ "queryParams": [],
44
+ "headerParams": []
45
+ },
46
+ {
47
+ "id": "list_sponsors",
48
+ "method": "GET",
49
+ "path": "/v1/sponsors",
50
+ "tag": "Reseller",
51
+ "summary": "List sponsor entries for the reseller",
52
+ "security": "bearer",
53
+ "body": false,
54
+ "bodyRequired": false,
55
+ "pathParams": [],
56
+ "queryParams": [],
57
+ "headerParams": []
58
+ },
59
+ {
60
+ "id": "list_steering_lists",
61
+ "method": "GET",
62
+ "path": "/v1/steering-lists",
63
+ "tag": "Network",
64
+ "summary": "List network steering lists for the reseller",
65
+ "security": "bearer",
66
+ "body": false,
67
+ "bodyRequired": false,
68
+ "pathParams": [],
69
+ "queryParams": [],
70
+ "headerParams": []
71
+ },
72
+ {
73
+ "id": "get_subscriber",
74
+ "method": "GET",
75
+ "path": "/v1/subscribers/{iccid}",
76
+ "tag": "Subscribers",
77
+ "summary": "Get subscriber details by ICCID",
78
+ "security": "bearer",
79
+ "body": false,
80
+ "bodyRequired": false,
81
+ "pathParams": [
82
+ {
83
+ "name": "iccid",
84
+ "required": true
85
+ }
86
+ ],
87
+ "queryParams": [],
88
+ "headerParams": []
89
+ },
90
+ {
91
+ "id": "list_subscribers",
92
+ "method": "GET",
93
+ "path": "/v1/subscribers",
94
+ "tag": "Subscribers",
95
+ "summary": "List subscribers with optional filters",
96
+ "security": "bearer",
97
+ "body": false,
98
+ "bodyRequired": false,
99
+ "pathParams": [],
100
+ "queryParams": [
101
+ {
102
+ "name": "q",
103
+ "required": false
104
+ }
105
+ ],
106
+ "headerParams": []
107
+ },
108
+ {
109
+ "id": "create_subscriber",
110
+ "method": "POST",
111
+ "path": "/v1/subscribers",
112
+ "tag": "Subscribers",
113
+ "summary": "Subscriber creation is not available on the OCS",
114
+ "security": "bearer",
115
+ "body": false,
116
+ "bodyRequired": false,
117
+ "pathParams": [],
118
+ "queryParams": [],
119
+ "headerParams": []
120
+ },
121
+ {
122
+ "id": "get_sim_provider_status",
123
+ "method": "GET",
124
+ "path": "/v1/subscribers/{iccid}/sim-status",
125
+ "tag": "Subscribers",
126
+ "summary": "Get SIM provider status for a subscriber",
127
+ "security": "bearer",
128
+ "body": false,
129
+ "bodyRequired": false,
130
+ "pathParams": [
131
+ {
132
+ "name": "iccid",
133
+ "required": true
134
+ }
135
+ ],
136
+ "queryParams": [],
137
+ "headerParams": []
138
+ },
139
+ {
140
+ "id": "change_sim_status",
141
+ "method": "PUT",
142
+ "path": "/v1/subscribers/{iccid}/sim-status",
143
+ "tag": "Subscribers",
144
+ "summary": "Change SIM card status at the platform level (admin only)",
145
+ "security": "bearer",
146
+ "body": true,
147
+ "bodyRequired": true,
148
+ "pathParams": [
149
+ {
150
+ "name": "iccid",
151
+ "required": true
152
+ }
153
+ ],
154
+ "queryParams": [],
155
+ "headerParams": [
156
+ {
157
+ "name": "X-Confirm-Token",
158
+ "required": false
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "id": "get_subscriber_location",
164
+ "method": "GET",
165
+ "path": "/v1/subscribers/{iccid}/location",
166
+ "tag": "Subscribers",
167
+ "summary": "Get last known location of a subscriber",
168
+ "security": "bearer",
169
+ "body": false,
170
+ "bodyRequired": false,
171
+ "pathParams": [
172
+ {
173
+ "name": "iccid",
174
+ "required": true
175
+ }
176
+ ],
177
+ "queryParams": [],
178
+ "headerParams": []
179
+ },
180
+ {
181
+ "id": "hlr_get_bitrate",
182
+ "method": "GET",
183
+ "path": "/v1/subscribers/{iccid}/bitrate",
184
+ "tag": "Subscribers",
185
+ "summary": "Get HLR bitrate limit for a subscriber",
186
+ "security": "bearer",
187
+ "body": false,
188
+ "bodyRequired": false,
189
+ "pathParams": [
190
+ {
191
+ "name": "iccid",
192
+ "required": true
193
+ }
194
+ ],
195
+ "queryParams": [],
196
+ "headerParams": []
197
+ },
198
+ {
199
+ "id": "hlr_set_bitrate",
200
+ "method": "PUT",
201
+ "path": "/v1/subscribers/{iccid}/bitrate",
202
+ "tag": "Subscribers",
203
+ "summary": "Set HLR bitrate limit for a subscriber",
204
+ "security": "bearer",
205
+ "body": true,
206
+ "bodyRequired": true,
207
+ "pathParams": [
208
+ {
209
+ "name": "iccid",
210
+ "required": true
211
+ }
212
+ ],
213
+ "queryParams": [],
214
+ "headerParams": []
215
+ },
216
+ {
217
+ "id": "list_subscriber_packages",
218
+ "method": "GET",
219
+ "path": "/v1/subscribers/{iccid}/packages",
220
+ "tag": "Subscribers",
221
+ "summary": "List active data packages for a subscriber",
222
+ "security": "bearer",
223
+ "body": false,
224
+ "bodyRequired": false,
225
+ "pathParams": [
226
+ {
227
+ "name": "iccid",
228
+ "required": true
229
+ }
230
+ ],
231
+ "queryParams": [],
232
+ "headerParams": []
233
+ },
234
+ {
235
+ "id": "assign_package",
236
+ "method": "POST",
237
+ "path": "/v1/subscribers/{iccid}/packages",
238
+ "tag": "Subscribers",
239
+ "summary": "Assign a one-time data package to a subscriber",
240
+ "security": "bearer",
241
+ "body": true,
242
+ "bodyRequired": true,
243
+ "pathParams": [
244
+ {
245
+ "name": "iccid",
246
+ "required": true
247
+ }
248
+ ],
249
+ "queryParams": [],
250
+ "headerParams": []
251
+ },
252
+ {
253
+ "id": "clean_all_packages",
254
+ "method": "DELETE",
255
+ "path": "/v1/subscribers/{iccid}/packages",
256
+ "tag": "Subscribers",
257
+ "summary": "Remove all packages from a subscriber (admin only)",
258
+ "security": "bearer",
259
+ "body": false,
260
+ "bodyRequired": false,
261
+ "pathParams": [
262
+ {
263
+ "name": "iccid",
264
+ "required": true
265
+ }
266
+ ],
267
+ "queryParams": [],
268
+ "headerParams": [
269
+ {
270
+ "name": "X-Confirm-Token",
271
+ "required": false
272
+ }
273
+ ]
274
+ },
275
+ {
276
+ "id": "list_package_templates",
277
+ "method": "GET",
278
+ "path": "/v1/package-templates",
279
+ "tag": "Packages",
280
+ "summary": "List available package templates",
281
+ "security": "bearer",
282
+ "body": false,
283
+ "bodyRequired": false,
284
+ "pathParams": [],
285
+ "queryParams": [],
286
+ "headerParams": []
287
+ },
288
+ {
289
+ "id": "create_package_template",
290
+ "method": "POST",
291
+ "path": "/v1/package-templates",
292
+ "tag": "Packages",
293
+ "summary": "Create a new package template",
294
+ "security": "bearer",
295
+ "body": true,
296
+ "bodyRequired": true,
297
+ "pathParams": [],
298
+ "queryParams": [],
299
+ "headerParams": []
300
+ },
301
+ {
302
+ "id": "list_location_zones",
303
+ "method": "GET",
304
+ "path": "/v1/location-zones",
305
+ "tag": "Network",
306
+ "summary": "List location zones for the reseller",
307
+ "security": "bearer",
308
+ "body": false,
309
+ "bodyRequired": false,
310
+ "pathParams": [],
311
+ "queryParams": [],
312
+ "headerParams": []
313
+ },
314
+ {
315
+ "id": "create_location_zone",
316
+ "method": "POST",
317
+ "path": "/v1/location-zones",
318
+ "tag": "Network",
319
+ "summary": "Create a new location zone",
320
+ "security": "bearer",
321
+ "body": true,
322
+ "bodyRequired": true,
323
+ "pathParams": [],
324
+ "queryParams": [],
325
+ "headerParams": []
326
+ },
327
+ {
328
+ "id": "list_detailed_location_zones",
329
+ "method": "GET",
330
+ "path": "/v1/location-zones/detailed",
331
+ "tag": "Network",
332
+ "summary": "List location zones with full country/network detail",
333
+ "security": "bearer",
334
+ "body": false,
335
+ "bodyRequired": false,
336
+ "pathParams": [],
337
+ "queryParams": [],
338
+ "headerParams": []
339
+ },
340
+ {
341
+ "id": "list_destination_prefixes",
342
+ "method": "GET",
343
+ "path": "/v1/destination-prefixes",
344
+ "tag": "Network",
345
+ "summary": "List destination prefixes for routing configuration",
346
+ "security": "bearer",
347
+ "body": false,
348
+ "bodyRequired": false,
349
+ "pathParams": [],
350
+ "queryParams": [],
351
+ "headerParams": []
352
+ },
353
+ {
354
+ "id": "subscriber_usage",
355
+ "method": "POST",
356
+ "path": "/v1/subscribers/{iccid}/usage",
357
+ "tag": "Subscribers",
358
+ "summary": "Get subscriber data usage over a date range",
359
+ "security": "bearer",
360
+ "body": true,
361
+ "bodyRequired": true,
362
+ "pathParams": [
363
+ {
364
+ "name": "iccid",
365
+ "required": true
366
+ }
367
+ ],
368
+ "queryParams": [],
369
+ "headerParams": []
370
+ },
371
+ {
372
+ "id": "subscriber_network_events",
373
+ "method": "POST",
374
+ "path": "/v1/subscribers/{iccid}/network-events",
375
+ "tag": "Subscribers",
376
+ "summary": "Get subscriber network events over a date range",
377
+ "security": "bearer",
378
+ "body": true,
379
+ "bodyRequired": true,
380
+ "pathParams": [
381
+ {
382
+ "name": "iccid",
383
+ "required": true
384
+ }
385
+ ],
386
+ "queryParams": [],
387
+ "headerParams": []
388
+ },
389
+ {
390
+ "id": "subscriber_active_period",
391
+ "method": "GET",
392
+ "path": "/v1/subscribers/{iccid}/active-period",
393
+ "tag": "Subscribers",
394
+ "summary": "Get the active period for a subscriber",
395
+ "security": "bearer",
396
+ "body": false,
397
+ "bodyRequired": false,
398
+ "pathParams": [
399
+ {
400
+ "name": "iccid",
401
+ "required": true
402
+ }
403
+ ],
404
+ "queryParams": [],
405
+ "headerParams": []
406
+ },
407
+ {
408
+ "id": "get_tariff",
409
+ "method": "GET",
410
+ "path": "/v1/tariffs/{resellerId}",
411
+ "tag": "Network",
412
+ "summary": "Get tariff rules for a reseller",
413
+ "security": "bearer",
414
+ "body": false,
415
+ "bodyRequired": false,
416
+ "pathParams": [
417
+ {
418
+ "name": "resellerId",
419
+ "required": true
420
+ }
421
+ ],
422
+ "queryParams": [],
423
+ "headerParams": []
424
+ },
425
+ {
426
+ "id": "list_network_profiles",
427
+ "method": "GET",
428
+ "path": "/v1/network-profiles",
429
+ "tag": "Network",
430
+ "summary": "List network profiles available to the reseller",
431
+ "security": "bearer",
432
+ "body": false,
433
+ "bodyRequired": false,
434
+ "pathParams": [],
435
+ "queryParams": [],
436
+ "headerParams": []
437
+ },
438
+ {
439
+ "id": "modify_subscriber_balance",
440
+ "method": "PUT",
441
+ "path": "/v1/subscribers/{iccid}/balance",
442
+ "tag": "Subscribers",
443
+ "summary": "Add or set the prepaid balance for a subscriber",
444
+ "security": "bearer",
445
+ "body": true,
446
+ "bodyRequired": true,
447
+ "pathParams": [
448
+ {
449
+ "name": "iccid",
450
+ "required": true
451
+ }
452
+ ],
453
+ "queryParams": [],
454
+ "headerParams": []
455
+ },
456
+ {
457
+ "id": "modify_subscriber_status",
458
+ "method": "PUT",
459
+ "path": "/v1/subscribers/{iccid}/status",
460
+ "tag": "Subscribers",
461
+ "summary": "Activate, suspend, or deactivate a subscriber",
462
+ "security": "bearer",
463
+ "body": true,
464
+ "bodyRequired": true,
465
+ "pathParams": [
466
+ {
467
+ "name": "iccid",
468
+ "required": true
469
+ }
470
+ ],
471
+ "queryParams": [],
472
+ "headerParams": []
473
+ },
474
+ {
475
+ "id": "modify_subscriber_contact_info",
476
+ "method": "PUT",
477
+ "path": "/v1/subscribers/{iccid}/contact",
478
+ "tag": "Subscribers",
479
+ "summary": "Update subscriber contact information",
480
+ "security": "bearer",
481
+ "body": true,
482
+ "bodyRequired": true,
483
+ "pathParams": [
484
+ {
485
+ "name": "iccid",
486
+ "required": true
487
+ }
488
+ ],
489
+ "queryParams": [],
490
+ "headerParams": []
491
+ },
492
+ {
493
+ "id": "set_subscriber_traffic_restrictions",
494
+ "method": "PUT",
495
+ "path": "/v1/subscribers/{iccid}/traffic-restrictions",
496
+ "tag": "Subscribers",
497
+ "summary": "Set data/voice/SMS traffic restrictions for a subscriber",
498
+ "security": "bearer",
499
+ "body": true,
500
+ "bodyRequired": true,
501
+ "pathParams": [
502
+ {
503
+ "name": "iccid",
504
+ "required": true
505
+ }
506
+ ],
507
+ "queryParams": [],
508
+ "headerParams": []
509
+ },
510
+ {
511
+ "id": "modify_subscriber_steering_list",
512
+ "method": "PUT",
513
+ "path": "/v1/subscribers/{iccid}/steering-list",
514
+ "tag": "Subscribers",
515
+ "summary": "Assign a steering list to a subscriber",
516
+ "security": "bearer",
517
+ "body": true,
518
+ "bodyRequired": true,
519
+ "pathParams": [
520
+ {
521
+ "name": "iccid",
522
+ "required": true
523
+ }
524
+ ],
525
+ "queryParams": [],
526
+ "headerParams": []
527
+ },
528
+ {
529
+ "id": "move_subscriber_range_to_account",
530
+ "method": "POST",
531
+ "path": "/v1/accounts/{accountId}/move-subscribers",
532
+ "tag": "Accounts",
533
+ "summary": "Move a subscriber range to a different account",
534
+ "security": "bearer",
535
+ "body": true,
536
+ "bodyRequired": true,
537
+ "pathParams": [
538
+ {
539
+ "name": "accountId",
540
+ "required": true
541
+ }
542
+ ],
543
+ "queryParams": [],
544
+ "headerParams": []
545
+ },
546
+ {
547
+ "id": "assign_recurring_package",
548
+ "method": "POST",
549
+ "path": "/v1/subscribers/{iccid}/packages/recurring",
550
+ "tag": "Subscribers",
551
+ "summary": "Assign a recurring data package to a subscriber",
552
+ "security": "bearer",
553
+ "body": true,
554
+ "bodyRequired": true,
555
+ "pathParams": [
556
+ {
557
+ "name": "iccid",
558
+ "required": true
559
+ }
560
+ ],
561
+ "queryParams": [],
562
+ "headerParams": []
563
+ },
564
+ {
565
+ "id": "modify_package_limits",
566
+ "method": "PUT",
567
+ "path": "/v1/subscribers/{iccid}/packages/{packageId}/limits",
568
+ "tag": "Subscribers",
569
+ "summary": "Modify data limits for an assigned package",
570
+ "security": "bearer",
571
+ "body": true,
572
+ "bodyRequired": true,
573
+ "pathParams": [
574
+ {
575
+ "name": "iccid",
576
+ "required": true
577
+ },
578
+ {
579
+ "name": "packageId",
580
+ "required": true
581
+ }
582
+ ],
583
+ "queryParams": [],
584
+ "headerParams": []
585
+ },
586
+ {
587
+ "id": "modify_package_expiry",
588
+ "method": "PUT",
589
+ "path": "/v1/subscribers/{iccid}/packages/{packageId}/expiry",
590
+ "tag": "Subscribers",
591
+ "summary": "Modify the expiry date of an assigned package",
592
+ "security": "bearer",
593
+ "body": true,
594
+ "bodyRequired": true,
595
+ "pathParams": [
596
+ {
597
+ "name": "iccid",
598
+ "required": true
599
+ },
600
+ {
601
+ "name": "packageId",
602
+ "required": true
603
+ }
604
+ ],
605
+ "queryParams": [],
606
+ "headerParams": []
607
+ },
608
+ {
609
+ "id": "modify_package_status",
610
+ "method": "PUT",
611
+ "path": "/v1/subscribers/{iccid}/packages/{packageId}/status",
612
+ "tag": "Subscribers",
613
+ "summary": "Pause or resume an assigned package",
614
+ "security": "bearer",
615
+ "body": true,
616
+ "bodyRequired": true,
617
+ "pathParams": [
618
+ {
619
+ "name": "iccid",
620
+ "required": true
621
+ },
622
+ {
623
+ "name": "packageId",
624
+ "required": true
625
+ }
626
+ ],
627
+ "queryParams": [],
628
+ "headerParams": []
629
+ },
630
+ {
631
+ "id": "stop_resume_recurring_package",
632
+ "method": "PUT",
633
+ "path": "/v1/subscribers/{iccid}/packages/{packageId}/recurring-status",
634
+ "tag": "Subscribers",
635
+ "summary": "Stop or resume a recurring package subscription",
636
+ "security": "bearer",
637
+ "body": true,
638
+ "bodyRequired": true,
639
+ "pathParams": [
640
+ {
641
+ "name": "iccid",
642
+ "required": true
643
+ },
644
+ {
645
+ "name": "packageId",
646
+ "required": true
647
+ }
648
+ ],
649
+ "queryParams": [],
650
+ "headerParams": []
651
+ },
652
+ {
653
+ "id": "modify_account_balance",
654
+ "method": "PUT",
655
+ "path": "/v1/accounts/{accountId}/balance",
656
+ "tag": "Accounts",
657
+ "summary": "Modify account-level balance (admin only)",
658
+ "security": "bearer",
659
+ "body": true,
660
+ "bodyRequired": true,
661
+ "pathParams": [
662
+ {
663
+ "name": "accountId",
664
+ "required": true
665
+ }
666
+ ],
667
+ "queryParams": [],
668
+ "headerParams": [
669
+ {
670
+ "name": "X-Confirm-Token",
671
+ "required": false
672
+ }
673
+ ]
674
+ },
675
+ {
676
+ "id": "delete_subscriber_package",
677
+ "method": "DELETE",
678
+ "path": "/v1/subscribers/{iccid}/packages/{packageId}",
679
+ "tag": "Subscribers",
680
+ "summary": "Delete a subscriber package (admin only)",
681
+ "security": "bearer",
682
+ "body": false,
683
+ "bodyRequired": false,
684
+ "pathParams": [
685
+ {
686
+ "name": "iccid",
687
+ "required": true
688
+ },
689
+ {
690
+ "name": "packageId",
691
+ "required": true
692
+ }
693
+ ],
694
+ "queryParams": [],
695
+ "headerParams": [
696
+ {
697
+ "name": "X-Confirm-Token",
698
+ "required": false
699
+ }
700
+ ]
701
+ },
702
+ {
703
+ "id": "modify_template_core",
704
+ "method": "PUT",
705
+ "path": "/v1/package-templates/{templateId}/core",
706
+ "tag": "Packages",
707
+ "summary": "Modify core settings of a package template (admin only)",
708
+ "security": "bearer",
709
+ "body": true,
710
+ "bodyRequired": true,
711
+ "pathParams": [
712
+ {
713
+ "name": "templateId",
714
+ "required": true
715
+ }
716
+ ],
717
+ "queryParams": [],
718
+ "headerParams": [
719
+ {
720
+ "name": "X-Confirm-Token",
721
+ "required": false
722
+ }
723
+ ]
724
+ },
725
+ {
726
+ "id": "modify_template_recurring",
727
+ "method": "PUT",
728
+ "path": "/v1/package-templates/{templateId}/recurring",
729
+ "tag": "Packages",
730
+ "summary": "Modify recurring settings of a package template (admin only)",
731
+ "security": "bearer",
732
+ "body": true,
733
+ "bodyRequired": true,
734
+ "pathParams": [
735
+ {
736
+ "name": "templateId",
737
+ "required": true
738
+ }
739
+ ],
740
+ "queryParams": [],
741
+ "headerParams": [
742
+ {
743
+ "name": "X-Confirm-Token",
744
+ "required": false
745
+ }
746
+ ]
747
+ },
748
+ {
749
+ "id": "modify_template_throttling",
750
+ "method": "PUT",
751
+ "path": "/v1/package-templates/{templateId}/throttling",
752
+ "tag": "Packages",
753
+ "summary": "Modify throttling settings of a package template (admin only)",
754
+ "security": "bearer",
755
+ "body": true,
756
+ "bodyRequired": true,
757
+ "pathParams": [
758
+ {
759
+ "name": "templateId",
760
+ "required": true
761
+ }
762
+ ],
763
+ "queryParams": [],
764
+ "headerParams": [
765
+ {
766
+ "name": "X-Confirm-Token",
767
+ "required": false
768
+ }
769
+ ]
770
+ },
771
+ {
772
+ "id": "send_sms",
773
+ "method": "POST",
774
+ "path": "/v1/subscribers/{iccid}/sms",
775
+ "tag": "Subscribers",
776
+ "summary": "Send an MT SMS to a subscriber (admin only)",
777
+ "security": "bearer",
778
+ "body": true,
779
+ "bodyRequired": true,
780
+ "pathParams": [
781
+ {
782
+ "name": "iccid",
783
+ "required": true
784
+ }
785
+ ],
786
+ "queryParams": [],
787
+ "headerParams": [
788
+ {
789
+ "name": "X-Confirm-Token",
790
+ "required": false
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "id": "fleet_health",
796
+ "method": "POST",
797
+ "path": "/v1/intelligence/fleet-health",
798
+ "tag": "Intelligence",
799
+ "summary": "Aggregate fleet health: active/suspended/inactive counts, low balance alerts",
800
+ "security": "bearer",
801
+ "body": true,
802
+ "bodyRequired": false,
803
+ "pathParams": [],
804
+ "queryParams": [],
805
+ "headerParams": []
806
+ },
807
+ {
808
+ "id": "churn_risk",
809
+ "method": "POST",
810
+ "path": "/v1/intelligence/churn-risk",
811
+ "tag": "Intelligence",
812
+ "summary": "Identify subscribers at churn risk based on usage patterns",
813
+ "security": "bearer",
814
+ "body": true,
815
+ "bodyRequired": false,
816
+ "pathParams": [],
817
+ "queryParams": [],
818
+ "headerParams": []
819
+ },
820
+ {
821
+ "id": "audit_network_coverage",
822
+ "method": "POST",
823
+ "path": "/v1/intelligence/audit-network-coverage",
824
+ "tag": "Intelligence",
825
+ "summary": "Audit network coverage against location zones",
826
+ "security": "bearer",
827
+ "body": true,
828
+ "bodyRequired": false,
829
+ "pathParams": [],
830
+ "queryParams": [],
831
+ "headerParams": []
832
+ },
833
+ {
834
+ "id": "diagnose_subscriber",
835
+ "method": "POST",
836
+ "path": "/v1/intelligence/diagnose-subscriber",
837
+ "tag": "Intelligence",
838
+ "summary": "Deep-dive diagnostic for a single subscriber",
839
+ "security": "bearer",
840
+ "body": true,
841
+ "bodyRequired": false,
842
+ "pathParams": [],
843
+ "queryParams": [],
844
+ "headerParams": []
845
+ },
846
+ {
847
+ "id": "detect_usage_anomalies",
848
+ "method": "POST",
849
+ "path": "/v1/intelligence/detect-usage-anomalies",
850
+ "tag": "Intelligence",
851
+ "summary": "Detect unusual usage spikes or drops across the fleet",
852
+ "security": "bearer",
853
+ "body": true,
854
+ "bodyRequired": false,
855
+ "pathParams": [],
856
+ "queryParams": [],
857
+ "headerParams": []
858
+ },
859
+ {
860
+ "id": "optimize_package",
861
+ "method": "POST",
862
+ "path": "/v1/intelligence/optimize-package",
863
+ "tag": "Intelligence",
864
+ "summary": "Recommend optimal package based on subscriber usage history",
865
+ "security": "bearer",
866
+ "body": true,
867
+ "bodyRequired": false,
868
+ "pathParams": [],
869
+ "queryParams": [],
870
+ "headerParams": []
871
+ },
872
+ {
873
+ "id": "marketing_intelligence",
874
+ "method": "POST",
875
+ "path": "/v1/intelligence/marketing-intelligence",
876
+ "tag": "Intelligence",
877
+ "summary": "Segment subscribers for targeted campaigns",
878
+ "security": "bearer",
879
+ "body": true,
880
+ "bodyRequired": false,
881
+ "pathParams": [],
882
+ "queryParams": [],
883
+ "headerParams": []
884
+ },
885
+ {
886
+ "id": "high_cost_subscribers",
887
+ "method": "POST",
888
+ "path": "/v1/intelligence/high-cost-subscribers",
889
+ "tag": "Intelligence",
890
+ "summary": "Identify highest-cost subscribers for cost optimization",
891
+ "security": "bearer",
892
+ "body": true,
893
+ "bodyRequired": false,
894
+ "pathParams": [],
895
+ "queryParams": [],
896
+ "headerParams": []
897
+ },
898
+ {
899
+ "id": "high_cost_subscribers_method_guard",
900
+ "method": "GET",
901
+ "path": "/v1/intelligence/high-cost-subscribers",
902
+ "tag": "Intelligence",
903
+ "summary": "GET is not supported. Use POST.",
904
+ "security": "bearer",
905
+ "body": false,
906
+ "bodyRequired": false,
907
+ "pathParams": [],
908
+ "queryParams": [],
909
+ "headerParams": []
910
+ },
911
+ {
912
+ "id": "detect_country_entry",
913
+ "method": "POST",
914
+ "path": "/v1/intelligence/detect-country-entry",
915
+ "tag": "Intelligence",
916
+ "summary": "Resolve a subscriber's current country from networkInfo.lastMcc and diff it against expectedCountry",
917
+ "security": "bearer",
918
+ "body": true,
919
+ "bodyRequired": true,
920
+ "pathParams": [],
921
+ "queryParams": [],
922
+ "headerParams": []
923
+ },
924
+ {
925
+ "id": "list_intelligence_schedules",
926
+ "method": "GET",
927
+ "path": "/v1/intelligence/schedules",
928
+ "tag": "Intelligence",
929
+ "summary": "List scheduled intelligence reports for the caller's organization",
930
+ "security": "bearer",
931
+ "body": false,
932
+ "bodyRequired": false,
933
+ "pathParams": [],
934
+ "queryParams": [],
935
+ "headerParams": []
936
+ },
937
+ {
938
+ "id": "create_intelligence_schedule",
939
+ "method": "POST",
940
+ "path": "/v1/intelligence/schedules",
941
+ "tag": "Intelligence",
942
+ "summary": "Schedule one of the 8 composites. Returns the webhook secret once.",
943
+ "security": "bearer",
944
+ "body": true,
945
+ "bodyRequired": true,
946
+ "pathParams": [],
947
+ "queryParams": [],
948
+ "headerParams": []
949
+ },
950
+ {
951
+ "id": "delete_intelligence_schedule",
952
+ "method": "DELETE",
953
+ "path": "/v1/intelligence/schedules/{id}",
954
+ "tag": "Intelligence",
955
+ "summary": "Delete a scheduled report and its share link",
956
+ "security": "bearer",
957
+ "body": false,
958
+ "bodyRequired": false,
959
+ "pathParams": [
960
+ {
961
+ "name": "id",
962
+ "required": true
963
+ }
964
+ ],
965
+ "queryParams": [],
966
+ "headerParams": []
967
+ },
968
+ {
969
+ "id": "run_intelligence_schedule",
970
+ "method": "POST",
971
+ "path": "/v1/intelligence/schedules/{id}/run",
972
+ "tag": "Intelligence",
973
+ "summary": "Run a schedule now. Does not move the next cron boundary.",
974
+ "security": "bearer",
975
+ "body": false,
976
+ "bodyRequired": false,
977
+ "pathParams": [
978
+ {
979
+ "name": "id",
980
+ "required": true
981
+ }
982
+ ],
983
+ "queryParams": [],
984
+ "headerParams": []
985
+ },
986
+ {
987
+ "id": "get_intelligence_schedule_report",
988
+ "method": "GET",
989
+ "path": "/v1/intelligence/schedules/{id}/report",
990
+ "tag": "Intelligence",
991
+ "summary": "Latest report for a schedule, unredacted, for the owning organization",
992
+ "security": "bearer",
993
+ "body": false,
994
+ "bodyRequired": false,
995
+ "pathParams": [
996
+ {
997
+ "name": "id",
998
+ "required": true
999
+ }
1000
+ ],
1001
+ "queryParams": [],
1002
+ "headerParams": []
1003
+ },
1004
+ {
1005
+ "id": "get_intelligence_share",
1006
+ "method": "GET",
1007
+ "path": "/v1/intelligence/share/{token}",
1008
+ "tag": "Intelligence",
1009
+ "summary": "Public branded report. Subscriber identifiers are redacted. ?format=html returns a page.",
1010
+ "security": "public",
1011
+ "body": false,
1012
+ "bodyRequired": false,
1013
+ "pathParams": [
1014
+ {
1015
+ "name": "token",
1016
+ "required": true
1017
+ }
1018
+ ],
1019
+ "queryParams": [
1020
+ {
1021
+ "name": "format",
1022
+ "required": false
1023
+ }
1024
+ ],
1025
+ "headerParams": []
1026
+ },
1027
+ {
1028
+ "id": "operator_billing_connect_begin",
1029
+ "method": "POST",
1030
+ "path": "/v1/operator-billing/connect/begin",
1031
+ "tag": "Operator Billing",
1032
+ "summary": "Initiate Stripe Connect onboarding (free-tier; Clerk auth only)",
1033
+ "security": "bearer",
1034
+ "body": true,
1035
+ "bodyRequired": true,
1036
+ "pathParams": [],
1037
+ "queryParams": [],
1038
+ "headerParams": []
1039
+ },
1040
+ {
1041
+ "id": "operator_billing_connect_oauth_begin",
1042
+ "method": "POST",
1043
+ "path": "/v1/operator-billing/connect/oauth/begin",
1044
+ "tag": "Operator Billing",
1045
+ "summary": "Start Standard Connect OAuth (existing verified Stripe, no second KYC)",
1046
+ "security": "bearer",
1047
+ "body": true,
1048
+ "bodyRequired": false,
1049
+ "pathParams": [],
1050
+ "queryParams": [],
1051
+ "headerParams": []
1052
+ },
1053
+ {
1054
+ "id": "operator_billing_connect_oauth_complete",
1055
+ "method": "POST",
1056
+ "path": "/v1/operator-billing/connect/oauth/complete",
1057
+ "tag": "Operator Billing",
1058
+ "summary": "Finish Standard Connect OAuth and attach stripe_user_id",
1059
+ "security": "bearer",
1060
+ "body": true,
1061
+ "bodyRequired": true,
1062
+ "pathParams": [],
1063
+ "queryParams": [],
1064
+ "headerParams": []
1065
+ },
1066
+ {
1067
+ "id": "operator_billing_connect_status",
1068
+ "method": "GET",
1069
+ "path": "/v1/operator-billing/connect/status",
1070
+ "tag": "Operator Billing",
1071
+ "summary": "Get Stripe Connect account status and requirements",
1072
+ "security": "bearer",
1073
+ "body": false,
1074
+ "bodyRequired": false,
1075
+ "pathParams": [],
1076
+ "queryParams": [],
1077
+ "headerParams": []
1078
+ },
1079
+ {
1080
+ "id": "operator_billing_connect_dashboard_link",
1081
+ "method": "POST",
1082
+ "path": "/v1/operator-billing/connect/dashboard-link",
1083
+ "tag": "Operator Billing",
1084
+ "summary": "Generate Stripe Express Dashboard login link",
1085
+ "security": "bearer",
1086
+ "body": false,
1087
+ "bodyRequired": false,
1088
+ "pathParams": [],
1089
+ "queryParams": [],
1090
+ "headerParams": []
1091
+ },
1092
+ {
1093
+ "id": "operator_billing_list_payouts",
1094
+ "method": "GET",
1095
+ "path": "/v1/operator-billing/payouts",
1096
+ "tag": "Operator Billing",
1097
+ "summary": "List payout history (paginated)",
1098
+ "security": "bearer",
1099
+ "body": false,
1100
+ "bodyRequired": false,
1101
+ "pathParams": [],
1102
+ "queryParams": [
1103
+ {
1104
+ "name": "limit",
1105
+ "required": false
1106
+ },
1107
+ {
1108
+ "name": "offset",
1109
+ "required": false
1110
+ },
1111
+ {
1112
+ "name": "status",
1113
+ "required": false
1114
+ }
1115
+ ],
1116
+ "headerParams": []
1117
+ },
1118
+ {
1119
+ "id": "operator_billing_create_manual_payout",
1120
+ "method": "POST",
1121
+ "path": "/v1/operator-billing/payouts/manual",
1122
+ "tag": "Operator Billing",
1123
+ "summary": "Create a manual payout to the connected bank account",
1124
+ "security": "bearer",
1125
+ "body": true,
1126
+ "bodyRequired": true,
1127
+ "pathParams": [],
1128
+ "queryParams": [],
1129
+ "headerParams": []
1130
+ },
1131
+ {
1132
+ "id": "operator_billing_get_payout_schedule",
1133
+ "method": "GET",
1134
+ "path": "/v1/operator-billing/payouts/schedule",
1135
+ "tag": "Operator Billing",
1136
+ "summary": "Get current payout schedule",
1137
+ "security": "bearer",
1138
+ "body": false,
1139
+ "bodyRequired": false,
1140
+ "pathParams": [],
1141
+ "queryParams": [],
1142
+ "headerParams": []
1143
+ },
1144
+ {
1145
+ "id": "operator_billing_update_payout_schedule",
1146
+ "method": "PATCH",
1147
+ "path": "/v1/operator-billing/payouts/schedule",
1148
+ "tag": "Operator Billing",
1149
+ "summary": "Update payout schedule (daily / weekly / monthly)",
1150
+ "security": "bearer",
1151
+ "body": true,
1152
+ "bodyRequired": true,
1153
+ "pathParams": [],
1154
+ "queryParams": [],
1155
+ "headerParams": []
1156
+ },
1157
+ {
1158
+ "id": "operator_billing_list_fees",
1159
+ "method": "GET",
1160
+ "path": "/v1/operator-billing/fees",
1161
+ "tag": "Operator Billing",
1162
+ "summary": "List Carrier platform fees earned (admin scope required)",
1163
+ "security": "bearer",
1164
+ "body": false,
1165
+ "bodyRequired": false,
1166
+ "pathParams": [],
1167
+ "queryParams": [
1168
+ {
1169
+ "name": "limit",
1170
+ "required": false
1171
+ },
1172
+ {
1173
+ "name": "offset",
1174
+ "required": false
1175
+ }
1176
+ ],
1177
+ "headerParams": []
1178
+ },
1179
+ {
1180
+ "id": "operator_billing_list_refunds",
1181
+ "method": "GET",
1182
+ "path": "/v1/operator-billing/refunds",
1183
+ "tag": "Operator Billing",
1184
+ "summary": "List refunds issued by this operator",
1185
+ "security": "bearer",
1186
+ "body": false,
1187
+ "bodyRequired": false,
1188
+ "pathParams": [],
1189
+ "queryParams": [
1190
+ {
1191
+ "name": "limit",
1192
+ "required": false
1193
+ },
1194
+ {
1195
+ "name": "offset",
1196
+ "required": false
1197
+ }
1198
+ ],
1199
+ "headerParams": []
1200
+ },
1201
+ {
1202
+ "id": "operator_billing_create_refund",
1203
+ "method": "POST",
1204
+ "path": "/v1/operator-billing/refunds",
1205
+ "tag": "Operator Billing",
1206
+ "summary": "Issue a refund against a Stripe charge",
1207
+ "security": "bearer",
1208
+ "body": true,
1209
+ "bodyRequired": true,
1210
+ "pathParams": [],
1211
+ "queryParams": [],
1212
+ "headerParams": []
1213
+ },
1214
+ {
1215
+ "id": "operator_billing_list_disputes",
1216
+ "method": "GET",
1217
+ "path": "/v1/operator-billing/disputes",
1218
+ "tag": "Operator Billing",
1219
+ "summary": "List active and historical disputes",
1220
+ "security": "bearer",
1221
+ "body": false,
1222
+ "bodyRequired": false,
1223
+ "pathParams": [],
1224
+ "queryParams": [
1225
+ {
1226
+ "name": "limit",
1227
+ "required": false
1228
+ },
1229
+ {
1230
+ "name": "offset",
1231
+ "required": false
1232
+ }
1233
+ ],
1234
+ "headerParams": []
1235
+ },
1236
+ {
1237
+ "id": "operator_billing_submit_dispute_evidence",
1238
+ "method": "POST",
1239
+ "path": "/v1/operator-billing/disputes/{id}/evidence",
1240
+ "tag": "Operator Billing",
1241
+ "summary": "Submit evidence for a dispute",
1242
+ "security": "bearer",
1243
+ "body": true,
1244
+ "bodyRequired": true,
1245
+ "pathParams": [
1246
+ {
1247
+ "name": "id",
1248
+ "required": true
1249
+ }
1250
+ ],
1251
+ "queryParams": [],
1252
+ "headerParams": []
1253
+ },
1254
+ {
1255
+ "id": "operator_billing_list_fraud_reviews",
1256
+ "method": "GET",
1257
+ "path": "/v1/operator-billing/fraud/reviews",
1258
+ "tag": "Operator Billing",
1259
+ "summary": "List Radar review queue",
1260
+ "security": "bearer",
1261
+ "body": false,
1262
+ "bodyRequired": false,
1263
+ "pathParams": [],
1264
+ "queryParams": [
1265
+ {
1266
+ "name": "limit",
1267
+ "required": false
1268
+ },
1269
+ {
1270
+ "name": "offset",
1271
+ "required": false
1272
+ },
1273
+ {
1274
+ "name": "open",
1275
+ "required": false
1276
+ }
1277
+ ],
1278
+ "headerParams": []
1279
+ },
1280
+ {
1281
+ "id": "operator_billing_approve_fraud_review",
1282
+ "method": "POST",
1283
+ "path": "/v1/operator-billing/fraud/reviews/{id}/approve",
1284
+ "tag": "Operator Billing",
1285
+ "summary": "Approve a Radar review (admin scope required)",
1286
+ "security": "bearer",
1287
+ "body": false,
1288
+ "bodyRequired": false,
1289
+ "pathParams": [
1290
+ {
1291
+ "name": "id",
1292
+ "required": true
1293
+ }
1294
+ ],
1295
+ "queryParams": [],
1296
+ "headerParams": []
1297
+ },
1298
+ {
1299
+ "id": "operator_billing_decline_fraud_review",
1300
+ "method": "POST",
1301
+ "path": "/v1/operator-billing/fraud/reviews/{id}/decline",
1302
+ "tag": "Operator Billing",
1303
+ "summary": "Decline a Radar review (admin scope required)",
1304
+ "security": "bearer",
1305
+ "body": false,
1306
+ "bodyRequired": false,
1307
+ "pathParams": [
1308
+ {
1309
+ "name": "id",
1310
+ "required": true
1311
+ }
1312
+ ],
1313
+ "queryParams": [],
1314
+ "headerParams": []
1315
+ },
1316
+ {
1317
+ "id": "operator_billing_list_value_lists",
1318
+ "method": "GET",
1319
+ "path": "/v1/operator-billing/fraud/value-lists",
1320
+ "tag": "Operator Billing",
1321
+ "summary": "List Radar block/allow value lists",
1322
+ "security": "bearer",
1323
+ "body": false,
1324
+ "bodyRequired": false,
1325
+ "pathParams": [],
1326
+ "queryParams": [],
1327
+ "headerParams": []
1328
+ },
1329
+ {
1330
+ "id": "operator_billing_add_value_list_item",
1331
+ "method": "POST",
1332
+ "path": "/v1/operator-billing/fraud/value-lists/items",
1333
+ "tag": "Operator Billing",
1334
+ "summary": "Add an item to a Radar block/allow list (admin scope required)",
1335
+ "security": "bearer",
1336
+ "body": true,
1337
+ "bodyRequired": true,
1338
+ "pathParams": [],
1339
+ "queryParams": [],
1340
+ "headerParams": []
1341
+ },
1342
+ {
1343
+ "id": "operator_identity_status",
1344
+ "method": "GET",
1345
+ "path": "/v1/operator-billing/identity/status",
1346
+ "tag": "Identity",
1347
+ "summary": "Get Stripe Identity KYC verification status for this operator",
1348
+ "security": "bearer",
1349
+ "body": false,
1350
+ "bodyRequired": false,
1351
+ "pathParams": [],
1352
+ "queryParams": [],
1353
+ "headerParams": []
1354
+ },
1355
+ {
1356
+ "id": "operator_identity_create_session",
1357
+ "method": "POST",
1358
+ "path": "/v1/operator-billing/identity/sessions",
1359
+ "tag": "Identity",
1360
+ "summary": "Record a new Stripe Identity verification session",
1361
+ "security": "bearer",
1362
+ "body": true,
1363
+ "bodyRequired": true,
1364
+ "pathParams": [],
1365
+ "queryParams": [],
1366
+ "headerParams": []
1367
+ },
1368
+ {
1369
+ "id": "operator_identity_update_session",
1370
+ "method": "PATCH",
1371
+ "path": "/v1/operator-billing/identity/sessions/{id}",
1372
+ "tag": "Identity",
1373
+ "summary": "Update a Stripe Identity session status (internal API key only)",
1374
+ "security": "bearer",
1375
+ "body": true,
1376
+ "bodyRequired": true,
1377
+ "pathParams": [
1378
+ {
1379
+ "name": "id",
1380
+ "required": true
1381
+ }
1382
+ ],
1383
+ "queryParams": [],
1384
+ "headerParams": []
1385
+ },
1386
+ {
1387
+ "id": "operator_list_promotions",
1388
+ "method": "GET",
1389
+ "path": "/v1/operator-billing/promotions",
1390
+ "tag": "Promotions",
1391
+ "summary": "List promotions (coupons/promo codes) for this operator",
1392
+ "security": "bearer",
1393
+ "body": false,
1394
+ "bodyRequired": false,
1395
+ "pathParams": [],
1396
+ "queryParams": [],
1397
+ "headerParams": []
1398
+ },
1399
+ {
1400
+ "id": "operator_create_promotion",
1401
+ "method": "POST",
1402
+ "path": "/v1/operator-billing/promotions",
1403
+ "tag": "Promotions",
1404
+ "summary": "Persist a new promotion record (Stripe coupon already created by console)",
1405
+ "security": "bearer",
1406
+ "body": true,
1407
+ "bodyRequired": true,
1408
+ "pathParams": [],
1409
+ "queryParams": [],
1410
+ "headerParams": []
1411
+ },
1412
+ {
1413
+ "id": "signup_start",
1414
+ "method": "POST",
1415
+ "path": "/v1/signup",
1416
+ "tag": "Sign-up",
1417
+ "summary": "Create a Carrier account and send the email verification code",
1418
+ "security": "public",
1419
+ "body": true,
1420
+ "bodyRequired": true,
1421
+ "pathParams": [],
1422
+ "queryParams": [],
1423
+ "headerParams": []
1424
+ },
1425
+ {
1426
+ "id": "signup_verify",
1427
+ "method": "POST",
1428
+ "path": "/v1/signup/verify",
1429
+ "tag": "Sign-up",
1430
+ "summary": "Submit the emailed code and create the organization",
1431
+ "security": "public",
1432
+ "body": true,
1433
+ "bodyRequired": true,
1434
+ "pathParams": [],
1435
+ "queryParams": [],
1436
+ "headerParams": []
1437
+ },
1438
+ {
1439
+ "id": "create_api_key",
1440
+ "method": "POST",
1441
+ "path": "/v1/api-keys",
1442
+ "tag": "API Keys",
1443
+ "summary": "Mint an ak_ API key for this organization (secret returned once)",
1444
+ "security": "bearer",
1445
+ "body": true,
1446
+ "bodyRequired": true,
1447
+ "pathParams": [],
1448
+ "queryParams": [],
1449
+ "headerParams": []
1450
+ },
1451
+ {
1452
+ "id": "get_onboarding_state",
1453
+ "method": "GET",
1454
+ "path": "/v1/onboarding",
1455
+ "tag": "Onboarding",
1456
+ "summary": "Read this org's onboarding progress",
1457
+ "security": "bearer",
1458
+ "body": false,
1459
+ "bodyRequired": false,
1460
+ "pathParams": [],
1461
+ "queryParams": [],
1462
+ "headerParams": []
1463
+ },
1464
+ {
1465
+ "id": "onboarding_save_org",
1466
+ "method": "POST",
1467
+ "path": "/v1/onboarding/org",
1468
+ "tag": "Onboarding",
1469
+ "summary": "Save operator details (step 1)",
1470
+ "security": "bearer",
1471
+ "body": true,
1472
+ "bodyRequired": true,
1473
+ "pathParams": [],
1474
+ "queryParams": [],
1475
+ "headerParams": []
1476
+ },
1477
+ {
1478
+ "id": "onboarding_connect_ocs_token",
1479
+ "method": "POST",
1480
+ "path": "/v1/onboarding/ocs-connect",
1481
+ "tag": "Onboarding",
1482
+ "summary": "Connect a BYO eSIMVault token (step 2)",
1483
+ "security": "bearer",
1484
+ "body": true,
1485
+ "bodyRequired": true,
1486
+ "pathParams": [],
1487
+ "queryParams": [],
1488
+ "headerParams": []
1489
+ },
1490
+ {
1491
+ "id": "onboarding_start_managed_account",
1492
+ "method": "POST",
1493
+ "path": "/v1/onboarding/managed-account",
1494
+ "tag": "Onboarding",
1495
+ "summary": "Provision a managed OCS sub-account (step 2, primary path)",
1496
+ "security": "bearer",
1497
+ "body": false,
1498
+ "bodyRequired": false,
1499
+ "pathParams": [],
1500
+ "queryParams": [],
1501
+ "headerParams": []
1502
+ },
1503
+ {
1504
+ "id": "onboarding_save_plan",
1505
+ "method": "POST",
1506
+ "path": "/v1/onboarding/plan",
1507
+ "tag": "Onboarding",
1508
+ "summary": "Record the starting plan template (step 3)",
1509
+ "security": "bearer",
1510
+ "body": true,
1511
+ "bodyRequired": true,
1512
+ "pathParams": [],
1513
+ "queryParams": [],
1514
+ "headerParams": []
1515
+ },
1516
+ {
1517
+ "id": "onboarding_skip_plan",
1518
+ "method": "POST",
1519
+ "path": "/v1/onboarding/plan/skip",
1520
+ "tag": "Onboarding",
1521
+ "summary": "Skip the plan step (step 3)",
1522
+ "security": "bearer",
1523
+ "body": false,
1524
+ "bodyRequired": false,
1525
+ "pathParams": [],
1526
+ "queryParams": [],
1527
+ "headerParams": []
1528
+ },
1529
+ {
1530
+ "id": "onboarding_test_esim",
1531
+ "method": "POST",
1532
+ "path": "/v1/onboarding/test-esim",
1533
+ "tag": "Onboarding",
1534
+ "summary": "Preview one eSIM from the connected fleet (step 4)",
1535
+ "security": "bearer",
1536
+ "body": false,
1537
+ "bodyRequired": false,
1538
+ "pathParams": [],
1539
+ "queryParams": [],
1540
+ "headerParams": []
1541
+ },
1542
+ {
1543
+ "id": "onboarding_complete",
1544
+ "method": "POST",
1545
+ "path": "/v1/onboarding/complete",
1546
+ "tag": "Onboarding",
1547
+ "summary": "Mark onboarding complete (step 5)",
1548
+ "security": "bearer",
1549
+ "body": false,
1550
+ "bodyRequired": false,
1551
+ "pathParams": [],
1552
+ "queryParams": [],
1553
+ "headerParams": []
1554
+ },
1555
+ {
1556
+ "id": "operator_billing_stripe_webhook",
1557
+ "method": "POST",
1558
+ "path": "/v1/operator-billing/stripe-webhook",
1559
+ "tag": "Webhooks",
1560
+ "summary": "Stripe Connect lifecycle webhook (no bearer auth — Stripe-Signature header required)",
1561
+ "security": "public",
1562
+ "body": true,
1563
+ "bodyRequired": true,
1564
+ "pathParams": [],
1565
+ "queryParams": [],
1566
+ "headerParams": [
1567
+ {
1568
+ "name": "stripe-signature",
1569
+ "required": false
1570
+ }
1571
+ ]
1572
+ },
1573
+ {
1574
+ "id": "receive_bridge4ip_webhook",
1575
+ "method": "POST",
1576
+ "path": "/v1/webhooks/bridge4ip",
1577
+ "tag": "Webhooks",
1578
+ "summary": "Receive Bridge4IP push event (usage, eSIM status, location)",
1579
+ "security": "bearer",
1580
+ "body": true,
1581
+ "bodyRequired": true,
1582
+ "pathParams": [],
1583
+ "queryParams": [],
1584
+ "headerParams": []
1585
+ },
1586
+ {
1587
+ "id": "affect_subscriber_phone_number",
1588
+ "method": "PUT",
1589
+ "path": "/v1/subscribers/{iccid}/phone-number",
1590
+ "tag": "Subscribers",
1591
+ "summary": "Assign a fake or real MSISDN to a subscriber",
1592
+ "security": "bearer",
1593
+ "body": true,
1594
+ "bodyRequired": true,
1595
+ "pathParams": [
1596
+ {
1597
+ "name": "iccid",
1598
+ "required": true
1599
+ }
1600
+ ],
1601
+ "queryParams": [],
1602
+ "headerParams": []
1603
+ },
1604
+ {
1605
+ "id": "modify_subscriber_mobile_plan",
1606
+ "method": "PUT",
1607
+ "path": "/v1/subscribers/{iccid}/mobile-plan",
1608
+ "tag": "Subscribers",
1609
+ "summary": "Change the mobile plan assigned to a subscriber",
1610
+ "security": "bearer",
1611
+ "body": true,
1612
+ "bodyRequired": true,
1613
+ "pathParams": [
1614
+ {
1615
+ "name": "iccid",
1616
+ "required": true
1617
+ }
1618
+ ],
1619
+ "queryParams": [],
1620
+ "headerParams": []
1621
+ },
1622
+ {
1623
+ "id": "modify_subscriber_voip_plan",
1624
+ "method": "PUT",
1625
+ "path": "/v1/subscribers/{iccid}/voip-plan",
1626
+ "tag": "Subscribers",
1627
+ "summary": "Change the VoIP plan assigned to a subscriber",
1628
+ "security": "bearer",
1629
+ "body": true,
1630
+ "bodyRequired": true,
1631
+ "pathParams": [
1632
+ {
1633
+ "name": "iccid",
1634
+ "required": true
1635
+ }
1636
+ ],
1637
+ "queryParams": [],
1638
+ "headerParams": []
1639
+ },
1640
+ {
1641
+ "id": "push_steering_to_subscriber",
1642
+ "method": "POST",
1643
+ "path": "/v1/subscribers/{iccid}/steering-list/push",
1644
+ "tag": "Subscribers",
1645
+ "summary": "Push the assigned steering list down to the subscriber's SIM",
1646
+ "security": "bearer",
1647
+ "body": false,
1648
+ "bodyRequired": false,
1649
+ "pathParams": [
1650
+ {
1651
+ "name": "iccid",
1652
+ "required": true
1653
+ }
1654
+ ],
1655
+ "queryParams": [],
1656
+ "headerParams": []
1657
+ },
1658
+ {
1659
+ "id": "modify_subscriber_package_active_period",
1660
+ "method": "PUT",
1661
+ "path": "/v1/subscribers/{iccid}/packages/{packageId}/active-period",
1662
+ "tag": "Subscribers",
1663
+ "summary": "Change the active period of a prepaid package on a subscriber",
1664
+ "security": "bearer",
1665
+ "body": true,
1666
+ "bodyRequired": true,
1667
+ "pathParams": [
1668
+ {
1669
+ "name": "iccid",
1670
+ "required": true
1671
+ },
1672
+ {
1673
+ "name": "packageId",
1674
+ "required": true
1675
+ }
1676
+ ],
1677
+ "queryParams": [],
1678
+ "headerParams": []
1679
+ },
1680
+ {
1681
+ "id": "get_subscriber_location_by_cell_id",
1682
+ "method": "GET",
1683
+ "path": "/v1/subscribers/{iccid}/cell-location",
1684
+ "tag": "Subscribers",
1685
+ "summary": "Resolve the subscriber's last radio cell tuple to lat/lon via Bridge4IP GeoSense. Returns 404 when that radio has no cell tower tuple.",
1686
+ "security": "bearer",
1687
+ "body": false,
1688
+ "bodyRequired": false,
1689
+ "pathParams": [
1690
+ {
1691
+ "name": "iccid",
1692
+ "required": true
1693
+ }
1694
+ ],
1695
+ "queryParams": [],
1696
+ "headerParams": []
1697
+ },
1698
+ {
1699
+ "id": "reset_subscriber_gz_counter",
1700
+ "method": "POST",
1701
+ "path": "/v1/subscribers/{iccid}/gz-counter/reset",
1702
+ "tag": "Subscribers",
1703
+ "summary": "Reset the Green Zone volume counter for a subscriber (admin only, irreversible)",
1704
+ "security": "bearer",
1705
+ "body": false,
1706
+ "bodyRequired": false,
1707
+ "pathParams": [
1708
+ {
1709
+ "name": "iccid",
1710
+ "required": true
1711
+ }
1712
+ ],
1713
+ "queryParams": [],
1714
+ "headerParams": [
1715
+ {
1716
+ "name": "X-Confirm-Token",
1717
+ "required": false
1718
+ }
1719
+ ]
1720
+ },
1721
+ {
1722
+ "id": "list_destination_lists",
1723
+ "method": "GET",
1724
+ "path": "/v1/destination-lists",
1725
+ "tag": "Network",
1726
+ "summary": "List destination lists with full prefix detail",
1727
+ "security": "bearer",
1728
+ "body": false,
1729
+ "bodyRequired": false,
1730
+ "pathParams": [],
1731
+ "queryParams": [
1732
+ {
1733
+ "name": "resellerId",
1734
+ "required": false
1735
+ }
1736
+ ],
1737
+ "headerParams": []
1738
+ },
1739
+ {
1740
+ "id": "list_subscriber_voip_tariff",
1741
+ "method": "GET",
1742
+ "path": "/v1/voip-tariffs",
1743
+ "tag": "Network",
1744
+ "summary": "List the VoIP tariff catalog available to a reseller",
1745
+ "security": "bearer",
1746
+ "body": false,
1747
+ "bodyRequired": false,
1748
+ "pathParams": [],
1749
+ "queryParams": [
1750
+ {
1751
+ "name": "resellerId",
1752
+ "required": false
1753
+ }
1754
+ ],
1755
+ "headerParams": []
1756
+ },
1757
+ {
1758
+ "id": "list_voip_tariff_rule",
1759
+ "method": "GET",
1760
+ "path": "/v1/voip-tariffs/{voipPlanId}/rules",
1761
+ "tag": "Network",
1762
+ "summary": "List the rate rules for one VoIP plan",
1763
+ "security": "bearer",
1764
+ "body": false,
1765
+ "bodyRequired": false,
1766
+ "pathParams": [
1767
+ {
1768
+ "name": "voipPlanId",
1769
+ "required": true
1770
+ }
1771
+ ],
1772
+ "queryParams": [],
1773
+ "headerParams": []
1774
+ },
1775
+ {
1776
+ "id": "change_network_profile_of_location_zone",
1777
+ "method": "PUT",
1778
+ "path": "/v1/location-zones/{locationZoneId}/network-profile",
1779
+ "tag": "Network",
1780
+ "summary": "Attach or change the network profile on an existing location zone. Admin scope and a confirm token, because this addresses a zone by id and other tenants may route through it.",
1781
+ "security": "bearer",
1782
+ "body": true,
1783
+ "bodyRequired": true,
1784
+ "pathParams": [
1785
+ {
1786
+ "name": "locationZoneId",
1787
+ "required": true
1788
+ }
1789
+ ],
1790
+ "queryParams": [],
1791
+ "headerParams": [
1792
+ {
1793
+ "name": "X-Confirm-Token",
1794
+ "required": false
1795
+ }
1796
+ ]
1797
+ },
1798
+ {
1799
+ "id": "carrier_webhook_config",
1800
+ "method": "GET",
1801
+ "path": "/v1/reseller/webhook-config",
1802
+ "tag": "Reseller",
1803
+ "summary": "Read the Bridge4IP relay flags and notification webhooks for this reseller",
1804
+ "security": "bearer",
1805
+ "body": false,
1806
+ "bodyRequired": false,
1807
+ "pathParams": [],
1808
+ "queryParams": [
1809
+ {
1810
+ "name": "resellerId",
1811
+ "required": false
1812
+ }
1813
+ ],
1814
+ "headerParams": []
1815
+ },
1816
+ {
1817
+ "id": "ai_chat",
1818
+ "method": "POST",
1819
+ "path": "/v1/ai/chat",
1820
+ "tag": "AI",
1821
+ "summary": "Ask the assistant about your fleet. Streams the answer.",
1822
+ "security": "bearer",
1823
+ "body": true,
1824
+ "bodyRequired": true,
1825
+ "pathParams": [],
1826
+ "queryParams": [],
1827
+ "headerParams": []
1828
+ },
1829
+ {
1830
+ "id": "ai_insights",
1831
+ "method": "POST",
1832
+ "path": "/v1/ai/insights",
1833
+ "tag": "AI",
1834
+ "summary": "Generated insight cards for the caller's fleet",
1835
+ "security": "bearer",
1836
+ "body": false,
1837
+ "bodyRequired": false,
1838
+ "pathParams": [],
1839
+ "queryParams": [],
1840
+ "headerParams": []
1841
+ },
1842
+ {
1843
+ "id": "ai_quota",
1844
+ "method": "GET",
1845
+ "path": "/v1/ai/quota",
1846
+ "tag": "AI",
1847
+ "summary": "AI allowance remaining. Reads without consuming.",
1848
+ "security": "bearer",
1849
+ "body": false,
1850
+ "bodyRequired": false,
1851
+ "pathParams": [],
1852
+ "queryParams": [],
1853
+ "headerParams": []
1854
+ },
1855
+ {
1856
+ "id": "list_invoice_periods",
1857
+ "method": "GET",
1858
+ "path": "/v1/invoices/periods",
1859
+ "tag": "Billing",
1860
+ "summary": "Billing periods for the caller's org, newest first",
1861
+ "security": "bearer",
1862
+ "body": false,
1863
+ "bodyRequired": false,
1864
+ "pathParams": [],
1865
+ "queryParams": [],
1866
+ "headerParams": []
1867
+ },
1868
+ {
1869
+ "id": "get_billing_config",
1870
+ "method": "GET",
1871
+ "path": "/v1/invoices/config",
1872
+ "tag": "Billing",
1873
+ "summary": "Billing config for the caller's org",
1874
+ "security": "bearer",
1875
+ "body": false,
1876
+ "bodyRequired": false,
1877
+ "pathParams": [],
1878
+ "queryParams": [],
1879
+ "headerParams": []
1880
+ },
1881
+ {
1882
+ "id": "update_billing_config",
1883
+ "method": "PUT",
1884
+ "path": "/v1/invoices/config",
1885
+ "tag": "Billing",
1886
+ "summary": "Update billing config. Requires the 'write' scope.",
1887
+ "security": "bearer",
1888
+ "body": true,
1889
+ "bodyRequired": true,
1890
+ "pathParams": [],
1891
+ "queryParams": [],
1892
+ "headerParams": []
1893
+ },
1894
+ {
1895
+ "id": "stripe_connect_begin",
1896
+ "method": "POST",
1897
+ "path": "/v1/invoices/stripe/connect/begin",
1898
+ "tag": "Billing",
1899
+ "summary": "Start Stripe Connect onboarding (free-tier; Clerk auth only).",
1900
+ "security": "bearer",
1901
+ "body": true,
1902
+ "bodyRequired": true,
1903
+ "pathParams": [],
1904
+ "queryParams": [],
1905
+ "headerParams": []
1906
+ },
1907
+ {
1908
+ "id": "stripe_connect_status",
1909
+ "method": "GET",
1910
+ "path": "/v1/invoices/stripe/connect/status",
1911
+ "tag": "Billing",
1912
+ "summary": "Stripe Connect account status for the caller's org",
1913
+ "security": "bearer",
1914
+ "body": false,
1915
+ "bodyRequired": false,
1916
+ "pathParams": [],
1917
+ "queryParams": [],
1918
+ "headerParams": []
1919
+ },
1920
+ {
1921
+ "id": "list_invoices",
1922
+ "method": "GET",
1923
+ "path": "/v1/invoices",
1924
+ "tag": "Billing",
1925
+ "summary": "List invoices for the caller's org, newest first",
1926
+ "security": "bearer",
1927
+ "body": false,
1928
+ "bodyRequired": false,
1929
+ "pathParams": [],
1930
+ "queryParams": [
1931
+ {
1932
+ "name": "status",
1933
+ "required": false
1934
+ },
1935
+ {
1936
+ "name": "year",
1937
+ "required": false
1938
+ },
1939
+ {
1940
+ "name": "month",
1941
+ "required": false
1942
+ },
1943
+ {
1944
+ "name": "limit",
1945
+ "required": false
1946
+ },
1947
+ {
1948
+ "name": "offset",
1949
+ "required": false
1950
+ }
1951
+ ],
1952
+ "headerParams": []
1953
+ },
1954
+ {
1955
+ "id": "create_invoice",
1956
+ "method": "POST",
1957
+ "path": "/v1/invoices",
1958
+ "tag": "Billing",
1959
+ "summary": "Bill a period from its call records. Requires the 'write' scope.",
1960
+ "security": "bearer",
1961
+ "body": true,
1962
+ "bodyRequired": true,
1963
+ "pathParams": [],
1964
+ "queryParams": [],
1965
+ "headerParams": []
1966
+ },
1967
+ {
1968
+ "id": "get_invoice",
1969
+ "method": "GET",
1970
+ "path": "/v1/invoices/{id}",
1971
+ "tag": "Billing",
1972
+ "summary": "One invoice with its line items and period",
1973
+ "security": "bearer",
1974
+ "body": false,
1975
+ "bodyRequired": false,
1976
+ "pathParams": [
1977
+ {
1978
+ "name": "id",
1979
+ "required": true
1980
+ }
1981
+ ],
1982
+ "queryParams": [],
1983
+ "headerParams": []
1984
+ },
1985
+ {
1986
+ "id": "update_invoice",
1987
+ "method": "PATCH",
1988
+ "path": "/v1/invoices/{id}",
1989
+ "tag": "Billing",
1990
+ "summary": "Update invoice status or recipient. Requires the 'write' scope.",
1991
+ "security": "bearer",
1992
+ "body": true,
1993
+ "bodyRequired": true,
1994
+ "pathParams": [
1995
+ {
1996
+ "name": "id",
1997
+ "required": true
1998
+ }
1999
+ ],
2000
+ "queryParams": [],
2001
+ "headerParams": []
2002
+ },
2003
+ {
2004
+ "id": "void_invoice",
2005
+ "method": "DELETE",
2006
+ "path": "/v1/invoices/{id}",
2007
+ "tag": "Billing",
2008
+ "summary": "Void an invoice. Requires the 'write' scope.",
2009
+ "security": "bearer",
2010
+ "body": false,
2011
+ "bodyRequired": false,
2012
+ "pathParams": [
2013
+ {
2014
+ "name": "id",
2015
+ "required": true
2016
+ }
2017
+ ],
2018
+ "queryParams": [],
2019
+ "headerParams": []
2020
+ },
2021
+ {
2022
+ "id": "get_invoice_document",
2023
+ "method": "GET",
2024
+ "path": "/v1/invoices/{id}/pdf",
2025
+ "tag": "Billing",
2026
+ "summary": "Download the invoice document. Not JSON.",
2027
+ "security": "bearer",
2028
+ "body": false,
2029
+ "bodyRequired": false,
2030
+ "pathParams": [
2031
+ {
2032
+ "name": "id",
2033
+ "required": true
2034
+ }
2035
+ ],
2036
+ "queryParams": [],
2037
+ "headerParams": []
2038
+ },
2039
+ {
2040
+ "id": "list_connectivity_plans",
2041
+ "method": "GET",
2042
+ "path": "/v1/connectivity/plans",
2043
+ "tag": "Connectivity",
2044
+ "summary": "List test plans and live plans available to this account",
2045
+ "security": "bearer",
2046
+ "body": false,
2047
+ "bodyRequired": false,
2048
+ "pathParams": [],
2049
+ "queryParams": [],
2050
+ "headerParams": []
2051
+ },
2052
+ {
2053
+ "id": "list_connectivity_products",
2054
+ "method": "GET",
2055
+ "path": "/v1/connectivity/products",
2056
+ "tag": "Connectivity",
2057
+ "summary": "List connectivity products this account defined",
2058
+ "security": "bearer",
2059
+ "body": false,
2060
+ "bodyRequired": false,
2061
+ "pathParams": [],
2062
+ "queryParams": [],
2063
+ "headerParams": []
2064
+ },
2065
+ {
2066
+ "id": "create_connectivity_product",
2067
+ "method": "POST",
2068
+ "path": "/v1/connectivity/products",
2069
+ "tag": "Connectivity",
2070
+ "summary": "Define a connectivity plan for this account",
2071
+ "security": "bearer",
2072
+ "body": true,
2073
+ "bodyRequired": true,
2074
+ "pathParams": [],
2075
+ "queryParams": [],
2076
+ "headerParams": [
2077
+ {
2078
+ "name": "Idempotency-Key",
2079
+ "required": true
2080
+ }
2081
+ ]
2082
+ },
2083
+ {
2084
+ "id": "get_connectivity_product",
2085
+ "method": "GET",
2086
+ "path": "/v1/connectivity/products/{id}",
2087
+ "tag": "Connectivity",
2088
+ "summary": "Retrieve one connectivity product",
2089
+ "security": "bearer",
2090
+ "body": false,
2091
+ "bodyRequired": false,
2092
+ "pathParams": [
2093
+ {
2094
+ "name": "id",
2095
+ "required": true
2096
+ }
2097
+ ],
2098
+ "queryParams": [],
2099
+ "headerParams": []
2100
+ },
2101
+ {
2102
+ "id": "list_connectivity_intents",
2103
+ "method": "GET",
2104
+ "path": "/v1/connectivity/intents",
2105
+ "tag": "Connectivity",
2106
+ "summary": "List connectivity intents for this account",
2107
+ "security": "bearer",
2108
+ "body": false,
2109
+ "bodyRequired": false,
2110
+ "pathParams": [],
2111
+ "queryParams": [
2112
+ {
2113
+ "name": "limit",
2114
+ "required": false
2115
+ }
2116
+ ],
2117
+ "headerParams": []
2118
+ },
2119
+ {
2120
+ "id": "create_connectivity_intent",
2121
+ "method": "POST",
2122
+ "path": "/v1/connectivity/intents",
2123
+ "tag": "Connectivity",
2124
+ "summary": "Issue one eSIM, or leave the intent waiting for a plan",
2125
+ "security": "bearer",
2126
+ "body": true,
2127
+ "bodyRequired": true,
2128
+ "pathParams": [],
2129
+ "queryParams": [],
2130
+ "headerParams": [
2131
+ {
2132
+ "name": "Idempotency-Key",
2133
+ "required": true
2134
+ }
2135
+ ]
2136
+ },
2137
+ {
2138
+ "id": "get_connectivity_intent",
2139
+ "method": "GET",
2140
+ "path": "/v1/connectivity/intents/{id}",
2141
+ "tag": "Connectivity",
2142
+ "summary": "Retrieve one connectivity intent",
2143
+ "security": "bearer",
2144
+ "body": false,
2145
+ "bodyRequired": false,
2146
+ "pathParams": [
2147
+ {
2148
+ "name": "id",
2149
+ "required": true
2150
+ }
2151
+ ],
2152
+ "queryParams": [],
2153
+ "headerParams": []
2154
+ },
2155
+ {
2156
+ "id": "confirm_connectivity_intent",
2157
+ "method": "POST",
2158
+ "path": "/v1/connectivity/intents/{id}/confirm",
2159
+ "tag": "Connectivity",
2160
+ "summary": "Attach a plan and issue the eSIM",
2161
+ "security": "bearer",
2162
+ "body": true,
2163
+ "bodyRequired": true,
2164
+ "pathParams": [
2165
+ {
2166
+ "name": "id",
2167
+ "required": true
2168
+ }
2169
+ ],
2170
+ "queryParams": [],
2171
+ "headerParams": []
2172
+ },
2173
+ {
2174
+ "id": "create_connectivity_webhook_endpoint",
2175
+ "method": "POST",
2176
+ "path": "/v1/connectivity/webhook_endpoints",
2177
+ "tag": "Connectivity",
2178
+ "summary": "Register an HTTPS endpoint. The signing secret is returned once.",
2179
+ "security": "bearer",
2180
+ "body": true,
2181
+ "bodyRequired": true,
2182
+ "pathParams": [],
2183
+ "queryParams": [],
2184
+ "headerParams": []
2185
+ },
2186
+ {
2187
+ "id": "list_connectivity_webhook_endpoints",
2188
+ "method": "GET",
2189
+ "path": "/v1/connectivity/webhook_endpoints",
2190
+ "tag": "Connectivity",
2191
+ "summary": "List webhook endpoints. Secrets are omitted.",
2192
+ "security": "bearer",
2193
+ "body": false,
2194
+ "bodyRequired": false,
2195
+ "pathParams": [],
2196
+ "queryParams": [],
2197
+ "headerParams": []
2198
+ },
2199
+ {
2200
+ "id": "delete_connectivity_webhook_endpoint",
2201
+ "method": "DELETE",
2202
+ "path": "/v1/connectivity/webhook_endpoints/{id}",
2203
+ "tag": "Connectivity",
2204
+ "summary": "Remove a webhook endpoint",
2205
+ "security": "bearer",
2206
+ "body": false,
2207
+ "bodyRequired": false,
2208
+ "pathParams": [
2209
+ {
2210
+ "name": "id",
2211
+ "required": true
2212
+ }
2213
+ ],
2214
+ "queryParams": [],
2215
+ "headerParams": []
2216
+ },
2217
+ {
2218
+ "id": "list_connectivity_events",
2219
+ "method": "GET",
2220
+ "path": "/v1/connectivity/events",
2221
+ "tag": "Connectivity",
2222
+ "summary": "List recent connectivity events for this account",
2223
+ "security": "bearer",
2224
+ "body": false,
2225
+ "bodyRequired": false,
2226
+ "pathParams": [],
2227
+ "queryParams": [
2228
+ {
2229
+ "name": "intent",
2230
+ "required": false
2231
+ }
2232
+ ],
2233
+ "headerParams": []
2234
+ },
2235
+ {
2236
+ "id": "get_connectivity_event",
2237
+ "method": "GET",
2238
+ "path": "/v1/connectivity/events/{id}",
2239
+ "tag": "Connectivity",
2240
+ "summary": "Retrieve one connectivity event",
2241
+ "security": "bearer",
2242
+ "body": false,
2243
+ "bodyRequired": false,
2244
+ "pathParams": [
2245
+ {
2246
+ "name": "id",
2247
+ "required": true
2248
+ }
2249
+ ],
2250
+ "queryParams": [],
2251
+ "headerParams": []
2252
+ },
2253
+ {
2254
+ "id": "create_connectivity_usage_record",
2255
+ "method": "POST",
2256
+ "path": "/v1/connectivity/usage_records",
2257
+ "tag": "Connectivity",
2258
+ "summary": "Record usage on a test intent. Live intents are metered by the network.",
2259
+ "security": "bearer",
2260
+ "body": true,
2261
+ "bodyRequired": true,
2262
+ "pathParams": [],
2263
+ "queryParams": [],
2264
+ "headerParams": [
2265
+ {
2266
+ "name": "Idempotency-Key",
2267
+ "required": true
2268
+ }
2269
+ ]
2270
+ },
2271
+ {
2272
+ "id": "list_connectivity_usage_records",
2273
+ "method": "GET",
2274
+ "path": "/v1/connectivity/usage_records",
2275
+ "tag": "Connectivity",
2276
+ "summary": "List usage records for one intent",
2277
+ "security": "bearer",
2278
+ "body": false,
2279
+ "bodyRequired": false,
2280
+ "pathParams": [],
2281
+ "queryParams": [
2282
+ {
2283
+ "name": "intent",
2284
+ "required": true
2285
+ }
2286
+ ],
2287
+ "headerParams": []
2288
+ },
2289
+ {
2290
+ "id": "retry_connectivity_event",
2291
+ "method": "POST",
2292
+ "path": "/v1/connectivity/events/{id}/retry",
2293
+ "tag": "Connectivity",
2294
+ "summary": "Re-sign and POST an existing event. Does not create a second event.",
2295
+ "security": "bearer",
2296
+ "body": false,
2297
+ "bodyRequired": false,
2298
+ "pathParams": [
2299
+ {
2300
+ "name": "id",
2301
+ "required": true
2302
+ }
2303
+ ],
2304
+ "queryParams": [],
2305
+ "headerParams": []
2306
+ },
2307
+ {
2308
+ "id": "issue_esim_from_inventory",
2309
+ "method": "POST",
2310
+ "path": "/v1/subscribers/issue-from-inventory",
2311
+ "tag": "Subscribers",
2312
+ "summary": "Issue a free eSIM from an account's inventory and assign a package",
2313
+ "security": "bearer",
2314
+ "body": true,
2315
+ "bodyRequired": true,
2316
+ "pathParams": [],
2317
+ "queryParams": [],
2318
+ "headerParams": [
2319
+ {
2320
+ "name": "X-Idempotency-Key",
2321
+ "required": false
2322
+ }
2323
+ ]
2324
+ },
2325
+ {
2326
+ "id": "rollback_esim_issuance",
2327
+ "method": "DELETE",
2328
+ "path": "/v1/subscribers/issue-from-inventory/{idempotencyKey}",
2329
+ "tag": "Subscribers",
2330
+ "summary": "Roll back one operator issuance by its idempotency key",
2331
+ "security": "bearer",
2332
+ "body": false,
2333
+ "bodyRequired": false,
2334
+ "pathParams": [
2335
+ {
2336
+ "name": "idempotencyKey",
2337
+ "required": true
2338
+ }
2339
+ ],
2340
+ "queryParams": [],
2341
+ "headerParams": [
2342
+ {
2343
+ "name": "X-Confirm-Token",
2344
+ "required": false
2345
+ }
2346
+ ]
2347
+ },
2348
+ {
2349
+ "id": "subscriber_country_history",
2350
+ "method": "GET",
2351
+ "path": "/v1/subscribers/{iccid}/country-history",
2352
+ "tag": "Subscribers",
2353
+ "summary": "Recent country.entered events for one subscriber",
2354
+ "security": "bearer",
2355
+ "body": false,
2356
+ "bodyRequired": false,
2357
+ "pathParams": [
2358
+ {
2359
+ "name": "iccid",
2360
+ "required": true
2361
+ }
2362
+ ],
2363
+ "queryParams": [
2364
+ {
2365
+ "name": "limit",
2366
+ "required": false
2367
+ }
2368
+ ],
2369
+ "headerParams": []
2370
+ },
2371
+ {
2372
+ "id": "get_subscriber_notes",
2373
+ "method": "GET",
2374
+ "path": "/v1/subscribers/{iccid}/notes",
2375
+ "tag": "Subscribers",
2376
+ "summary": "Operator notes for one subscriber",
2377
+ "security": "bearer",
2378
+ "body": false,
2379
+ "bodyRequired": false,
2380
+ "pathParams": [
2381
+ {
2382
+ "name": "iccid",
2383
+ "required": true
2384
+ }
2385
+ ],
2386
+ "queryParams": [],
2387
+ "headerParams": []
2388
+ },
2389
+ {
2390
+ "id": "add_subscriber_note",
2391
+ "method": "POST",
2392
+ "path": "/v1/subscribers/{iccid}/notes",
2393
+ "tag": "Subscribers",
2394
+ "summary": "Append one support note",
2395
+ "security": "bearer",
2396
+ "body": true,
2397
+ "bodyRequired": true,
2398
+ "pathParams": [
2399
+ {
2400
+ "name": "iccid",
2401
+ "required": true
2402
+ }
2403
+ ],
2404
+ "queryParams": [],
2405
+ "headerParams": []
2406
+ },
2407
+ {
2408
+ "id": "put_subscriber_notes",
2409
+ "method": "PUT",
2410
+ "path": "/v1/subscribers/{iccid}/notes",
2411
+ "tag": "Subscribers",
2412
+ "summary": "Replace the fleet note blob",
2413
+ "security": "bearer",
2414
+ "body": true,
2415
+ "bodyRequired": true,
2416
+ "pathParams": [
2417
+ {
2418
+ "name": "iccid",
2419
+ "required": true
2420
+ }
2421
+ ],
2422
+ "queryParams": [],
2423
+ "headerParams": []
2424
+ },
2425
+ {
2426
+ "id": "observe_connectivity_event",
2427
+ "method": "POST",
2428
+ "path": "/v1/connectivity/events/observe",
2429
+ "tag": "Connectivity",
2430
+ "summary": "Record a bridge network event against the intent that owns the ICCID",
2431
+ "security": "internal",
2432
+ "body": true,
2433
+ "bodyRequired": true,
2434
+ "pathParams": [],
2435
+ "queryParams": [],
2436
+ "headerParams": []
2437
+ },
2438
+ {
2439
+ "id": "ingest_connectivity_usage",
2440
+ "method": "POST",
2441
+ "path": "/v1/connectivity/usage_records/ingest",
2442
+ "tag": "Connectivity",
2443
+ "summary": "Ingest one metered usage line from the bridge",
2444
+ "security": "internal",
2445
+ "body": true,
2446
+ "bodyRequired": true,
2447
+ "pathParams": [],
2448
+ "queryParams": [],
2449
+ "headerParams": []
2450
+ },
2451
+ {
2452
+ "id": "ingest_cdr_events",
2453
+ "method": "POST",
2454
+ "path": "/v1/cdr/ingest",
2455
+ "tag": "Billing",
2456
+ "summary": "Store a batch of CDR events for the caller's org",
2457
+ "security": "bearer",
2458
+ "body": true,
2459
+ "bodyRequired": true,
2460
+ "pathParams": [],
2461
+ "queryParams": [],
2462
+ "headerParams": []
2463
+ },
2464
+ {
2465
+ "id": "aggregate_cdr",
2466
+ "method": "GET",
2467
+ "path": "/v1/cdr/aggregate",
2468
+ "tag": "Billing",
2469
+ "summary": "Sum CDR bytes for one month, grouped by ICCID",
2470
+ "security": "bearer",
2471
+ "body": false,
2472
+ "bodyRequired": false,
2473
+ "pathParams": [],
2474
+ "queryParams": [
2475
+ {
2476
+ "name": "year",
2477
+ "required": true
2478
+ },
2479
+ {
2480
+ "name": "month",
2481
+ "required": true
2482
+ },
2483
+ {
2484
+ "name": "iccid",
2485
+ "required": false
2486
+ }
2487
+ ],
2488
+ "headerParams": []
2489
+ },
2490
+ {
2491
+ "id": "list_storefront_templates",
2492
+ "method": "GET",
2493
+ "path": "/api/templates",
2494
+ "tag": "Storefront",
2495
+ "summary": "Sellable storefront plans, as a bare array",
2496
+ "security": "public",
2497
+ "body": false,
2498
+ "bodyRequired": false,
2499
+ "pathParams": [],
2500
+ "queryParams": [],
2501
+ "headerParams": []
2502
+ },
2503
+ {
2504
+ "id": "get_storefront_order",
2505
+ "method": "GET",
2506
+ "path": "/api/orders/{orderId}",
2507
+ "tag": "Storefront",
2508
+ "summary": "Read one storefront order",
2509
+ "security": "storefront",
2510
+ "body": false,
2511
+ "bodyRequired": false,
2512
+ "pathParams": [
2513
+ {
2514
+ "name": "orderId",
2515
+ "required": true
2516
+ }
2517
+ ],
2518
+ "queryParams": [],
2519
+ "headerParams": []
2520
+ },
2521
+ {
2522
+ "id": "health_check",
2523
+ "method": "GET",
2524
+ "path": "/health",
2525
+ "tag": "System",
2526
+ "summary": "Health check — returns build metadata",
2527
+ "security": "public",
2528
+ "body": false,
2529
+ "bodyRequired": false,
2530
+ "pathParams": [],
2531
+ "queryParams": [],
2532
+ "headerParams": []
2533
+ }
2534
+ ]