@instantkom/cli 3.156.0 → 3.158.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.
@@ -2896,16 +2896,10 @@
2896
2896
  "reply.js"
2897
2897
  ]
2898
2898
  },
2899
- "config:get": {
2899
+ "broadcast:create": {
2900
2900
  "aliases": [],
2901
- "args": {
2902
- "key": {
2903
- "description": "Configuration key to retrieve",
2904
- "name": "key",
2905
- "required": true
2906
- }
2907
- },
2908
- "description": "Get a configuration value for the current profile",
2901
+ "args": {},
2902
+ "description": "Create a broadcast for channels or segments",
2909
2903
  "flags": {
2910
2904
  "api-key": {
2911
2905
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -2968,11 +2962,93 @@
2968
2962
  "hasDynamicHelp": false,
2969
2963
  "multiple": false,
2970
2964
  "type": "option"
2965
+ },
2966
+ "channel": {
2967
+ "description": "Channel ID target",
2968
+ "name": "channel",
2969
+ "hasDynamicHelp": false,
2970
+ "multiple": false,
2971
+ "type": "option"
2972
+ },
2973
+ "segment": {
2974
+ "description": "Segment ID within --channel",
2975
+ "name": "segment",
2976
+ "hasDynamicHelp": false,
2977
+ "multiple": false,
2978
+ "type": "option"
2979
+ },
2980
+ "target": {
2981
+ "description": "Target as channelId or channelId:segmentId; may be repeated",
2982
+ "name": "target",
2983
+ "hasDynamicHelp": false,
2984
+ "multiple": true,
2985
+ "type": "option"
2986
+ },
2987
+ "text": {
2988
+ "description": "Broadcast message text",
2989
+ "name": "text",
2990
+ "required": true,
2991
+ "hasDynamicHelp": false,
2992
+ "multiple": false,
2993
+ "type": "option"
2994
+ },
2995
+ "send-at": {
2996
+ "description": "Schedule send for an ISO-8601 date-time",
2997
+ "name": "send-at",
2998
+ "hasDynamicHelp": false,
2999
+ "multiple": false,
3000
+ "type": "option"
3001
+ },
3002
+ "dry-run": {
3003
+ "description": "Validate and print the broadcast payload without mutating API calls",
3004
+ "name": "dry-run",
3005
+ "allowNo": false,
3006
+ "type": "boolean"
3007
+ },
3008
+ "idempotency-key": {
3009
+ "description": "Idempotency key forwarded as Idempotency-Key",
3010
+ "name": "idempotency-key",
3011
+ "hasDynamicHelp": false,
3012
+ "multiple": false,
3013
+ "type": "option"
3014
+ },
3015
+ "media": {
3016
+ "description": "Media file path to upload",
3017
+ "name": "media",
3018
+ "hasDynamicHelp": false,
3019
+ "multiple": true,
3020
+ "type": "option"
3021
+ },
3022
+ "template-id": {
3023
+ "description": "WhatsApp template ID",
3024
+ "name": "template-id",
3025
+ "hasDynamicHelp": false,
3026
+ "multiple": false,
3027
+ "type": "option"
3028
+ },
3029
+ "send-status": {
3030
+ "description": "Initial broadcast send status",
3031
+ "name": "send-status",
3032
+ "default": "draft",
3033
+ "hasDynamicHelp": false,
3034
+ "multiple": false,
3035
+ "options": [
3036
+ "draft",
3037
+ "scheduled",
3038
+ "sending"
3039
+ ],
3040
+ "type": "option"
3041
+ },
3042
+ "auto-approve": {
3043
+ "description": "Auto-approve broadcast when allowed by API permissions",
3044
+ "name": "auto-approve",
3045
+ "allowNo": false,
3046
+ "type": "boolean"
2971
3047
  }
2972
3048
  },
2973
3049
  "hasDynamicHelp": false,
2974
3050
  "hiddenAliases": [],
2975
- "id": "config:get",
3051
+ "id": "broadcast:create",
2976
3052
  "pluginAlias": "@instantkom/cli",
2977
3053
  "pluginName": "@instantkom/cli",
2978
3054
  "pluginType": "core",
@@ -2982,25 +3058,20 @@
2982
3058
  "relativePath": [
2983
3059
  "dist",
2984
3060
  "commands",
2985
- "config",
2986
- "get.js"
3061
+ "broadcast",
3062
+ "create.js"
2987
3063
  ]
2988
3064
  },
2989
- "config:set": {
3065
+ "broadcast:delete": {
2990
3066
  "aliases": [],
2991
3067
  "args": {
2992
- "key": {
2993
- "description": "Configuration key to set",
2994
- "name": "key",
2995
- "required": true
2996
- },
2997
- "value": {
2998
- "description": "Value to assign",
2999
- "name": "value",
3068
+ "id": {
3069
+ "description": "broadcast ID",
3070
+ "name": "id",
3000
3071
  "required": true
3001
3072
  }
3002
3073
  },
3003
- "description": "Set a configuration value for the current profile",
3074
+ "description": "Delete broadcast",
3004
3075
  "flags": {
3005
3076
  "api-key": {
3006
3077
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3067,7 +3138,7 @@
3067
3138
  },
3068
3139
  "hasDynamicHelp": false,
3069
3140
  "hiddenAliases": [],
3070
- "id": "config:set",
3141
+ "id": "broadcast:delete",
3071
3142
  "pluginAlias": "@instantkom/cli",
3072
3143
  "pluginName": "@instantkom/cli",
3073
3144
  "pluginType": "core",
@@ -3077,20 +3148,20 @@
3077
3148
  "relativePath": [
3078
3149
  "dist",
3079
3150
  "commands",
3080
- "config",
3081
- "set.js"
3151
+ "broadcast",
3152
+ "delete.js"
3082
3153
  ]
3083
3154
  },
3084
- "config:unset": {
3155
+ "broadcast:get": {
3085
3156
  "aliases": [],
3086
3157
  "args": {
3087
- "key": {
3088
- "description": "Configuration key to remove",
3089
- "name": "key",
3158
+ "id": {
3159
+ "description": "broadcast ID",
3160
+ "name": "id",
3090
3161
  "required": true
3091
3162
  }
3092
3163
  },
3093
- "description": "Remove a configuration key from the current profile",
3164
+ "description": "Get broadcast by ID",
3094
3165
  "flags": {
3095
3166
  "api-key": {
3096
3167
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3157,7 +3228,7 @@
3157
3228
  },
3158
3229
  "hasDynamicHelp": false,
3159
3230
  "hiddenAliases": [],
3160
- "id": "config:unset",
3231
+ "id": "broadcast:get",
3161
3232
  "pluginAlias": "@instantkom/cli",
3162
3233
  "pluginName": "@instantkom/cli",
3163
3234
  "pluginType": "core",
@@ -3167,14 +3238,14 @@
3167
3238
  "relativePath": [
3168
3239
  "dist",
3169
3240
  "commands",
3170
- "config",
3171
- "unset.js"
3241
+ "broadcast",
3242
+ "get.js"
3172
3243
  ]
3173
3244
  },
3174
- "contacts:create": {
3245
+ "broadcast:list": {
3175
3246
  "aliases": [],
3176
3247
  "args": {},
3177
- "description": "Create a contact",
3248
+ "description": "List broadcasts",
3178
3249
  "flags": {
3179
3250
  "api-key": {
3180
3251
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3238,40 +3309,72 @@
3238
3309
  "multiple": false,
3239
3310
  "type": "option"
3240
3311
  },
3312
+ "page": {
3313
+ "description": "Page number",
3314
+ "name": "page",
3315
+ "default": 1,
3316
+ "hasDynamicHelp": false,
3317
+ "multiple": false,
3318
+ "type": "option"
3319
+ },
3320
+ "limit": {
3321
+ "description": "Items per page",
3322
+ "name": "limit",
3323
+ "default": 20,
3324
+ "hasDynamicHelp": false,
3325
+ "multiple": false,
3326
+ "type": "option"
3327
+ },
3241
3328
  "channel": {
3242
- "description": "Channel ID",
3329
+ "description": "Filter by channel ID",
3243
3330
  "name": "channel",
3244
- "required": true,
3245
3331
  "hasDynamicHelp": false,
3246
3332
  "multiple": false,
3247
3333
  "type": "option"
3248
3334
  },
3249
- "identifier": {
3250
- "description": "Unique contact identifier",
3251
- "name": "identifier",
3252
- "required": true,
3335
+ "send-status": {
3336
+ "description": "Filter by send status",
3337
+ "name": "send-status",
3253
3338
  "hasDynamicHelp": false,
3254
3339
  "multiple": false,
3255
3340
  "type": "option"
3256
3341
  },
3257
- "name": {
3258
- "description": "Contact name",
3259
- "name": "name",
3342
+ "type": {
3343
+ "description": "Broadcast type",
3344
+ "name": "type",
3345
+ "hasDynamicHelp": false,
3346
+ "multiple": false,
3347
+ "options": [
3348
+ "text",
3349
+ "image",
3350
+ "video",
3351
+ "audio",
3352
+ "document"
3353
+ ],
3354
+ "type": "option"
3355
+ },
3356
+ "search": {
3357
+ "description": "Search broadcasts",
3358
+ "name": "search",
3260
3359
  "hasDynamicHelp": false,
3261
3360
  "multiple": false,
3262
3361
  "type": "option"
3263
3362
  },
3264
- "data": {
3265
- "description": "Additional JSON object payload",
3266
- "name": "data",
3363
+ "test": {
3364
+ "description": "Filter test flag: 0 or 1",
3365
+ "name": "test",
3267
3366
  "hasDynamicHelp": false,
3268
3367
  "multiple": false,
3368
+ "options": [
3369
+ "0",
3370
+ "1"
3371
+ ],
3269
3372
  "type": "option"
3270
3373
  }
3271
3374
  },
3272
3375
  "hasDynamicHelp": false,
3273
3376
  "hiddenAliases": [],
3274
- "id": "contacts:create",
3377
+ "id": "broadcast:list",
3275
3378
  "pluginAlias": "@instantkom/cli",
3276
3379
  "pluginName": "@instantkom/cli",
3277
3380
  "pluginType": "core",
@@ -3281,20 +3384,20 @@
3281
3384
  "relativePath": [
3282
3385
  "dist",
3283
3386
  "commands",
3284
- "contacts",
3285
- "create.js"
3387
+ "broadcast",
3388
+ "list.js"
3286
3389
  ]
3287
3390
  },
3288
- "contacts:delete": {
3391
+ "broadcast:send": {
3289
3392
  "aliases": [],
3290
3393
  "args": {
3291
3394
  "id": {
3292
- "description": "Contact ID",
3395
+ "description": "Broadcast ID",
3293
3396
  "name": "id",
3294
3397
  "required": true
3295
3398
  }
3296
3399
  },
3297
- "description": "Delete a contact",
3400
+ "description": "Send a broadcast immediately",
3298
3401
  "flags": {
3299
3402
  "api-key": {
3300
3403
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3361,7 +3464,7 @@
3361
3464
  },
3362
3465
  "hasDynamicHelp": false,
3363
3466
  "hiddenAliases": [],
3364
- "id": "contacts:delete",
3467
+ "id": "broadcast:send",
3365
3468
  "pluginAlias": "@instantkom/cli",
3366
3469
  "pluginName": "@instantkom/cli",
3367
3470
  "pluginType": "core",
@@ -3371,14 +3474,20 @@
3371
3474
  "relativePath": [
3372
3475
  "dist",
3373
3476
  "commands",
3374
- "contacts",
3375
- "delete.js"
3477
+ "broadcast",
3478
+ "send.js"
3376
3479
  ]
3377
3480
  },
3378
- "contacts:export": {
3481
+ "broadcast:status": {
3379
3482
  "aliases": [],
3380
- "args": {},
3381
- "description": "Export contacts to CSV",
3483
+ "args": {
3484
+ "id": {
3485
+ "description": "Broadcast ID",
3486
+ "name": "id",
3487
+ "required": true
3488
+ }
3489
+ },
3490
+ "description": "Show broadcast send status",
3382
3491
  "flags": {
3383
3492
  "api-key": {
3384
3493
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3441,49 +3550,11 @@
3441
3550
  "hasDynamicHelp": false,
3442
3551
  "multiple": false,
3443
3552
  "type": "option"
3444
- },
3445
- "file": {
3446
- "description": "CSV output file path",
3447
- "name": "file",
3448
- "required": true,
3449
- "hasDynamicHelp": false,
3450
- "multiple": false,
3451
- "type": "option"
3452
- },
3453
- "channel": {
3454
- "description": "Filter by channel ID",
3455
- "name": "channel",
3456
- "hasDynamicHelp": false,
3457
- "multiple": false,
3458
- "type": "option"
3459
- },
3460
- "search": {
3461
- "description": "Search by name or identifier",
3462
- "name": "search",
3463
- "hasDynamicHelp": false,
3464
- "multiple": false,
3465
- "type": "option"
3466
- },
3467
- "page": {
3468
- "description": "Page number",
3469
- "name": "page",
3470
- "default": 1,
3471
- "hasDynamicHelp": false,
3472
- "multiple": false,
3473
- "type": "option"
3474
- },
3475
- "limit": {
3476
- "description": "Items per page",
3477
- "name": "limit",
3478
- "default": 100,
3479
- "hasDynamicHelp": false,
3480
- "multiple": false,
3481
- "type": "option"
3482
3553
  }
3483
3554
  },
3484
3555
  "hasDynamicHelp": false,
3485
3556
  "hiddenAliases": [],
3486
- "id": "contacts:export",
3557
+ "id": "broadcast:status",
3487
3558
  "pluginAlias": "@instantkom/cli",
3488
3559
  "pluginName": "@instantkom/cli",
3489
3560
  "pluginType": "core",
@@ -3493,20 +3564,20 @@
3493
3564
  "relativePath": [
3494
3565
  "dist",
3495
3566
  "commands",
3496
- "contacts",
3497
- "export.js"
3567
+ "broadcast",
3568
+ "status.js"
3498
3569
  ]
3499
3570
  },
3500
- "contacts:get": {
3571
+ "broadcast:update": {
3501
3572
  "aliases": [],
3502
3573
  "args": {
3503
3574
  "id": {
3504
- "description": "Contact ID",
3575
+ "description": "Broadcast ID",
3505
3576
  "name": "id",
3506
3577
  "required": true
3507
3578
  }
3508
3579
  },
3509
- "description": "Get a contact by ID",
3580
+ "description": "Update a broadcast",
3510
3581
  "flags": {
3511
3582
  "api-key": {
3512
3583
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3569,11 +3640,77 @@
3569
3640
  "hasDynamicHelp": false,
3570
3641
  "multiple": false,
3571
3642
  "type": "option"
3643
+ },
3644
+ "text": {
3645
+ "description": "Broadcast message text",
3646
+ "name": "text",
3647
+ "hasDynamicHelp": false,
3648
+ "multiple": false,
3649
+ "type": "option"
3650
+ },
3651
+ "send-status": {
3652
+ "description": "Send status",
3653
+ "name": "send-status",
3654
+ "hasDynamicHelp": false,
3655
+ "multiple": false,
3656
+ "type": "option"
3657
+ },
3658
+ "scheduled-at": {
3659
+ "description": "Unix timestamp for scheduled send",
3660
+ "name": "scheduled-at",
3661
+ "hasDynamicHelp": false,
3662
+ "multiple": false,
3663
+ "type": "option"
3664
+ },
3665
+ "approved": {
3666
+ "description": "Mark as approved",
3667
+ "name": "approved",
3668
+ "allowNo": false,
3669
+ "type": "boolean"
3670
+ },
3671
+ "locked": {
3672
+ "description": "Mark as locked",
3673
+ "name": "locked",
3674
+ "allowNo": false,
3675
+ "type": "boolean"
3676
+ },
3677
+ "test": {
3678
+ "description": "Mark as test broadcast",
3679
+ "name": "test",
3680
+ "allowNo": false,
3681
+ "type": "boolean"
3682
+ },
3683
+ "template-id": {
3684
+ "description": "Template ID",
3685
+ "name": "template-id",
3686
+ "hasDynamicHelp": false,
3687
+ "multiple": false,
3688
+ "type": "option"
3689
+ },
3690
+ "remove-media": {
3691
+ "description": "Remove existing media",
3692
+ "name": "remove-media",
3693
+ "allowNo": false,
3694
+ "type": "boolean"
3695
+ },
3696
+ "header-footer": {
3697
+ "description": "Header/footer JSON array",
3698
+ "name": "header-footer",
3699
+ "hasDynamicHelp": false,
3700
+ "multiple": false,
3701
+ "type": "option"
3702
+ },
3703
+ "data": {
3704
+ "description": "Additional JSON object payload",
3705
+ "name": "data",
3706
+ "hasDynamicHelp": false,
3707
+ "multiple": false,
3708
+ "type": "option"
3572
3709
  }
3573
3710
  },
3574
3711
  "hasDynamicHelp": false,
3575
3712
  "hiddenAliases": [],
3576
- "id": "contacts:get",
3713
+ "id": "broadcast:update",
3577
3714
  "pluginAlias": "@instantkom/cli",
3578
3715
  "pluginName": "@instantkom/cli",
3579
3716
  "pluginType": "core",
@@ -3583,14 +3720,20 @@
3583
3720
  "relativePath": [
3584
3721
  "dist",
3585
3722
  "commands",
3586
- "contacts",
3587
- "get.js"
3723
+ "broadcast",
3724
+ "update.js"
3588
3725
  ]
3589
3726
  },
3590
- "contacts:import": {
3727
+ "config:get": {
3591
3728
  "aliases": [],
3592
- "args": {},
3593
- "description": "Import contacts from CSV",
3729
+ "args": {
3730
+ "key": {
3731
+ "description": "Configuration key to retrieve",
3732
+ "name": "key",
3733
+ "required": true
3734
+ }
3735
+ },
3736
+ "description": "Get a configuration value for the current profile",
3594
3737
  "flags": {
3595
3738
  "api-key": {
3596
3739
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3653,27 +3796,11 @@
3653
3796
  "hasDynamicHelp": false,
3654
3797
  "multiple": false,
3655
3798
  "type": "option"
3656
- },
3657
- "file": {
3658
- "description": "CSV file path",
3659
- "name": "file",
3660
- "required": true,
3661
- "hasDynamicHelp": false,
3662
- "multiple": false,
3663
- "type": "option"
3664
- },
3665
- "channel": {
3666
- "description": "Channel ID",
3667
- "name": "channel",
3668
- "required": true,
3669
- "hasDynamicHelp": false,
3670
- "multiple": false,
3671
- "type": "option"
3672
3799
  }
3673
3800
  },
3674
3801
  "hasDynamicHelp": false,
3675
3802
  "hiddenAliases": [],
3676
- "id": "contacts:import",
3803
+ "id": "config:get",
3677
3804
  "pluginAlias": "@instantkom/cli",
3678
3805
  "pluginName": "@instantkom/cli",
3679
3806
  "pluginType": "core",
@@ -3683,14 +3810,25 @@
3683
3810
  "relativePath": [
3684
3811
  "dist",
3685
3812
  "commands",
3686
- "contacts",
3687
- "import.js"
3813
+ "config",
3814
+ "get.js"
3688
3815
  ]
3689
3816
  },
3690
- "contacts:list": {
3817
+ "config:set": {
3691
3818
  "aliases": [],
3692
- "args": {},
3693
- "description": "List contacts",
3819
+ "args": {
3820
+ "key": {
3821
+ "description": "Configuration key to set",
3822
+ "name": "key",
3823
+ "required": true
3824
+ },
3825
+ "value": {
3826
+ "description": "Value to assign",
3827
+ "name": "value",
3828
+ "required": true
3829
+ }
3830
+ },
3831
+ "description": "Set a configuration value for the current profile",
3694
3832
  "flags": {
3695
3833
  "api-key": {
3696
3834
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3753,106 +3891,11 @@
3753
3891
  "hasDynamicHelp": false,
3754
3892
  "multiple": false,
3755
3893
  "type": "option"
3756
- },
3757
- "channel": {
3758
- "description": "Filter by channel ID",
3759
- "name": "channel",
3760
- "hasDynamicHelp": false,
3761
- "multiple": false,
3762
- "type": "option"
3763
- },
3764
- "search": {
3765
- "description": "Search by name or identifier",
3766
- "name": "search",
3767
- "hasDynamicHelp": false,
3768
- "multiple": false,
3769
- "type": "option"
3770
- },
3771
- "page": {
3772
- "description": "Page number",
3773
- "name": "page",
3774
- "default": 1,
3775
- "hasDynamicHelp": false,
3776
- "multiple": false,
3777
- "type": "option"
3778
- },
3779
- "limit": {
3780
- "description": "Items per page",
3781
- "name": "limit",
3782
- "default": 20,
3783
- "hasDynamicHelp": false,
3784
- "multiple": false,
3785
- "type": "option"
3786
- },
3787
- "optin-status": {
3788
- "description": "Filter by opt-in status",
3789
- "name": "optin-status",
3790
- "hasDynamicHelp": false,
3791
- "multiple": false,
3792
- "options": [
3793
- "0",
3794
- "1"
3795
- ],
3796
- "type": "option"
3797
- },
3798
- "blocked": {
3799
- "description": "Filter by blocked status: 1 blocked, 0 not blocked",
3800
- "name": "blocked",
3801
- "hasDynamicHelp": false,
3802
- "multiple": false,
3803
- "options": [
3804
- "0",
3805
- "1"
3806
- ],
3807
- "type": "option"
3808
- },
3809
- "segment": {
3810
- "description": "Filter by segment ID",
3811
- "name": "segment",
3812
- "hasDynamicHelp": false,
3813
- "multiple": false,
3814
- "type": "option"
3815
- },
3816
- "tags": {
3817
- "description": "Comma-separated tag IDs",
3818
- "name": "tags",
3819
- "hasDynamicHelp": false,
3820
- "multiple": false,
3821
- "type": "option"
3822
- },
3823
- "tag-match": {
3824
- "description": "Tag match mode",
3825
- "name": "tag-match",
3826
- "hasDynamicHelp": false,
3827
- "multiple": false,
3828
- "options": [
3829
- "any",
3830
- "all"
3831
- ],
3832
- "type": "option"
3833
- },
3834
- "spam": {
3835
- "description": "Filter by spam status",
3836
- "name": "spam",
3837
- "hasDynamicHelp": false,
3838
- "multiple": false,
3839
- "options": [
3840
- "true",
3841
- "false"
3842
- ],
3843
- "type": "option"
3844
- },
3845
- "trust-level": {
3846
- "description": "Comma-separated trust levels",
3847
- "name": "trust-level",
3848
- "hasDynamicHelp": false,
3849
- "multiple": false,
3850
- "type": "option"
3851
3894
  }
3852
3895
  },
3853
3896
  "hasDynamicHelp": false,
3854
3897
  "hiddenAliases": [],
3855
- "id": "contacts:list",
3898
+ "id": "config:set",
3856
3899
  "pluginAlias": "@instantkom/cli",
3857
3900
  "pluginName": "@instantkom/cli",
3858
3901
  "pluginType": "core",
@@ -3862,20 +3905,20 @@
3862
3905
  "relativePath": [
3863
3906
  "dist",
3864
3907
  "commands",
3865
- "contacts",
3866
- "list.js"
3908
+ "config",
3909
+ "set.js"
3867
3910
  ]
3868
3911
  },
3869
- "contacts:update": {
3912
+ "config:unset": {
3870
3913
  "aliases": [],
3871
3914
  "args": {
3872
- "id": {
3873
- "description": "Contact ID",
3874
- "name": "id",
3915
+ "key": {
3916
+ "description": "Configuration key to remove",
3917
+ "name": "key",
3875
3918
  "required": true
3876
3919
  }
3877
3920
  },
3878
- "description": "Update a contact",
3921
+ "description": "Remove a configuration key from the current profile",
3879
3922
  "flags": {
3880
3923
  "api-key": {
3881
3924
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -3938,32 +3981,11 @@
3938
3981
  "hasDynamicHelp": false,
3939
3982
  "multiple": false,
3940
3983
  "type": "option"
3941
- },
3942
- "identifier": {
3943
- "description": "Unique contact identifier",
3944
- "name": "identifier",
3945
- "hasDynamicHelp": false,
3946
- "multiple": false,
3947
- "type": "option"
3948
- },
3949
- "name": {
3950
- "description": "Contact name",
3951
- "name": "name",
3952
- "hasDynamicHelp": false,
3953
- "multiple": false,
3954
- "type": "option"
3955
- },
3956
- "data": {
3957
- "description": "Additional JSON object payload",
3958
- "name": "data",
3959
- "hasDynamicHelp": false,
3960
- "multiple": false,
3961
- "type": "option"
3962
3984
  }
3963
3985
  },
3964
3986
  "hasDynamicHelp": false,
3965
3987
  "hiddenAliases": [],
3966
- "id": "contacts:update",
3988
+ "id": "config:unset",
3967
3989
  "pluginAlias": "@instantkom/cli",
3968
3990
  "pluginName": "@instantkom/cli",
3969
3991
  "pluginType": "core",
@@ -3973,14 +3995,14 @@
3973
3995
  "relativePath": [
3974
3996
  "dist",
3975
3997
  "commands",
3976
- "contacts",
3977
- "update.js"
3998
+ "config",
3999
+ "unset.js"
3978
4000
  ]
3979
4001
  },
3980
- "broadcast:create": {
4002
+ "contacts:create": {
3981
4003
  "aliases": [],
3982
4004
  "args": {},
3983
- "description": "Create a broadcast for channels or segments",
4005
+ "description": "Create a contact",
3984
4006
  "flags": {
3985
4007
  "api-key": {
3986
4008
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -4045,91 +4067,129 @@
4045
4067
  "type": "option"
4046
4068
  },
4047
4069
  "channel": {
4048
- "description": "Channel ID target",
4070
+ "description": "Channel ID",
4049
4071
  "name": "channel",
4072
+ "required": true,
4050
4073
  "hasDynamicHelp": false,
4051
4074
  "multiple": false,
4052
4075
  "type": "option"
4053
4076
  },
4054
- "segment": {
4055
- "description": "Segment ID within --channel",
4056
- "name": "segment",
4077
+ "identifier": {
4078
+ "description": "Unique contact identifier",
4079
+ "name": "identifier",
4080
+ "required": true,
4057
4081
  "hasDynamicHelp": false,
4058
4082
  "multiple": false,
4059
4083
  "type": "option"
4060
4084
  },
4061
- "target": {
4062
- "description": "Target as channelId or channelId:segmentId; may be repeated",
4063
- "name": "target",
4085
+ "name": {
4086
+ "description": "Contact name",
4087
+ "name": "name",
4064
4088
  "hasDynamicHelp": false,
4065
- "multiple": true,
4089
+ "multiple": false,
4066
4090
  "type": "option"
4067
4091
  },
4068
- "text": {
4069
- "description": "Broadcast message text",
4070
- "name": "text",
4071
- "required": true,
4092
+ "data": {
4093
+ "description": "Additional JSON object payload",
4094
+ "name": "data",
4095
+ "hasDynamicHelp": false,
4096
+ "multiple": false,
4097
+ "type": "option"
4098
+ }
4099
+ },
4100
+ "hasDynamicHelp": false,
4101
+ "hiddenAliases": [],
4102
+ "id": "contacts:create",
4103
+ "pluginAlias": "@instantkom/cli",
4104
+ "pluginName": "@instantkom/cli",
4105
+ "pluginType": "core",
4106
+ "strict": true,
4107
+ "enableJsonFlag": false,
4108
+ "isESM": true,
4109
+ "relativePath": [
4110
+ "dist",
4111
+ "commands",
4112
+ "contacts",
4113
+ "create.js"
4114
+ ]
4115
+ },
4116
+ "contacts:delete": {
4117
+ "aliases": [],
4118
+ "args": {
4119
+ "id": {
4120
+ "description": "Contact ID",
4121
+ "name": "id",
4122
+ "required": true
4123
+ }
4124
+ },
4125
+ "description": "Delete a contact",
4126
+ "flags": {
4127
+ "api-key": {
4128
+ "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
4129
+ "env": "IKM_API_KEY",
4130
+ "helpGroup": "GLOBAL",
4131
+ "name": "api-key",
4072
4132
  "hasDynamicHelp": false,
4073
4133
  "multiple": false,
4074
4134
  "type": "option"
4075
4135
  },
4076
- "send-at": {
4077
- "description": "Schedule send for an ISO-8601 date-time",
4078
- "name": "send-at",
4136
+ "format": {
4137
+ "description": "Output format: text, json, yaml, or table",
4138
+ "helpGroup": "GLOBAL",
4139
+ "name": "format",
4140
+ "default": "text",
4079
4141
  "hasDynamicHelp": false,
4080
4142
  "multiple": false,
4143
+ "options": [
4144
+ "text",
4145
+ "json",
4146
+ "yaml",
4147
+ "table"
4148
+ ],
4081
4149
  "type": "option"
4082
4150
  },
4083
- "dry-run": {
4084
- "description": "Validate and print the broadcast payload without mutating API calls",
4085
- "name": "dry-run",
4151
+ "json": {
4152
+ "description": "Output in JSON format (alias for --format=json)",
4153
+ "helpGroup": "GLOBAL",
4154
+ "name": "json",
4086
4155
  "allowNo": false,
4087
4156
  "type": "boolean"
4088
4157
  },
4089
- "idempotency-key": {
4090
- "description": "Idempotency key forwarded as Idempotency-Key",
4091
- "name": "idempotency-key",
4092
- "hasDynamicHelp": false,
4093
- "multiple": false,
4094
- "type": "option"
4158
+ "quiet": {
4159
+ "description": "Suppress all output except errors",
4160
+ "helpGroup": "GLOBAL",
4161
+ "name": "quiet",
4162
+ "allowNo": false,
4163
+ "type": "boolean"
4095
4164
  },
4096
- "media": {
4097
- "description": "Media file path to upload",
4098
- "name": "media",
4099
- "hasDynamicHelp": false,
4100
- "multiple": true,
4101
- "type": "option"
4165
+ "no-color": {
4166
+ "description": "Disable color output",
4167
+ "helpGroup": "GLOBAL",
4168
+ "name": "no-color",
4169
+ "allowNo": false,
4170
+ "type": "boolean"
4102
4171
  },
4103
- "template-id": {
4104
- "description": "WhatsApp template ID",
4105
- "name": "template-id",
4172
+ "profile": {
4173
+ "description": "Named configuration profile to use",
4174
+ "helpGroup": "GLOBAL",
4175
+ "name": "profile",
4176
+ "default": "default",
4106
4177
  "hasDynamicHelp": false,
4107
4178
  "multiple": false,
4108
4179
  "type": "option"
4109
4180
  },
4110
- "send-status": {
4111
- "description": "Initial broadcast send status",
4112
- "name": "send-status",
4113
- "default": "draft",
4181
+ "api-url": {
4182
+ "description": "Override the API base URL (e.g. for staging)",
4183
+ "helpGroup": "GLOBAL",
4184
+ "name": "api-url",
4114
4185
  "hasDynamicHelp": false,
4115
4186
  "multiple": false,
4116
- "options": [
4117
- "draft",
4118
- "scheduled",
4119
- "sending"
4120
- ],
4121
4187
  "type": "option"
4122
- },
4123
- "auto-approve": {
4124
- "description": "Auto-approve broadcast when allowed by API permissions",
4125
- "name": "auto-approve",
4126
- "allowNo": false,
4127
- "type": "boolean"
4128
4188
  }
4129
4189
  },
4130
4190
  "hasDynamicHelp": false,
4131
4191
  "hiddenAliases": [],
4132
- "id": "broadcast:create",
4192
+ "id": "contacts:delete",
4133
4193
  "pluginAlias": "@instantkom/cli",
4134
4194
  "pluginName": "@instantkom/cli",
4135
4195
  "pluginType": "core",
@@ -4139,20 +4199,14 @@
4139
4199
  "relativePath": [
4140
4200
  "dist",
4141
4201
  "commands",
4142
- "broadcast",
4143
- "create.js"
4202
+ "contacts",
4203
+ "delete.js"
4144
4204
  ]
4145
4205
  },
4146
- "broadcast:delete": {
4206
+ "contacts:export": {
4147
4207
  "aliases": [],
4148
- "args": {
4149
- "id": {
4150
- "description": "broadcast ID",
4151
- "name": "id",
4152
- "required": true
4153
- }
4154
- },
4155
- "description": "Delete broadcast",
4208
+ "args": {},
4209
+ "description": "Export contacts to CSV",
4156
4210
  "flags": {
4157
4211
  "api-key": {
4158
4212
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -4215,11 +4269,49 @@
4215
4269
  "hasDynamicHelp": false,
4216
4270
  "multiple": false,
4217
4271
  "type": "option"
4272
+ },
4273
+ "file": {
4274
+ "description": "CSV output file path",
4275
+ "name": "file",
4276
+ "required": true,
4277
+ "hasDynamicHelp": false,
4278
+ "multiple": false,
4279
+ "type": "option"
4280
+ },
4281
+ "channel": {
4282
+ "description": "Filter by channel ID",
4283
+ "name": "channel",
4284
+ "hasDynamicHelp": false,
4285
+ "multiple": false,
4286
+ "type": "option"
4287
+ },
4288
+ "search": {
4289
+ "description": "Search by name or identifier",
4290
+ "name": "search",
4291
+ "hasDynamicHelp": false,
4292
+ "multiple": false,
4293
+ "type": "option"
4294
+ },
4295
+ "page": {
4296
+ "description": "Page number",
4297
+ "name": "page",
4298
+ "default": 1,
4299
+ "hasDynamicHelp": false,
4300
+ "multiple": false,
4301
+ "type": "option"
4302
+ },
4303
+ "limit": {
4304
+ "description": "Items per page",
4305
+ "name": "limit",
4306
+ "default": 100,
4307
+ "hasDynamicHelp": false,
4308
+ "multiple": false,
4309
+ "type": "option"
4218
4310
  }
4219
4311
  },
4220
4312
  "hasDynamicHelp": false,
4221
4313
  "hiddenAliases": [],
4222
- "id": "broadcast:delete",
4314
+ "id": "contacts:export",
4223
4315
  "pluginAlias": "@instantkom/cli",
4224
4316
  "pluginName": "@instantkom/cli",
4225
4317
  "pluginType": "core",
@@ -4229,20 +4321,20 @@
4229
4321
  "relativePath": [
4230
4322
  "dist",
4231
4323
  "commands",
4232
- "broadcast",
4233
- "delete.js"
4324
+ "contacts",
4325
+ "export.js"
4234
4326
  ]
4235
4327
  },
4236
- "broadcast:get": {
4328
+ "contacts:get": {
4237
4329
  "aliases": [],
4238
4330
  "args": {
4239
4331
  "id": {
4240
- "description": "broadcast ID",
4332
+ "description": "Contact ID",
4241
4333
  "name": "id",
4242
4334
  "required": true
4243
4335
  }
4244
4336
  },
4245
- "description": "Get broadcast by ID",
4337
+ "description": "Get a contact by ID",
4246
4338
  "flags": {
4247
4339
  "api-key": {
4248
4340
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -4309,7 +4401,7 @@
4309
4401
  },
4310
4402
  "hasDynamicHelp": false,
4311
4403
  "hiddenAliases": [],
4312
- "id": "broadcast:get",
4404
+ "id": "contacts:get",
4313
4405
  "pluginAlias": "@instantkom/cli",
4314
4406
  "pluginName": "@instantkom/cli",
4315
4407
  "pluginType": "core",
@@ -4319,14 +4411,14 @@
4319
4411
  "relativePath": [
4320
4412
  "dist",
4321
4413
  "commands",
4322
- "broadcast",
4414
+ "contacts",
4323
4415
  "get.js"
4324
4416
  ]
4325
4417
  },
4326
- "broadcast:list": {
4418
+ "contacts:import": {
4327
4419
  "aliases": [],
4328
4420
  "args": {},
4329
- "description": "List broadcasts",
4421
+ "description": "Import contacts from CSV",
4330
4422
  "flags": {
4331
4423
  "api-key": {
4332
4424
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -4390,72 +4482,26 @@
4390
4482
  "multiple": false,
4391
4483
  "type": "option"
4392
4484
  },
4393
- "page": {
4394
- "description": "Page number",
4395
- "name": "page",
4396
- "default": 1,
4485
+ "file": {
4486
+ "description": "CSV file path",
4487
+ "name": "file",
4488
+ "required": true,
4397
4489
  "hasDynamicHelp": false,
4398
4490
  "multiple": false,
4399
4491
  "type": "option"
4400
4492
  },
4401
- "limit": {
4402
- "description": "Items per page",
4403
- "name": "limit",
4404
- "default": 20,
4493
+ "channel": {
4494
+ "description": "Channel ID",
4495
+ "name": "channel",
4496
+ "required": true,
4405
4497
  "hasDynamicHelp": false,
4406
4498
  "multiple": false,
4407
4499
  "type": "option"
4408
- },
4409
- "channel": {
4410
- "description": "Filter by channel ID",
4411
- "name": "channel",
4412
- "hasDynamicHelp": false,
4413
- "multiple": false,
4414
- "type": "option"
4415
- },
4416
- "send-status": {
4417
- "description": "Filter by send status",
4418
- "name": "send-status",
4419
- "hasDynamicHelp": false,
4420
- "multiple": false,
4421
- "type": "option"
4422
- },
4423
- "type": {
4424
- "description": "Broadcast type",
4425
- "name": "type",
4426
- "hasDynamicHelp": false,
4427
- "multiple": false,
4428
- "options": [
4429
- "text",
4430
- "image",
4431
- "video",
4432
- "audio",
4433
- "document"
4434
- ],
4435
- "type": "option"
4436
- },
4437
- "search": {
4438
- "description": "Search broadcasts",
4439
- "name": "search",
4440
- "hasDynamicHelp": false,
4441
- "multiple": false,
4442
- "type": "option"
4443
- },
4444
- "test": {
4445
- "description": "Filter test flag: 0 or 1",
4446
- "name": "test",
4447
- "hasDynamicHelp": false,
4448
- "multiple": false,
4449
- "options": [
4450
- "0",
4451
- "1"
4452
- ],
4453
- "type": "option"
4454
4500
  }
4455
4501
  },
4456
4502
  "hasDynamicHelp": false,
4457
4503
  "hiddenAliases": [],
4458
- "id": "broadcast:list",
4504
+ "id": "contacts:import",
4459
4505
  "pluginAlias": "@instantkom/cli",
4460
4506
  "pluginName": "@instantkom/cli",
4461
4507
  "pluginType": "core",
@@ -4465,20 +4511,14 @@
4465
4511
  "relativePath": [
4466
4512
  "dist",
4467
4513
  "commands",
4468
- "broadcast",
4469
- "list.js"
4514
+ "contacts",
4515
+ "import.js"
4470
4516
  ]
4471
4517
  },
4472
- "broadcast:send": {
4518
+ "contacts:list": {
4473
4519
  "aliases": [],
4474
- "args": {
4475
- "id": {
4476
- "description": "Broadcast ID",
4477
- "name": "id",
4478
- "required": true
4479
- }
4480
- },
4481
- "description": "Send a broadcast immediately",
4520
+ "args": {},
4521
+ "description": "List contacts",
4482
4522
  "flags": {
4483
4523
  "api-key": {
4484
4524
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -4541,93 +4581,98 @@
4541
4581
  "hasDynamicHelp": false,
4542
4582
  "multiple": false,
4543
4583
  "type": "option"
4544
- }
4545
- },
4546
- "hasDynamicHelp": false,
4547
- "hiddenAliases": [],
4548
- "id": "broadcast:send",
4549
- "pluginAlias": "@instantkom/cli",
4550
- "pluginName": "@instantkom/cli",
4551
- "pluginType": "core",
4552
- "strict": true,
4553
- "enableJsonFlag": false,
4554
- "isESM": true,
4555
- "relativePath": [
4556
- "dist",
4557
- "commands",
4558
- "broadcast",
4559
- "send.js"
4560
- ]
4561
- },
4562
- "broadcast:status": {
4563
- "aliases": [],
4564
- "args": {
4565
- "id": {
4566
- "description": "Broadcast ID",
4567
- "name": "id",
4568
- "required": true
4569
- }
4570
- },
4571
- "description": "Show broadcast send status",
4572
- "flags": {
4573
- "api-key": {
4574
- "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
4575
- "env": "IKM_API_KEY",
4576
- "helpGroup": "GLOBAL",
4577
- "name": "api-key",
4584
+ },
4585
+ "channel": {
4586
+ "description": "Filter by channel ID",
4587
+ "name": "channel",
4578
4588
  "hasDynamicHelp": false,
4579
4589
  "multiple": false,
4580
4590
  "type": "option"
4581
4591
  },
4582
- "format": {
4583
- "description": "Output format: text, json, yaml, or table",
4584
- "helpGroup": "GLOBAL",
4585
- "name": "format",
4586
- "default": "text",
4592
+ "search": {
4593
+ "description": "Search by name or identifier",
4594
+ "name": "search",
4595
+ "hasDynamicHelp": false,
4596
+ "multiple": false,
4597
+ "type": "option"
4598
+ },
4599
+ "page": {
4600
+ "description": "Page number",
4601
+ "name": "page",
4602
+ "default": 1,
4603
+ "hasDynamicHelp": false,
4604
+ "multiple": false,
4605
+ "type": "option"
4606
+ },
4607
+ "limit": {
4608
+ "description": "Items per page",
4609
+ "name": "limit",
4610
+ "default": 20,
4611
+ "hasDynamicHelp": false,
4612
+ "multiple": false,
4613
+ "type": "option"
4614
+ },
4615
+ "optin-status": {
4616
+ "description": "Filter by opt-in status",
4617
+ "name": "optin-status",
4587
4618
  "hasDynamicHelp": false,
4588
4619
  "multiple": false,
4589
4620
  "options": [
4590
- "text",
4591
- "json",
4592
- "yaml",
4593
- "table"
4621
+ "0",
4622
+ "1"
4594
4623
  ],
4595
4624
  "type": "option"
4596
4625
  },
4597
- "json": {
4598
- "description": "Output in JSON format (alias for --format=json)",
4599
- "helpGroup": "GLOBAL",
4600
- "name": "json",
4601
- "allowNo": false,
4602
- "type": "boolean"
4626
+ "blocked": {
4627
+ "description": "Filter by blocked status: 1 blocked, 0 not blocked",
4628
+ "name": "blocked",
4629
+ "hasDynamicHelp": false,
4630
+ "multiple": false,
4631
+ "options": [
4632
+ "0",
4633
+ "1"
4634
+ ],
4635
+ "type": "option"
4603
4636
  },
4604
- "quiet": {
4605
- "description": "Suppress all output except errors",
4606
- "helpGroup": "GLOBAL",
4607
- "name": "quiet",
4608
- "allowNo": false,
4609
- "type": "boolean"
4637
+ "segment": {
4638
+ "description": "Filter by segment ID",
4639
+ "name": "segment",
4640
+ "hasDynamicHelp": false,
4641
+ "multiple": false,
4642
+ "type": "option"
4610
4643
  },
4611
- "no-color": {
4612
- "description": "Disable color output",
4613
- "helpGroup": "GLOBAL",
4614
- "name": "no-color",
4615
- "allowNo": false,
4616
- "type": "boolean"
4644
+ "tags": {
4645
+ "description": "Comma-separated tag IDs",
4646
+ "name": "tags",
4647
+ "hasDynamicHelp": false,
4648
+ "multiple": false,
4649
+ "type": "option"
4617
4650
  },
4618
- "profile": {
4619
- "description": "Named configuration profile to use",
4620
- "helpGroup": "GLOBAL",
4621
- "name": "profile",
4622
- "default": "default",
4651
+ "tag-match": {
4652
+ "description": "Tag match mode",
4653
+ "name": "tag-match",
4623
4654
  "hasDynamicHelp": false,
4624
4655
  "multiple": false,
4656
+ "options": [
4657
+ "any",
4658
+ "all"
4659
+ ],
4625
4660
  "type": "option"
4626
4661
  },
4627
- "api-url": {
4628
- "description": "Override the API base URL (e.g. for staging)",
4629
- "helpGroup": "GLOBAL",
4630
- "name": "api-url",
4662
+ "spam": {
4663
+ "description": "Filter by spam status",
4664
+ "name": "spam",
4665
+ "hasDynamicHelp": false,
4666
+ "multiple": false,
4667
+ "options": [
4668
+ "true",
4669
+ "false"
4670
+ ],
4671
+ "type": "option"
4672
+ },
4673
+ "trust-level": {
4674
+ "description": "Comma-separated trust levels",
4675
+ "name": "trust-level",
4631
4676
  "hasDynamicHelp": false,
4632
4677
  "multiple": false,
4633
4678
  "type": "option"
@@ -4635,7 +4680,7 @@
4635
4680
  },
4636
4681
  "hasDynamicHelp": false,
4637
4682
  "hiddenAliases": [],
4638
- "id": "broadcast:status",
4683
+ "id": "contacts:list",
4639
4684
  "pluginAlias": "@instantkom/cli",
4640
4685
  "pluginName": "@instantkom/cli",
4641
4686
  "pluginType": "core",
@@ -4645,20 +4690,20 @@
4645
4690
  "relativePath": [
4646
4691
  "dist",
4647
4692
  "commands",
4648
- "broadcast",
4649
- "status.js"
4693
+ "contacts",
4694
+ "list.js"
4650
4695
  ]
4651
4696
  },
4652
- "broadcast:update": {
4697
+ "contacts:update": {
4653
4698
  "aliases": [],
4654
4699
  "args": {
4655
4700
  "id": {
4656
- "description": "Broadcast ID",
4701
+ "description": "Contact ID",
4657
4702
  "name": "id",
4658
4703
  "required": true
4659
4704
  }
4660
4705
  },
4661
- "description": "Update a broadcast",
4706
+ "description": "Update a contact",
4662
4707
  "flags": {
4663
4708
  "api-key": {
4664
4709
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -4722,61 +4767,16 @@
4722
4767
  "multiple": false,
4723
4768
  "type": "option"
4724
4769
  },
4725
- "text": {
4726
- "description": "Broadcast message text",
4727
- "name": "text",
4728
- "hasDynamicHelp": false,
4729
- "multiple": false,
4730
- "type": "option"
4731
- },
4732
- "send-status": {
4733
- "description": "Send status",
4734
- "name": "send-status",
4735
- "hasDynamicHelp": false,
4736
- "multiple": false,
4737
- "type": "option"
4738
- },
4739
- "scheduled-at": {
4740
- "description": "Unix timestamp for scheduled send",
4741
- "name": "scheduled-at",
4742
- "hasDynamicHelp": false,
4743
- "multiple": false,
4744
- "type": "option"
4745
- },
4746
- "approved": {
4747
- "description": "Mark as approved",
4748
- "name": "approved",
4749
- "allowNo": false,
4750
- "type": "boolean"
4751
- },
4752
- "locked": {
4753
- "description": "Mark as locked",
4754
- "name": "locked",
4755
- "allowNo": false,
4756
- "type": "boolean"
4757
- },
4758
- "test": {
4759
- "description": "Mark as test broadcast",
4760
- "name": "test",
4761
- "allowNo": false,
4762
- "type": "boolean"
4763
- },
4764
- "template-id": {
4765
- "description": "Template ID",
4766
- "name": "template-id",
4770
+ "identifier": {
4771
+ "description": "Unique contact identifier",
4772
+ "name": "identifier",
4767
4773
  "hasDynamicHelp": false,
4768
4774
  "multiple": false,
4769
4775
  "type": "option"
4770
4776
  },
4771
- "remove-media": {
4772
- "description": "Remove existing media",
4773
- "name": "remove-media",
4774
- "allowNo": false,
4775
- "type": "boolean"
4776
- },
4777
- "header-footer": {
4778
- "description": "Header/footer JSON array",
4779
- "name": "header-footer",
4777
+ "name": {
4778
+ "description": "Contact name",
4779
+ "name": "name",
4780
4780
  "hasDynamicHelp": false,
4781
4781
  "multiple": false,
4782
4782
  "type": "option"
@@ -4791,7 +4791,7 @@
4791
4791
  },
4792
4792
  "hasDynamicHelp": false,
4793
4793
  "hiddenAliases": [],
4794
- "id": "broadcast:update",
4794
+ "id": "contacts:update",
4795
4795
  "pluginAlias": "@instantkom/cli",
4796
4796
  "pluginName": "@instantkom/cli",
4797
4797
  "pluginType": "core",
@@ -4801,7 +4801,7 @@
4801
4801
  "relativePath": [
4802
4802
  "dist",
4803
4803
  "commands",
4804
- "broadcast",
4804
+ "contacts",
4805
4805
  "update.js"
4806
4806
  ]
4807
4807
  },
@@ -8150,10 +8150,10 @@
8150
8150
  "update.js"
8151
8151
  ]
8152
8152
  },
8153
- "team:create": {
8153
+ "templates:create": {
8154
8154
  "aliases": [],
8155
8155
  "args": {},
8156
- "description": "Create a team member",
8156
+ "description": "Create a message template",
8157
8157
  "flags": {
8158
8158
  "api-key": {
8159
8159
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -8217,62 +8217,78 @@
8217
8217
  "multiple": false,
8218
8218
  "type": "option"
8219
8219
  },
8220
- "email": {
8221
- "description": "Email address",
8222
- "name": "email",
8220
+ "channel": {
8221
+ "description": "Channel ID",
8222
+ "name": "channel",
8223
8223
  "required": true,
8224
8224
  "hasDynamicHelp": false,
8225
8225
  "multiple": false,
8226
8226
  "type": "option"
8227
8227
  },
8228
- "first-name": {
8229
- "description": "First name",
8230
- "name": "first-name",
8228
+ "name": {
8229
+ "description": "Template name",
8230
+ "name": "name",
8231
8231
  "required": true,
8232
8232
  "hasDynamicHelp": false,
8233
8233
  "multiple": false,
8234
8234
  "type": "option"
8235
8235
  },
8236
- "last-name": {
8237
- "description": "Last name",
8238
- "name": "last-name",
8239
- "required": true,
8236
+ "type": {
8237
+ "description": "Template type",
8238
+ "name": "type",
8239
+ "default": "text",
8240
8240
  "hasDynamicHelp": false,
8241
8241
  "multiple": false,
8242
+ "options": [
8243
+ "text",
8244
+ "image",
8245
+ "video",
8246
+ "document",
8247
+ "audio",
8248
+ "location",
8249
+ "contact",
8250
+ "interactive"
8251
+ ],
8242
8252
  "type": "option"
8243
8253
  },
8244
- "password": {
8245
- "description": "Initial password",
8246
- "name": "password",
8254
+ "message": {
8255
+ "description": "Template message",
8256
+ "name": "message",
8247
8257
  "required": true,
8248
8258
  "hasDynamicHelp": false,
8249
8259
  "multiple": false,
8250
8260
  "type": "option"
8251
8261
  },
8252
- "phone": {
8253
- "description": "Phone number",
8254
- "name": "phone",
8262
+ "color": {
8263
+ "description": "Template color as HEX",
8264
+ "name": "color",
8255
8265
  "hasDynamicHelp": false,
8256
8266
  "multiple": false,
8257
8267
  "type": "option"
8258
8268
  },
8259
- "company": {
8260
- "description": "Company name",
8261
- "name": "company",
8269
+ "status": {
8270
+ "description": "Template is active",
8271
+ "name": "status",
8272
+ "allowNo": true,
8273
+ "type": "boolean"
8274
+ },
8275
+ "whatsapp-language": {
8276
+ "description": "WhatsApp template language",
8277
+ "name": "whatsapp-language",
8262
8278
  "hasDynamicHelp": false,
8263
8279
  "multiple": false,
8264
8280
  "type": "option"
8265
8281
  },
8266
- "color": {
8267
- "description": "Color as HEX",
8268
- "name": "color",
8282
+ "buttons": {
8283
+ "description": "Buttons JSON array/object",
8284
+ "name": "buttons",
8269
8285
  "hasDynamicHelp": false,
8270
8286
  "multiple": false,
8271
8287
  "type": "option"
8272
8288
  },
8273
- "folder": {
8274
- "description": "Object folder ID",
8275
- "name": "folder",
8289
+ "header-footer": {
8290
+ "description": "Header/footer JSON object",
8291
+ "name": "header-footer",
8276
8292
  "hasDynamicHelp": false,
8277
8293
  "multiple": false,
8278
8294
  "type": "option"
@@ -8287,7 +8303,7 @@
8287
8303
  },
8288
8304
  "hasDynamicHelp": false,
8289
8305
  "hiddenAliases": [],
8290
- "id": "team:create",
8306
+ "id": "templates:create",
8291
8307
  "pluginAlias": "@instantkom/cli",
8292
8308
  "pluginName": "@instantkom/cli",
8293
8309
  "pluginType": "core",
@@ -8297,20 +8313,20 @@
8297
8313
  "relativePath": [
8298
8314
  "dist",
8299
8315
  "commands",
8300
- "team",
8316
+ "templates",
8301
8317
  "create.js"
8302
8318
  ]
8303
8319
  },
8304
- "team:delete": {
8320
+ "templates:delete": {
8305
8321
  "aliases": [],
8306
8322
  "args": {
8307
8323
  "id": {
8308
- "description": "Team member ID",
8324
+ "description": "template ID",
8309
8325
  "name": "id",
8310
8326
  "required": true
8311
8327
  }
8312
8328
  },
8313
- "description": "Delete a team member",
8329
+ "description": "Delete template",
8314
8330
  "flags": {
8315
8331
  "api-key": {
8316
8332
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -8377,7 +8393,7 @@
8377
8393
  },
8378
8394
  "hasDynamicHelp": false,
8379
8395
  "hiddenAliases": [],
8380
- "id": "team:delete",
8396
+ "id": "templates:delete",
8381
8397
  "pluginAlias": "@instantkom/cli",
8382
8398
  "pluginName": "@instantkom/cli",
8383
8399
  "pluginType": "core",
@@ -8387,14 +8403,116 @@
8387
8403
  "relativePath": [
8388
8404
  "dist",
8389
8405
  "commands",
8390
- "team",
8406
+ "templates",
8391
8407
  "delete.js"
8392
8408
  ]
8393
8409
  },
8394
- "team:list": {
8410
+ "templates:export": {
8395
8411
  "aliases": [],
8396
8412
  "args": {},
8397
- "description": "List team members",
8413
+ "description": "Export templates to a file",
8414
+ "flags": {
8415
+ "api-key": {
8416
+ "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
8417
+ "env": "IKM_API_KEY",
8418
+ "helpGroup": "GLOBAL",
8419
+ "name": "api-key",
8420
+ "hasDynamicHelp": false,
8421
+ "multiple": false,
8422
+ "type": "option"
8423
+ },
8424
+ "format": {
8425
+ "description": "Export format",
8426
+ "name": "format",
8427
+ "default": "json",
8428
+ "hasDynamicHelp": false,
8429
+ "multiple": false,
8430
+ "options": [
8431
+ "csv",
8432
+ "json"
8433
+ ],
8434
+ "type": "option"
8435
+ },
8436
+ "json": {
8437
+ "description": "Output in JSON format (alias for --format=json)",
8438
+ "helpGroup": "GLOBAL",
8439
+ "name": "json",
8440
+ "allowNo": false,
8441
+ "type": "boolean"
8442
+ },
8443
+ "quiet": {
8444
+ "description": "Suppress all output except errors",
8445
+ "helpGroup": "GLOBAL",
8446
+ "name": "quiet",
8447
+ "allowNo": false,
8448
+ "type": "boolean"
8449
+ },
8450
+ "no-color": {
8451
+ "description": "Disable color output",
8452
+ "helpGroup": "GLOBAL",
8453
+ "name": "no-color",
8454
+ "allowNo": false,
8455
+ "type": "boolean"
8456
+ },
8457
+ "profile": {
8458
+ "description": "Named configuration profile to use",
8459
+ "helpGroup": "GLOBAL",
8460
+ "name": "profile",
8461
+ "default": "default",
8462
+ "hasDynamicHelp": false,
8463
+ "multiple": false,
8464
+ "type": "option"
8465
+ },
8466
+ "api-url": {
8467
+ "description": "Override the API base URL (e.g. for staging)",
8468
+ "helpGroup": "GLOBAL",
8469
+ "name": "api-url",
8470
+ "hasDynamicHelp": false,
8471
+ "multiple": false,
8472
+ "type": "option"
8473
+ },
8474
+ "file": {
8475
+ "description": "Output file path",
8476
+ "name": "file",
8477
+ "required": true,
8478
+ "hasDynamicHelp": false,
8479
+ "multiple": false,
8480
+ "type": "option"
8481
+ },
8482
+ "channel": {
8483
+ "description": "Filter by channel ID",
8484
+ "name": "channel",
8485
+ "hasDynamicHelp": false,
8486
+ "multiple": false,
8487
+ "type": "option"
8488
+ }
8489
+ },
8490
+ "hasDynamicHelp": false,
8491
+ "hiddenAliases": [],
8492
+ "id": "templates:export",
8493
+ "pluginAlias": "@instantkom/cli",
8494
+ "pluginName": "@instantkom/cli",
8495
+ "pluginType": "core",
8496
+ "strict": true,
8497
+ "enableJsonFlag": false,
8498
+ "isESM": true,
8499
+ "relativePath": [
8500
+ "dist",
8501
+ "commands",
8502
+ "templates",
8503
+ "export.js"
8504
+ ]
8505
+ },
8506
+ "templates:get": {
8507
+ "aliases": [],
8508
+ "args": {
8509
+ "id": {
8510
+ "description": "Template ID",
8511
+ "name": "id",
8512
+ "required": true
8513
+ }
8514
+ },
8515
+ "description": "Get a message template by ID",
8398
8516
  "flags": {
8399
8517
  "api-key": {
8400
8518
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -8461,7 +8579,7 @@
8461
8579
  },
8462
8580
  "hasDynamicHelp": false,
8463
8581
  "hiddenAliases": [],
8464
- "id": "team:list",
8582
+ "id": "templates:get",
8465
8583
  "pluginAlias": "@instantkom/cli",
8466
8584
  "pluginName": "@instantkom/cli",
8467
8585
  "pluginType": "core",
@@ -8471,14 +8589,14 @@
8471
8589
  "relativePath": [
8472
8590
  "dist",
8473
8591
  "commands",
8474
- "team",
8475
- "list.js"
8592
+ "templates",
8593
+ "get.js"
8476
8594
  ]
8477
8595
  },
8478
- "templates:create": {
8596
+ "templates:import": {
8479
8597
  "aliases": [],
8480
8598
  "args": {},
8481
- "description": "Create a message template",
8599
+ "description": "Import templates from JSON",
8482
8600
  "flags": {
8483
8601
  "api-key": {
8484
8602
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -8542,93 +8660,32 @@
8542
8660
  "multiple": false,
8543
8661
  "type": "option"
8544
8662
  },
8545
- "channel": {
8546
- "description": "Channel ID",
8547
- "name": "channel",
8548
- "required": true,
8549
- "hasDynamicHelp": false,
8550
- "multiple": false,
8551
- "type": "option"
8552
- },
8553
- "name": {
8554
- "description": "Template name",
8555
- "name": "name",
8663
+ "file": {
8664
+ "description": "JSON file path",
8665
+ "name": "file",
8556
8666
  "required": true,
8557
8667
  "hasDynamicHelp": false,
8558
8668
  "multiple": false,
8559
8669
  "type": "option"
8560
8670
  },
8561
- "type": {
8562
- "description": "Template type",
8563
- "name": "type",
8564
- "default": "text",
8565
- "hasDynamicHelp": false,
8566
- "multiple": false,
8567
- "options": [
8568
- "text",
8569
- "image",
8570
- "video",
8571
- "document",
8572
- "audio",
8573
- "location",
8574
- "contact",
8575
- "interactive"
8576
- ],
8577
- "type": "option"
8578
- },
8579
- "message": {
8580
- "description": "Template message",
8581
- "name": "message",
8671
+ "channel": {
8672
+ "description": "Target channel ID",
8673
+ "name": "channel",
8582
8674
  "required": true,
8583
8675
  "hasDynamicHelp": false,
8584
8676
  "multiple": false,
8585
8677
  "type": "option"
8586
8678
  },
8587
- "color": {
8588
- "description": "Template color as HEX",
8589
- "name": "color",
8590
- "hasDynamicHelp": false,
8591
- "multiple": false,
8592
- "type": "option"
8593
- },
8594
- "status": {
8595
- "description": "Template is active",
8596
- "name": "status",
8679
+ "skip-duplicates": {
8680
+ "description": "Skip duplicate templates",
8681
+ "name": "skip-duplicates",
8597
8682
  "allowNo": true,
8598
8683
  "type": "boolean"
8599
- },
8600
- "whatsapp-language": {
8601
- "description": "WhatsApp template language",
8602
- "name": "whatsapp-language",
8603
- "hasDynamicHelp": false,
8604
- "multiple": false,
8605
- "type": "option"
8606
- },
8607
- "buttons": {
8608
- "description": "Buttons JSON array/object",
8609
- "name": "buttons",
8610
- "hasDynamicHelp": false,
8611
- "multiple": false,
8612
- "type": "option"
8613
- },
8614
- "header-footer": {
8615
- "description": "Header/footer JSON object",
8616
- "name": "header-footer",
8617
- "hasDynamicHelp": false,
8618
- "multiple": false,
8619
- "type": "option"
8620
- },
8621
- "data": {
8622
- "description": "Additional JSON object payload",
8623
- "name": "data",
8624
- "hasDynamicHelp": false,
8625
- "multiple": false,
8626
- "type": "option"
8627
8684
  }
8628
8685
  },
8629
8686
  "hasDynamicHelp": false,
8630
8687
  "hiddenAliases": [],
8631
- "id": "templates:create",
8688
+ "id": "templates:import",
8632
8689
  "pluginAlias": "@instantkom/cli",
8633
8690
  "pluginName": "@instantkom/cli",
8634
8691
  "pluginType": "core",
@@ -8639,19 +8696,13 @@
8639
8696
  "dist",
8640
8697
  "commands",
8641
8698
  "templates",
8642
- "create.js"
8699
+ "import.js"
8643
8700
  ]
8644
8701
  },
8645
- "templates:delete": {
8702
+ "templates:list": {
8646
8703
  "aliases": [],
8647
- "args": {
8648
- "id": {
8649
- "description": "template ID",
8650
- "name": "id",
8651
- "required": true
8652
- }
8653
- },
8654
- "description": "Delete template",
8704
+ "args": {},
8705
+ "description": "List message templates",
8655
8706
  "flags": {
8656
8707
  "api-key": {
8657
8708
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -8714,11 +8765,41 @@
8714
8765
  "hasDynamicHelp": false,
8715
8766
  "multiple": false,
8716
8767
  "type": "option"
8768
+ },
8769
+ "channel": {
8770
+ "description": "Filter by channel ID",
8771
+ "name": "channel",
8772
+ "hasDynamicHelp": false,
8773
+ "multiple": false,
8774
+ "type": "option"
8775
+ },
8776
+ "search": {
8777
+ "description": "Search templates by name or content",
8778
+ "name": "search",
8779
+ "hasDynamicHelp": false,
8780
+ "multiple": false,
8781
+ "type": "option"
8782
+ },
8783
+ "page": {
8784
+ "description": "Page number",
8785
+ "name": "page",
8786
+ "default": 1,
8787
+ "hasDynamicHelp": false,
8788
+ "multiple": false,
8789
+ "type": "option"
8790
+ },
8791
+ "limit": {
8792
+ "description": "Items per page",
8793
+ "name": "limit",
8794
+ "default": 20,
8795
+ "hasDynamicHelp": false,
8796
+ "multiple": false,
8797
+ "type": "option"
8717
8798
  }
8718
8799
  },
8719
8800
  "hasDynamicHelp": false,
8720
8801
  "hiddenAliases": [],
8721
- "id": "templates:delete",
8802
+ "id": "templates:list",
8722
8803
  "pluginAlias": "@instantkom/cli",
8723
8804
  "pluginName": "@instantkom/cli",
8724
8805
  "pluginType": "core",
@@ -8729,13 +8810,19 @@
8729
8810
  "dist",
8730
8811
  "commands",
8731
8812
  "templates",
8732
- "delete.js"
8813
+ "list.js"
8733
8814
  ]
8734
8815
  },
8735
- "templates:export": {
8816
+ "templates:render": {
8736
8817
  "aliases": [],
8737
- "args": {},
8738
- "description": "Export templates to a file",
8818
+ "args": {
8819
+ "id": {
8820
+ "description": "Template ID",
8821
+ "name": "id",
8822
+ "required": true
8823
+ }
8824
+ },
8825
+ "description": "Render a message template locally",
8739
8826
  "flags": {
8740
8827
  "api-key": {
8741
8828
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -8747,14 +8834,17 @@
8747
8834
  "type": "option"
8748
8835
  },
8749
8836
  "format": {
8750
- "description": "Export format",
8837
+ "description": "Output format: text, json, yaml, or table",
8838
+ "helpGroup": "GLOBAL",
8751
8839
  "name": "format",
8752
- "default": "json",
8840
+ "default": "text",
8753
8841
  "hasDynamicHelp": false,
8754
8842
  "multiple": false,
8755
8843
  "options": [
8756
- "csv",
8757
- "json"
8844
+ "text",
8845
+ "json",
8846
+ "yaml",
8847
+ "table"
8758
8848
  ],
8759
8849
  "type": "option"
8760
8850
  },
@@ -8796,25 +8886,17 @@
8796
8886
  "multiple": false,
8797
8887
  "type": "option"
8798
8888
  },
8799
- "file": {
8800
- "description": "Output file path",
8801
- "name": "file",
8802
- "required": true,
8803
- "hasDynamicHelp": false,
8804
- "multiple": false,
8805
- "type": "option"
8806
- },
8807
- "channel": {
8808
- "description": "Filter by channel ID",
8809
- "name": "channel",
8889
+ "vars": {
8890
+ "description": "Template variable as key=value; may be repeated",
8891
+ "name": "vars",
8810
8892
  "hasDynamicHelp": false,
8811
- "multiple": false,
8893
+ "multiple": true,
8812
8894
  "type": "option"
8813
8895
  }
8814
8896
  },
8815
8897
  "hasDynamicHelp": false,
8816
8898
  "hiddenAliases": [],
8817
- "id": "templates:export",
8899
+ "id": "templates:render",
8818
8900
  "pluginAlias": "@instantkom/cli",
8819
8901
  "pluginName": "@instantkom/cli",
8820
8902
  "pluginType": "core",
@@ -8825,10 +8907,10 @@
8825
8907
  "dist",
8826
8908
  "commands",
8827
8909
  "templates",
8828
- "export.js"
8910
+ "render.js"
8829
8911
  ]
8830
8912
  },
8831
- "templates:get": {
8913
+ "templates:update": {
8832
8914
  "aliases": [],
8833
8915
  "args": {
8834
8916
  "id": {
@@ -8837,7 +8919,7 @@
8837
8919
  "required": true
8838
8920
  }
8839
8921
  },
8840
- "description": "Get a message template by ID",
8922
+ "description": "Update a message template",
8841
8923
  "flags": {
8842
8924
  "api-key": {
8843
8925
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -8884,19 +8966,97 @@
8884
8966
  "allowNo": false,
8885
8967
  "type": "boolean"
8886
8968
  },
8887
- "profile": {
8888
- "description": "Named configuration profile to use",
8889
- "helpGroup": "GLOBAL",
8890
- "name": "profile",
8891
- "default": "default",
8969
+ "profile": {
8970
+ "description": "Named configuration profile to use",
8971
+ "helpGroup": "GLOBAL",
8972
+ "name": "profile",
8973
+ "default": "default",
8974
+ "hasDynamicHelp": false,
8975
+ "multiple": false,
8976
+ "type": "option"
8977
+ },
8978
+ "api-url": {
8979
+ "description": "Override the API base URL (e.g. for staging)",
8980
+ "helpGroup": "GLOBAL",
8981
+ "name": "api-url",
8982
+ "hasDynamicHelp": false,
8983
+ "multiple": false,
8984
+ "type": "option"
8985
+ },
8986
+ "name": {
8987
+ "description": "Template name",
8988
+ "name": "name",
8989
+ "hasDynamicHelp": false,
8990
+ "multiple": false,
8991
+ "type": "option"
8992
+ },
8993
+ "type": {
8994
+ "description": "Template type",
8995
+ "name": "type",
8996
+ "hasDynamicHelp": false,
8997
+ "multiple": false,
8998
+ "options": [
8999
+ "text",
9000
+ "image",
9001
+ "video",
9002
+ "document",
9003
+ "audio",
9004
+ "location",
9005
+ "contact",
9006
+ "interactive"
9007
+ ],
9008
+ "type": "option"
9009
+ },
9010
+ "message": {
9011
+ "description": "Template message",
9012
+ "name": "message",
9013
+ "hasDynamicHelp": false,
9014
+ "multiple": false,
9015
+ "type": "option"
9016
+ },
9017
+ "color": {
9018
+ "description": "Template color as HEX",
9019
+ "name": "color",
9020
+ "hasDynamicHelp": false,
9021
+ "multiple": false,
9022
+ "type": "option"
9023
+ },
9024
+ "status": {
9025
+ "description": "Template is active",
9026
+ "name": "status",
9027
+ "allowNo": true,
9028
+ "type": "boolean"
9029
+ },
9030
+ "remove-media": {
9031
+ "description": "Remove existing media",
9032
+ "name": "remove-media",
9033
+ "allowNo": false,
9034
+ "type": "boolean"
9035
+ },
9036
+ "whatsapp-language": {
9037
+ "description": "WhatsApp template language",
9038
+ "name": "whatsapp-language",
9039
+ "hasDynamicHelp": false,
9040
+ "multiple": false,
9041
+ "type": "option"
9042
+ },
9043
+ "buttons": {
9044
+ "description": "Buttons JSON array/object",
9045
+ "name": "buttons",
8892
9046
  "hasDynamicHelp": false,
8893
9047
  "multiple": false,
8894
9048
  "type": "option"
8895
9049
  },
8896
- "api-url": {
8897
- "description": "Override the API base URL (e.g. for staging)",
8898
- "helpGroup": "GLOBAL",
8899
- "name": "api-url",
9050
+ "header-footer": {
9051
+ "description": "Header/footer JSON object",
9052
+ "name": "header-footer",
9053
+ "hasDynamicHelp": false,
9054
+ "multiple": false,
9055
+ "type": "option"
9056
+ },
9057
+ "data": {
9058
+ "description": "Additional JSON object payload",
9059
+ "name": "data",
8900
9060
  "hasDynamicHelp": false,
8901
9061
  "multiple": false,
8902
9062
  "type": "option"
@@ -8904,7 +9064,7 @@
8904
9064
  },
8905
9065
  "hasDynamicHelp": false,
8906
9066
  "hiddenAliases": [],
8907
- "id": "templates:get",
9067
+ "id": "templates:update",
8908
9068
  "pluginAlias": "@instantkom/cli",
8909
9069
  "pluginName": "@instantkom/cli",
8910
9070
  "pluginType": "core",
@@ -8915,13 +9075,13 @@
8915
9075
  "dist",
8916
9076
  "commands",
8917
9077
  "templates",
8918
- "get.js"
9078
+ "update.js"
8919
9079
  ]
8920
9080
  },
8921
- "templates:import": {
9081
+ "templates:validate-import": {
8922
9082
  "aliases": [],
8923
9083
  "args": {},
8924
- "description": "Import templates from JSON",
9084
+ "description": "Validate templates import JSON",
8925
9085
  "flags": {
8926
9086
  "api-key": {
8927
9087
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9000,17 +9160,11 @@
9000
9160
  "hasDynamicHelp": false,
9001
9161
  "multiple": false,
9002
9162
  "type": "option"
9003
- },
9004
- "skip-duplicates": {
9005
- "description": "Skip duplicate templates",
9006
- "name": "skip-duplicates",
9007
- "allowNo": true,
9008
- "type": "boolean"
9009
9163
  }
9010
9164
  },
9011
9165
  "hasDynamicHelp": false,
9012
9166
  "hiddenAliases": [],
9013
- "id": "templates:import",
9167
+ "id": "templates:validate-import",
9014
9168
  "pluginAlias": "@instantkom/cli",
9015
9169
  "pluginName": "@instantkom/cli",
9016
9170
  "pluginType": "core",
@@ -9021,13 +9175,13 @@
9021
9175
  "dist",
9022
9176
  "commands",
9023
9177
  "templates",
9024
- "import.js"
9178
+ "validate-import.js"
9025
9179
  ]
9026
9180
  },
9027
- "templates:list": {
9181
+ "tickets:create": {
9028
9182
  "aliases": [],
9029
9183
  "args": {},
9030
- "description": "List message templates",
9184
+ "description": "Create a ticket",
9031
9185
  "flags": {
9032
9186
  "api-key": {
9033
9187
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9092,136 +9246,67 @@
9092
9246
  "type": "option"
9093
9247
  },
9094
9248
  "channel": {
9095
- "description": "Filter by channel ID",
9249
+ "description": "Channel ID",
9096
9250
  "name": "channel",
9251
+ "required": true,
9097
9252
  "hasDynamicHelp": false,
9098
9253
  "multiple": false,
9099
9254
  "type": "option"
9100
9255
  },
9101
- "search": {
9102
- "description": "Search templates by name or content",
9103
- "name": "search",
9256
+ "subject": {
9257
+ "description": "Ticket subject",
9258
+ "name": "subject",
9259
+ "required": true,
9104
9260
  "hasDynamicHelp": false,
9105
9261
  "multiple": false,
9106
9262
  "type": "option"
9107
9263
  },
9108
- "page": {
9109
- "description": "Page number",
9110
- "name": "page",
9111
- "default": 1,
9264
+ "recipient": {
9265
+ "description": "Existing recipient ID",
9266
+ "name": "recipient",
9112
9267
  "hasDynamicHelp": false,
9113
9268
  "multiple": false,
9114
9269
  "type": "option"
9115
9270
  },
9116
- "limit": {
9117
- "description": "Items per page",
9118
- "name": "limit",
9119
- "default": 20,
9120
- "hasDynamicHelp": false,
9121
- "multiple": false,
9122
- "type": "option"
9123
- }
9124
- },
9125
- "hasDynamicHelp": false,
9126
- "hiddenAliases": [],
9127
- "id": "templates:list",
9128
- "pluginAlias": "@instantkom/cli",
9129
- "pluginName": "@instantkom/cli",
9130
- "pluginType": "core",
9131
- "strict": true,
9132
- "enableJsonFlag": false,
9133
- "isESM": true,
9134
- "relativePath": [
9135
- "dist",
9136
- "commands",
9137
- "templates",
9138
- "list.js"
9139
- ]
9140
- },
9141
- "templates:render": {
9142
- "aliases": [],
9143
- "args": {
9144
- "id": {
9145
- "description": "Template ID",
9146
- "name": "id",
9147
- "required": true
9148
- }
9149
- },
9150
- "description": "Render a message template locally",
9151
- "flags": {
9152
- "api-key": {
9153
- "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
9154
- "env": "IKM_API_KEY",
9155
- "helpGroup": "GLOBAL",
9156
- "name": "api-key",
9271
+ "email": {
9272
+ "description": "Customer email",
9273
+ "name": "email",
9157
9274
  "hasDynamicHelp": false,
9158
9275
  "multiple": false,
9159
9276
  "type": "option"
9160
9277
  },
9161
- "format": {
9162
- "description": "Output format: text, json, yaml, or table",
9163
- "helpGroup": "GLOBAL",
9164
- "name": "format",
9165
- "default": "text",
9278
+ "name": {
9279
+ "description": "Customer name",
9280
+ "name": "name",
9166
9281
  "hasDynamicHelp": false,
9167
9282
  "multiple": false,
9168
- "options": [
9169
- "text",
9170
- "json",
9171
- "yaml",
9172
- "table"
9173
- ],
9174
9283
  "type": "option"
9175
9284
  },
9176
- "json": {
9177
- "description": "Output in JSON format (alias for --format=json)",
9178
- "helpGroup": "GLOBAL",
9179
- "name": "json",
9180
- "allowNo": false,
9181
- "type": "boolean"
9182
- },
9183
- "quiet": {
9184
- "description": "Suppress all output except errors",
9185
- "helpGroup": "GLOBAL",
9186
- "name": "quiet",
9187
- "allowNo": false,
9188
- "type": "boolean"
9189
- },
9190
- "no-color": {
9191
- "description": "Disable color output",
9192
- "helpGroup": "GLOBAL",
9193
- "name": "no-color",
9194
- "allowNo": false,
9195
- "type": "boolean"
9196
- },
9197
- "profile": {
9198
- "description": "Named configuration profile to use",
9199
- "helpGroup": "GLOBAL",
9200
- "name": "profile",
9201
- "default": "default",
9285
+ "priority": {
9286
+ "description": "Ticket priority",
9287
+ "name": "priority",
9202
9288
  "hasDynamicHelp": false,
9203
9289
  "multiple": false,
9204
9290
  "type": "option"
9205
9291
  },
9206
- "api-url": {
9207
- "description": "Override the API base URL (e.g. for staging)",
9208
- "helpGroup": "GLOBAL",
9209
- "name": "api-url",
9292
+ "source": {
9293
+ "description": "Ticket source",
9294
+ "name": "source",
9210
9295
  "hasDynamicHelp": false,
9211
9296
  "multiple": false,
9212
9297
  "type": "option"
9213
9298
  },
9214
- "vars": {
9215
- "description": "Template variable as key=value; may be repeated",
9216
- "name": "vars",
9299
+ "data": {
9300
+ "description": "Additional JSON object payload",
9301
+ "name": "data",
9217
9302
  "hasDynamicHelp": false,
9218
- "multiple": true,
9303
+ "multiple": false,
9219
9304
  "type": "option"
9220
9305
  }
9221
9306
  },
9222
9307
  "hasDynamicHelp": false,
9223
9308
  "hiddenAliases": [],
9224
- "id": "templates:render",
9309
+ "id": "tickets:create",
9225
9310
  "pluginAlias": "@instantkom/cli",
9226
9311
  "pluginName": "@instantkom/cli",
9227
9312
  "pluginType": "core",
@@ -9231,20 +9316,20 @@
9231
9316
  "relativePath": [
9232
9317
  "dist",
9233
9318
  "commands",
9234
- "templates",
9235
- "render.js"
9319
+ "tickets",
9320
+ "create.js"
9236
9321
  ]
9237
9322
  },
9238
- "templates:update": {
9323
+ "tickets:delete": {
9239
9324
  "aliases": [],
9240
9325
  "args": {
9241
9326
  "id": {
9242
- "description": "Template ID",
9327
+ "description": "Ticket ID",
9243
9328
  "name": "id",
9244
9329
  "required": true
9245
9330
  }
9246
9331
  },
9247
- "description": "Update a message template",
9332
+ "description": "Delete a ticket",
9248
9333
  "flags": {
9249
9334
  "api-key": {
9250
9335
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9298,90 +9383,20 @@
9298
9383
  "default": "default",
9299
9384
  "hasDynamicHelp": false,
9300
9385
  "multiple": false,
9301
- "type": "option"
9302
- },
9303
- "api-url": {
9304
- "description": "Override the API base URL (e.g. for staging)",
9305
- "helpGroup": "GLOBAL",
9306
- "name": "api-url",
9307
- "hasDynamicHelp": false,
9308
- "multiple": false,
9309
- "type": "option"
9310
- },
9311
- "name": {
9312
- "description": "Template name",
9313
- "name": "name",
9314
- "hasDynamicHelp": false,
9315
- "multiple": false,
9316
- "type": "option"
9317
- },
9318
- "type": {
9319
- "description": "Template type",
9320
- "name": "type",
9321
- "hasDynamicHelp": false,
9322
- "multiple": false,
9323
- "options": [
9324
- "text",
9325
- "image",
9326
- "video",
9327
- "document",
9328
- "audio",
9329
- "location",
9330
- "contact",
9331
- "interactive"
9332
- ],
9333
- "type": "option"
9334
- },
9335
- "message": {
9336
- "description": "Template message",
9337
- "name": "message",
9338
- "hasDynamicHelp": false,
9339
- "multiple": false,
9340
- "type": "option"
9341
- },
9342
- "color": {
9343
- "description": "Template color as HEX",
9344
- "name": "color",
9345
- "hasDynamicHelp": false,
9346
- "multiple": false,
9347
- "type": "option"
9348
- },
9349
- "status": {
9350
- "description": "Template is active",
9351
- "name": "status",
9352
- "allowNo": true,
9353
- "type": "boolean"
9354
- },
9355
- "remove-media": {
9356
- "description": "Remove existing media",
9357
- "name": "remove-media",
9358
- "allowNo": false,
9359
- "type": "boolean"
9360
- },
9361
- "whatsapp-language": {
9362
- "description": "WhatsApp template language",
9363
- "name": "whatsapp-language",
9364
- "hasDynamicHelp": false,
9365
- "multiple": false,
9366
- "type": "option"
9367
- },
9368
- "buttons": {
9369
- "description": "Buttons JSON array/object",
9370
- "name": "buttons",
9371
- "hasDynamicHelp": false,
9372
- "multiple": false,
9373
- "type": "option"
9374
- },
9375
- "header-footer": {
9376
- "description": "Header/footer JSON object",
9377
- "name": "header-footer",
9386
+ "type": "option"
9387
+ },
9388
+ "api-url": {
9389
+ "description": "Override the API base URL (e.g. for staging)",
9390
+ "helpGroup": "GLOBAL",
9391
+ "name": "api-url",
9378
9392
  "hasDynamicHelp": false,
9379
9393
  "multiple": false,
9380
9394
  "type": "option"
9381
9395
  },
9382
- "data": {
9383
- "description": "Additional JSON object payload",
9384
- "name": "data",
9396
+ "channel": {
9397
+ "description": "Channel ID",
9398
+ "name": "channel",
9399
+ "required": true,
9385
9400
  "hasDynamicHelp": false,
9386
9401
  "multiple": false,
9387
9402
  "type": "option"
@@ -9389,7 +9404,7 @@
9389
9404
  },
9390
9405
  "hasDynamicHelp": false,
9391
9406
  "hiddenAliases": [],
9392
- "id": "templates:update",
9407
+ "id": "tickets:delete",
9393
9408
  "pluginAlias": "@instantkom/cli",
9394
9409
  "pluginName": "@instantkom/cli",
9395
9410
  "pluginType": "core",
@@ -9399,14 +9414,20 @@
9399
9414
  "relativePath": [
9400
9415
  "dist",
9401
9416
  "commands",
9402
- "templates",
9403
- "update.js"
9417
+ "tickets",
9418
+ "delete.js"
9404
9419
  ]
9405
9420
  },
9406
- "templates:validate-import": {
9421
+ "tickets:get": {
9407
9422
  "aliases": [],
9408
- "args": {},
9409
- "description": "Validate templates import JSON",
9423
+ "args": {
9424
+ "id": {
9425
+ "description": "Ticket ID",
9426
+ "name": "id",
9427
+ "required": true
9428
+ }
9429
+ },
9430
+ "description": "Get a ticket by ID",
9410
9431
  "flags": {
9411
9432
  "api-key": {
9412
9433
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9470,16 +9491,8 @@
9470
9491
  "multiple": false,
9471
9492
  "type": "option"
9472
9493
  },
9473
- "file": {
9474
- "description": "JSON file path",
9475
- "name": "file",
9476
- "required": true,
9477
- "hasDynamicHelp": false,
9478
- "multiple": false,
9479
- "type": "option"
9480
- },
9481
9494
  "channel": {
9482
- "description": "Target channel ID",
9495
+ "description": "Channel ID",
9483
9496
  "name": "channel",
9484
9497
  "required": true,
9485
9498
  "hasDynamicHelp": false,
@@ -9489,7 +9502,7 @@
9489
9502
  },
9490
9503
  "hasDynamicHelp": false,
9491
9504
  "hiddenAliases": [],
9492
- "id": "templates:validate-import",
9505
+ "id": "tickets:get",
9493
9506
  "pluginAlias": "@instantkom/cli",
9494
9507
  "pluginName": "@instantkom/cli",
9495
9508
  "pluginType": "core",
@@ -9499,14 +9512,14 @@
9499
9512
  "relativePath": [
9500
9513
  "dist",
9501
9514
  "commands",
9502
- "templates",
9503
- "validate-import.js"
9515
+ "tickets",
9516
+ "get.js"
9504
9517
  ]
9505
9518
  },
9506
- "tickets:create": {
9519
+ "tickets:list": {
9507
9520
  "aliases": [],
9508
9521
  "args": {},
9509
- "description": "Create a ticket",
9522
+ "description": "List tickets for a channel",
9510
9523
  "flags": {
9511
9524
  "api-key": {
9512
9525
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9578,52 +9591,18 @@
9578
9591
  "multiple": false,
9579
9592
  "type": "option"
9580
9593
  },
9581
- "subject": {
9582
- "description": "Ticket subject",
9583
- "name": "subject",
9584
- "required": true,
9585
- "hasDynamicHelp": false,
9586
- "multiple": false,
9587
- "type": "option"
9588
- },
9589
- "recipient": {
9590
- "description": "Existing recipient ID",
9591
- "name": "recipient",
9592
- "hasDynamicHelp": false,
9593
- "multiple": false,
9594
- "type": "option"
9595
- },
9596
- "email": {
9597
- "description": "Customer email",
9598
- "name": "email",
9599
- "hasDynamicHelp": false,
9600
- "multiple": false,
9601
- "type": "option"
9602
- },
9603
- "name": {
9604
- "description": "Customer name",
9605
- "name": "name",
9606
- "hasDynamicHelp": false,
9607
- "multiple": false,
9608
- "type": "option"
9609
- },
9610
- "priority": {
9611
- "description": "Ticket priority",
9612
- "name": "priority",
9613
- "hasDynamicHelp": false,
9614
- "multiple": false,
9615
- "type": "option"
9616
- },
9617
- "source": {
9618
- "description": "Ticket source",
9619
- "name": "source",
9594
+ "limit": {
9595
+ "description": "Maximum tickets to return",
9596
+ "name": "limit",
9597
+ "default": 500,
9620
9598
  "hasDynamicHelp": false,
9621
9599
  "multiple": false,
9622
9600
  "type": "option"
9623
9601
  },
9624
- "data": {
9625
- "description": "Additional JSON object payload",
9626
- "name": "data",
9602
+ "offset": {
9603
+ "description": "Number of tickets to skip",
9604
+ "name": "offset",
9605
+ "default": 0,
9627
9606
  "hasDynamicHelp": false,
9628
9607
  "multiple": false,
9629
9608
  "type": "option"
@@ -9631,7 +9610,7 @@
9631
9610
  },
9632
9611
  "hasDynamicHelp": false,
9633
9612
  "hiddenAliases": [],
9634
- "id": "tickets:create",
9613
+ "id": "tickets:list",
9635
9614
  "pluginAlias": "@instantkom/cli",
9636
9615
  "pluginName": "@instantkom/cli",
9637
9616
  "pluginType": "core",
@@ -9642,10 +9621,10 @@
9642
9621
  "dist",
9643
9622
  "commands",
9644
9623
  "tickets",
9645
- "create.js"
9624
+ "list.js"
9646
9625
  ]
9647
9626
  },
9648
- "tickets:delete": {
9627
+ "tickets:reply": {
9649
9628
  "aliases": [],
9650
9629
  "args": {
9651
9630
  "id": {
@@ -9654,7 +9633,7 @@
9654
9633
  "required": true
9655
9634
  }
9656
9635
  },
9657
- "description": "Delete a ticket",
9636
+ "description": "Send a real support reply on a ticket. Delivers the message to the customer and records it in both the ticket history and the Nachrichtenprotokoll. Provide raw body text only; the ticket system auto-prepends the personalised salutation and auto-appends the localised footer for email-channel tickets. Adding your own greetings causes duplicated headers/footers.",
9658
9637
  "flags": {
9659
9638
  "api-key": {
9660
9639
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9718,18 +9697,24 @@
9718
9697
  "multiple": false,
9719
9698
  "type": "option"
9720
9699
  },
9721
- "channel": {
9722
- "description": "Channel ID",
9723
- "name": "channel",
9700
+ "message": {
9701
+ "description": "Reply body (raw text, no salutation or sign-off)",
9702
+ "name": "message",
9724
9703
  "required": true,
9725
9704
  "hasDynamicHelp": false,
9726
9705
  "multiple": false,
9727
9706
  "type": "option"
9707
+ },
9708
+ "close": {
9709
+ "description": "Close the ticket after sending the reply",
9710
+ "name": "close",
9711
+ "allowNo": false,
9712
+ "type": "boolean"
9728
9713
  }
9729
9714
  },
9730
9715
  "hasDynamicHelp": false,
9731
9716
  "hiddenAliases": [],
9732
- "id": "tickets:delete",
9717
+ "id": "tickets:reply",
9733
9718
  "pluginAlias": "@instantkom/cli",
9734
9719
  "pluginName": "@instantkom/cli",
9735
9720
  "pluginType": "core",
@@ -9740,10 +9725,10 @@
9740
9725
  "dist",
9741
9726
  "commands",
9742
9727
  "tickets",
9743
- "delete.js"
9728
+ "reply.js"
9744
9729
  ]
9745
9730
  },
9746
- "tickets:get": {
9731
+ "tickets:update": {
9747
9732
  "aliases": [],
9748
9733
  "args": {
9749
9734
  "id": {
@@ -9752,7 +9737,7 @@
9752
9737
  "required": true
9753
9738
  }
9754
9739
  },
9755
- "description": "Get a ticket by ID",
9740
+ "description": "Update a ticket",
9756
9741
  "flags": {
9757
9742
  "api-key": {
9758
9743
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9823,11 +9808,52 @@
9823
9808
  "hasDynamicHelp": false,
9824
9809
  "multiple": false,
9825
9810
  "type": "option"
9811
+ },
9812
+ "subject": {
9813
+ "description": "Ticket subject",
9814
+ "name": "subject",
9815
+ "hasDynamicHelp": false,
9816
+ "multiple": false,
9817
+ "type": "option"
9818
+ },
9819
+ "priority": {
9820
+ "description": "Ticket priority",
9821
+ "name": "priority",
9822
+ "hasDynamicHelp": false,
9823
+ "multiple": false,
9824
+ "type": "option"
9825
+ },
9826
+ "status": {
9827
+ "description": "Ticket status",
9828
+ "name": "status",
9829
+ "hasDynamicHelp": false,
9830
+ "multiple": false,
9831
+ "type": "option"
9832
+ },
9833
+ "assigned-to": {
9834
+ "description": "User ID to assign the ticket to (use -1 or omit to leave unchanged)",
9835
+ "name": "assigned-to",
9836
+ "hasDynamicHelp": false,
9837
+ "multiple": false,
9838
+ "type": "option"
9839
+ },
9840
+ "notify": {
9841
+ "description": "Trigger the legacy notification chain for transitions that have one. On --assigned-to change: fires TICKET_ASSIGN (assignee email plus optional customer reply via tickets_assign_reply_sts). On --status closed transition: fires TICKET_CLOSE (optional customer reply via tickets_close_reply_sts). Defaults to true. Use --no-notify for silent updates.",
9842
+ "name": "notify",
9843
+ "allowNo": true,
9844
+ "type": "boolean"
9845
+ },
9846
+ "data": {
9847
+ "description": "Additional JSON object payload",
9848
+ "name": "data",
9849
+ "hasDynamicHelp": false,
9850
+ "multiple": false,
9851
+ "type": "option"
9826
9852
  }
9827
9853
  },
9828
9854
  "hasDynamicHelp": false,
9829
9855
  "hiddenAliases": [],
9830
- "id": "tickets:get",
9856
+ "id": "tickets:update",
9831
9857
  "pluginAlias": "@instantkom/cli",
9832
9858
  "pluginName": "@instantkom/cli",
9833
9859
  "pluginType": "core",
@@ -9838,13 +9864,13 @@
9838
9864
  "dist",
9839
9865
  "commands",
9840
9866
  "tickets",
9841
- "get.js"
9867
+ "update.js"
9842
9868
  ]
9843
9869
  },
9844
- "tickets:list": {
9870
+ "webhooks:add": {
9845
9871
  "aliases": [],
9846
9872
  "args": {},
9847
- "description": "List tickets for a channel",
9873
+ "description": "Add a webhook subscription",
9848
9874
  "flags": {
9849
9875
  "api-key": {
9850
9876
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -9908,26 +9934,25 @@
9908
9934
  "multiple": false,
9909
9935
  "type": "option"
9910
9936
  },
9911
- "channel": {
9912
- "description": "Channel ID",
9913
- "name": "channel",
9937
+ "event": {
9938
+ "description": "Webhook event to subscribe to",
9939
+ "name": "event",
9914
9940
  "required": true,
9915
9941
  "hasDynamicHelp": false,
9916
9942
  "multiple": false,
9943
+ "options": [
9944
+ "new_contact",
9945
+ "new_message",
9946
+ "broadcast_sent",
9947
+ "contact_updated",
9948
+ "contact_opted_out"
9949
+ ],
9917
9950
  "type": "option"
9918
9951
  },
9919
- "limit": {
9920
- "description": "Maximum tickets to return",
9921
- "name": "limit",
9922
- "default": 500,
9923
- "hasDynamicHelp": false,
9924
- "multiple": false,
9925
- "type": "option"
9926
- },
9927
- "offset": {
9928
- "description": "Number of tickets to skip",
9929
- "name": "offset",
9930
- "default": 0,
9952
+ "url": {
9953
+ "description": "HTTPS target URL that receives webhook POSTs",
9954
+ "name": "url",
9955
+ "required": true,
9931
9956
  "hasDynamicHelp": false,
9932
9957
  "multiple": false,
9933
9958
  "type": "option"
@@ -9935,7 +9960,7 @@
9935
9960
  },
9936
9961
  "hasDynamicHelp": false,
9937
9962
  "hiddenAliases": [],
9938
- "id": "tickets:list",
9963
+ "id": "webhooks:add",
9939
9964
  "pluginAlias": "@instantkom/cli",
9940
9965
  "pluginName": "@instantkom/cli",
9941
9966
  "pluginType": "core",
@@ -9945,20 +9970,14 @@
9945
9970
  "relativePath": [
9946
9971
  "dist",
9947
9972
  "commands",
9948
- "tickets",
9949
- "list.js"
9973
+ "webhooks",
9974
+ "add.js"
9950
9975
  ]
9951
9976
  },
9952
- "tickets:reply": {
9977
+ "webhooks:events": {
9953
9978
  "aliases": [],
9954
- "args": {
9955
- "id": {
9956
- "description": "Ticket ID",
9957
- "name": "id",
9958
- "required": true
9959
- }
9960
- },
9961
- "description": "Send a real support reply on a ticket. Delivers the message to the customer and records it in both the ticket history and the Nachrichtenprotokoll. Provide raw body text only; the ticket system auto-prepends the personalised salutation and auto-appends the localised footer for email-channel tickets. Adding your own greetings causes duplicated headers/footers.",
9979
+ "args": {},
9980
+ "description": "List supported webhook event names",
9962
9981
  "flags": {
9963
9982
  "api-key": {
9964
9983
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10021,25 +10040,11 @@
10021
10040
  "hasDynamicHelp": false,
10022
10041
  "multiple": false,
10023
10042
  "type": "option"
10024
- },
10025
- "message": {
10026
- "description": "Reply body (raw text, no salutation or sign-off)",
10027
- "name": "message",
10028
- "required": true,
10029
- "hasDynamicHelp": false,
10030
- "multiple": false,
10031
- "type": "option"
10032
- },
10033
- "close": {
10034
- "description": "Close the ticket after sending the reply",
10035
- "name": "close",
10036
- "allowNo": false,
10037
- "type": "boolean"
10038
10043
  }
10039
10044
  },
10040
10045
  "hasDynamicHelp": false,
10041
10046
  "hiddenAliases": [],
10042
- "id": "tickets:reply",
10047
+ "id": "webhooks:events",
10043
10048
  "pluginAlias": "@instantkom/cli",
10044
10049
  "pluginName": "@instantkom/cli",
10045
10050
  "pluginType": "core",
@@ -10049,20 +10054,14 @@
10049
10054
  "relativePath": [
10050
10055
  "dist",
10051
10056
  "commands",
10052
- "tickets",
10053
- "reply.js"
10057
+ "webhooks",
10058
+ "events.js"
10054
10059
  ]
10055
10060
  },
10056
- "tickets:update": {
10061
+ "webhooks:list": {
10057
10062
  "aliases": [],
10058
- "args": {
10059
- "id": {
10060
- "description": "Ticket ID",
10061
- "name": "id",
10062
- "required": true
10063
- }
10064
- },
10065
- "description": "Update a ticket",
10063
+ "args": {},
10064
+ "description": "List webhook subscriptions",
10066
10065
  "flags": {
10067
10066
  "api-key": {
10068
10067
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10125,60 +10124,11 @@
10125
10124
  "hasDynamicHelp": false,
10126
10125
  "multiple": false,
10127
10126
  "type": "option"
10128
- },
10129
- "channel": {
10130
- "description": "Channel ID",
10131
- "name": "channel",
10132
- "required": true,
10133
- "hasDynamicHelp": false,
10134
- "multiple": false,
10135
- "type": "option"
10136
- },
10137
- "subject": {
10138
- "description": "Ticket subject",
10139
- "name": "subject",
10140
- "hasDynamicHelp": false,
10141
- "multiple": false,
10142
- "type": "option"
10143
- },
10144
- "priority": {
10145
- "description": "Ticket priority",
10146
- "name": "priority",
10147
- "hasDynamicHelp": false,
10148
- "multiple": false,
10149
- "type": "option"
10150
- },
10151
- "status": {
10152
- "description": "Ticket status",
10153
- "name": "status",
10154
- "hasDynamicHelp": false,
10155
- "multiple": false,
10156
- "type": "option"
10157
- },
10158
- "assigned-to": {
10159
- "description": "User ID to assign the ticket to (use -1 or omit to leave unchanged)",
10160
- "name": "assigned-to",
10161
- "hasDynamicHelp": false,
10162
- "multiple": false,
10163
- "type": "option"
10164
- },
10165
- "notify": {
10166
- "description": "Trigger the legacy notification chain for transitions that have one. On --assigned-to change: fires TICKET_ASSIGN (assignee email plus optional customer reply via tickets_assign_reply_sts). On --status closed transition: fires TICKET_CLOSE (optional customer reply via tickets_close_reply_sts). Defaults to true. Use --no-notify for silent updates.",
10167
- "name": "notify",
10168
- "allowNo": true,
10169
- "type": "boolean"
10170
- },
10171
- "data": {
10172
- "description": "Additional JSON object payload",
10173
- "name": "data",
10174
- "hasDynamicHelp": false,
10175
- "multiple": false,
10176
- "type": "option"
10177
10127
  }
10178
10128
  },
10179
10129
  "hasDynamicHelp": false,
10180
10130
  "hiddenAliases": [],
10181
- "id": "tickets:update",
10131
+ "id": "webhooks:list",
10182
10132
  "pluginAlias": "@instantkom/cli",
10183
10133
  "pluginName": "@instantkom/cli",
10184
10134
  "pluginType": "core",
@@ -10188,14 +10138,14 @@
10188
10138
  "relativePath": [
10189
10139
  "dist",
10190
10140
  "commands",
10191
- "tickets",
10192
- "update.js"
10141
+ "webhooks",
10142
+ "list.js"
10193
10143
  ]
10194
10144
  },
10195
- "webhooks:add": {
10145
+ "webhooks:logs": {
10196
10146
  "aliases": [],
10197
10147
  "args": {},
10198
- "description": "Add a webhook subscription",
10148
+ "description": "Explain webhook log availability",
10199
10149
  "flags": {
10200
10150
  "api-key": {
10201
10151
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10258,34 +10208,11 @@
10258
10208
  "hasDynamicHelp": false,
10259
10209
  "multiple": false,
10260
10210
  "type": "option"
10261
- },
10262
- "event": {
10263
- "description": "Webhook event to subscribe to",
10264
- "name": "event",
10265
- "required": true,
10266
- "hasDynamicHelp": false,
10267
- "multiple": false,
10268
- "options": [
10269
- "new_contact",
10270
- "new_message",
10271
- "broadcast_sent",
10272
- "contact_updated",
10273
- "contact_opted_out"
10274
- ],
10275
- "type": "option"
10276
- },
10277
- "url": {
10278
- "description": "HTTPS target URL that receives webhook POSTs",
10279
- "name": "url",
10280
- "required": true,
10281
- "hasDynamicHelp": false,
10282
- "multiple": false,
10283
- "type": "option"
10284
10211
  }
10285
10212
  },
10286
10213
  "hasDynamicHelp": false,
10287
10214
  "hiddenAliases": [],
10288
- "id": "webhooks:add",
10215
+ "id": "webhooks:logs",
10289
10216
  "pluginAlias": "@instantkom/cli",
10290
10217
  "pluginName": "@instantkom/cli",
10291
10218
  "pluginType": "core",
@@ -10296,13 +10223,19 @@
10296
10223
  "dist",
10297
10224
  "commands",
10298
10225
  "webhooks",
10299
- "add.js"
10226
+ "logs.js"
10300
10227
  ]
10301
10228
  },
10302
- "webhooks:events": {
10229
+ "webhooks:remove": {
10303
10230
  "aliases": [],
10304
- "args": {},
10305
- "description": "List supported webhook event names",
10231
+ "args": {
10232
+ "id": {
10233
+ "description": "Webhook subscription ID",
10234
+ "name": "id",
10235
+ "required": true
10236
+ }
10237
+ },
10238
+ "description": "Remove a webhook subscription",
10306
10239
  "flags": {
10307
10240
  "api-key": {
10308
10241
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10369,7 +10302,7 @@
10369
10302
  },
10370
10303
  "hasDynamicHelp": false,
10371
10304
  "hiddenAliases": [],
10372
- "id": "webhooks:events",
10305
+ "id": "webhooks:remove",
10373
10306
  "pluginAlias": "@instantkom/cli",
10374
10307
  "pluginName": "@instantkom/cli",
10375
10308
  "pluginType": "core",
@@ -10380,13 +10313,13 @@
10380
10313
  "dist",
10381
10314
  "commands",
10382
10315
  "webhooks",
10383
- "events.js"
10316
+ "remove.js"
10384
10317
  ]
10385
10318
  },
10386
- "webhooks:list": {
10319
+ "webhooks:test": {
10387
10320
  "aliases": [],
10388
10321
  "args": {},
10389
- "description": "List webhook subscriptions",
10322
+ "description": "Send a test webhook payload to a URL",
10390
10323
  "flags": {
10391
10324
  "api-key": {
10392
10325
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10449,11 +10382,34 @@
10449
10382
  "hasDynamicHelp": false,
10450
10383
  "multiple": false,
10451
10384
  "type": "option"
10385
+ },
10386
+ "url": {
10387
+ "description": "Webhook URL to call",
10388
+ "name": "url",
10389
+ "required": true,
10390
+ "hasDynamicHelp": false,
10391
+ "multiple": false,
10392
+ "type": "option"
10393
+ },
10394
+ "event": {
10395
+ "description": "Event name",
10396
+ "name": "event",
10397
+ "default": "cli.test",
10398
+ "hasDynamicHelp": false,
10399
+ "multiple": false,
10400
+ "type": "option"
10401
+ },
10402
+ "payload": {
10403
+ "description": "Payload JSON",
10404
+ "name": "payload",
10405
+ "hasDynamicHelp": false,
10406
+ "multiple": false,
10407
+ "type": "option"
10452
10408
  }
10453
10409
  },
10454
10410
  "hasDynamicHelp": false,
10455
10411
  "hiddenAliases": [],
10456
- "id": "webhooks:list",
10412
+ "id": "webhooks:test",
10457
10413
  "pluginAlias": "@instantkom/cli",
10458
10414
  "pluginName": "@instantkom/cli",
10459
10415
  "pluginType": "core",
@@ -10464,13 +10420,13 @@
10464
10420
  "dist",
10465
10421
  "commands",
10466
10422
  "webhooks",
10467
- "list.js"
10423
+ "test.js"
10468
10424
  ]
10469
10425
  },
10470
- "webhooks:logs": {
10426
+ "team:create": {
10471
10427
  "aliases": [],
10472
10428
  "args": {},
10473
- "description": "Explain webhook log availability",
10429
+ "description": "Create a team member",
10474
10430
  "flags": {
10475
10431
  "api-key": {
10476
10432
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10533,11 +10489,78 @@
10533
10489
  "hasDynamicHelp": false,
10534
10490
  "multiple": false,
10535
10491
  "type": "option"
10492
+ },
10493
+ "email": {
10494
+ "description": "Email address",
10495
+ "name": "email",
10496
+ "required": true,
10497
+ "hasDynamicHelp": false,
10498
+ "multiple": false,
10499
+ "type": "option"
10500
+ },
10501
+ "first-name": {
10502
+ "description": "First name",
10503
+ "name": "first-name",
10504
+ "required": true,
10505
+ "hasDynamicHelp": false,
10506
+ "multiple": false,
10507
+ "type": "option"
10508
+ },
10509
+ "last-name": {
10510
+ "description": "Last name",
10511
+ "name": "last-name",
10512
+ "required": true,
10513
+ "hasDynamicHelp": false,
10514
+ "multiple": false,
10515
+ "type": "option"
10516
+ },
10517
+ "password": {
10518
+ "description": "Initial password",
10519
+ "name": "password",
10520
+ "required": true,
10521
+ "hasDynamicHelp": false,
10522
+ "multiple": false,
10523
+ "type": "option"
10524
+ },
10525
+ "phone": {
10526
+ "description": "Phone number",
10527
+ "name": "phone",
10528
+ "hasDynamicHelp": false,
10529
+ "multiple": false,
10530
+ "type": "option"
10531
+ },
10532
+ "company": {
10533
+ "description": "Company name",
10534
+ "name": "company",
10535
+ "hasDynamicHelp": false,
10536
+ "multiple": false,
10537
+ "type": "option"
10538
+ },
10539
+ "color": {
10540
+ "description": "Color as HEX",
10541
+ "name": "color",
10542
+ "hasDynamicHelp": false,
10543
+ "multiple": false,
10544
+ "type": "option"
10545
+ },
10546
+ "folder": {
10547
+ "description": "Object folder ID",
10548
+ "name": "folder",
10549
+ "hasDynamicHelp": false,
10550
+ "multiple": false,
10551
+ "type": "option"
10552
+ },
10553
+ "data": {
10554
+ "description": "Additional JSON object payload",
10555
+ "name": "data",
10556
+ "hasDynamicHelp": false,
10557
+ "multiple": false,
10558
+ "type": "option"
10536
10559
  }
10537
10560
  },
10538
10561
  "hasDynamicHelp": false,
10539
10562
  "hiddenAliases": [],
10540
- "id": "webhooks:logs",
10563
+ "id": "team:create",
10541
10564
  "pluginAlias": "@instantkom/cli",
10542
10565
  "pluginName": "@instantkom/cli",
10543
10566
  "pluginType": "core",
@@ -10547,20 +10570,20 @@
10547
10570
  "relativePath": [
10548
10571
  "dist",
10549
10572
  "commands",
10550
- "webhooks",
10551
- "logs.js"
10573
+ "team",
10574
+ "create.js"
10552
10575
  ]
10553
10576
  },
10554
- "webhooks:remove": {
10577
+ "team:delete": {
10555
10578
  "aliases": [],
10556
10579
  "args": {
10557
10580
  "id": {
10558
- "description": "Webhook subscription ID",
10581
+ "description": "Team member ID",
10559
10582
  "name": "id",
10560
10583
  "required": true
10561
10584
  }
10562
10585
  },
10563
- "description": "Remove a webhook subscription",
10586
+ "description": "Delete a team member",
10564
10587
  "flags": {
10565
10588
  "api-key": {
10566
10589
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10627,7 +10650,7 @@
10627
10650
  },
10628
10651
  "hasDynamicHelp": false,
10629
10652
  "hiddenAliases": [],
10630
- "id": "webhooks:remove",
10653
+ "id": "team:delete",
10631
10654
  "pluginAlias": "@instantkom/cli",
10632
10655
  "pluginName": "@instantkom/cli",
10633
10656
  "pluginType": "core",
@@ -10637,14 +10660,14 @@
10637
10660
  "relativePath": [
10638
10661
  "dist",
10639
10662
  "commands",
10640
- "webhooks",
10641
- "remove.js"
10663
+ "team",
10664
+ "delete.js"
10642
10665
  ]
10643
10666
  },
10644
- "webhooks:test": {
10667
+ "team:list": {
10645
10668
  "aliases": [],
10646
10669
  "args": {},
10647
- "description": "Send a test webhook payload to a URL",
10670
+ "description": "List team members",
10648
10671
  "flags": {
10649
10672
  "api-key": {
10650
10673
  "description": "API key for authentication (discouraged: prefer IKM_API_KEY env or keychain). Visible in shell history.",
@@ -10707,34 +10730,11 @@
10707
10730
  "hasDynamicHelp": false,
10708
10731
  "multiple": false,
10709
10732
  "type": "option"
10710
- },
10711
- "url": {
10712
- "description": "Webhook URL to call",
10713
- "name": "url",
10714
- "required": true,
10715
- "hasDynamicHelp": false,
10716
- "multiple": false,
10717
- "type": "option"
10718
- },
10719
- "event": {
10720
- "description": "Event name",
10721
- "name": "event",
10722
- "default": "cli.test",
10723
- "hasDynamicHelp": false,
10724
- "multiple": false,
10725
- "type": "option"
10726
- },
10727
- "payload": {
10728
- "description": "Payload JSON",
10729
- "name": "payload",
10730
- "hasDynamicHelp": false,
10731
- "multiple": false,
10732
- "type": "option"
10733
10733
  }
10734
10734
  },
10735
10735
  "hasDynamicHelp": false,
10736
10736
  "hiddenAliases": [],
10737
- "id": "webhooks:test",
10737
+ "id": "team:list",
10738
10738
  "pluginAlias": "@instantkom/cli",
10739
10739
  "pluginName": "@instantkom/cli",
10740
10740
  "pluginType": "core",
@@ -10744,8 +10744,8 @@
10744
10744
  "relativePath": [
10745
10745
  "dist",
10746
10746
  "commands",
10747
- "webhooks",
10748
- "test.js"
10747
+ "team",
10748
+ "list.js"
10749
10749
  ]
10750
10750
  },
10751
10751
  "tags:create": {
@@ -16566,5 +16566,5 @@
16566
16566
  ]
16567
16567
  }
16568
16568
  },
16569
- "version": "3.156.0"
16569
+ "version": "3.158.0"
16570
16570
  }