@fonoster/ctl 0.27.0 → 0.31.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.
Files changed (66) hide show
  1. package/README.md +588 -90
  2. package/dist/AuthenticatedCommand.d.ts +5 -0
  3. package/dist/AuthenticatedCommand.js +12 -1
  4. package/dist/commands/applications/create.d.ts +22 -0
  5. package/dist/commands/applications/create.js +68 -169
  6. package/dist/commands/applications/eval.d.ts +1 -1
  7. package/dist/commands/applications/eval.js +46 -33
  8. package/dist/commands/applications/get.d.ts +2 -0
  9. package/dist/commands/applications/get.js +67 -24
  10. package/dist/commands/applications/list.js +19 -3
  11. package/dist/commands/applications/rotate-secret.d.ts +9 -0
  12. package/dist/commands/applications/rotate-secret.js +97 -0
  13. package/dist/commands/applications/update.d.ts +21 -1
  14. package/dist/commands/applications/update.js +18 -168
  15. package/dist/commands/providers/catalog.d.ts +10 -0
  16. package/dist/commands/providers/catalog.js +128 -0
  17. package/dist/commands/providers/keys/delete.d.ts +9 -0
  18. package/dist/commands/providers/keys/delete.js +92 -0
  19. package/dist/commands/providers/keys/list.d.ts +6 -0
  20. package/dist/commands/providers/keys/list.js +97 -0
  21. package/dist/commands/providers/keys/set.d.ts +12 -0
  22. package/dist/commands/providers/keys/set.js +110 -0
  23. package/dist/commands/records/download.d.ts +15 -0
  24. package/dist/commands/records/download.js +132 -0
  25. package/dist/commands/records/get.d.ts +15 -0
  26. package/dist/commands/records/get.js +146 -0
  27. package/dist/commands/records/list.d.ts +15 -0
  28. package/dist/commands/records/list.js +136 -0
  29. package/dist/commands/sipnet/calls/create.d.ts +3 -3
  30. package/dist/commands/sipnet/calls/create.js +35 -52
  31. package/dist/commands/sipnet/numbers/linkTwilioNumber.js +4 -3
  32. package/dist/commands/webhooks/create.d.ts +10 -0
  33. package/dist/commands/webhooks/create.js +104 -0
  34. package/dist/commands/webhooks/delete.d.ts +9 -0
  35. package/dist/commands/webhooks/delete.js +92 -0
  36. package/dist/commands/webhooks/deliveries.d.ts +12 -0
  37. package/dist/commands/webhooks/deliveries.js +119 -0
  38. package/dist/commands/webhooks/get.d.ts +9 -0
  39. package/dist/commands/webhooks/get.js +110 -0
  40. package/dist/commands/webhooks/list.d.ts +9 -0
  41. package/dist/commands/webhooks/list.js +104 -0
  42. package/dist/commands/webhooks/resend.d.ts +9 -0
  43. package/dist/commands/webhooks/resend.js +95 -0
  44. package/dist/commands/webhooks/rotate.d.ts +9 -0
  45. package/dist/commands/webhooks/rotate.js +98 -0
  46. package/dist/commands/webhooks/update.d.ts +13 -0
  47. package/dist/commands/webhooks/update.js +103 -0
  48. package/dist/commands/workspaces/login.d.ts +5 -0
  49. package/dist/commands/workspaces/login.js +28 -2
  50. package/dist/constants.d.ts +1 -2
  51. package/dist/constants.js +2 -3
  52. package/dist/utils/applicationFlags.d.ts +24 -0
  53. package/dist/utils/applicationFlags.js +95 -0
  54. package/dist/utils/applicationRequest.d.ts +42 -0
  55. package/dist/utils/applicationRequest.js +215 -0
  56. package/dist/utils/createOrUpdateApplication.d.ts +26 -1
  57. package/dist/utils/createOrUpdateApplication.js +23 -27
  58. package/dist/utils/format.d.ts +20 -0
  59. package/dist/utils/format.js +31 -0
  60. package/dist/utils/index.d.ts +1 -0
  61. package/dist/utils/index.js +1 -0
  62. package/dist/utils/trackCallStatus.d.ts +4 -0
  63. package/dist/utils/trackCallStatus.js +67 -0
  64. package/dist/utils/webhookFlags.d.ts +3 -0
  65. package/dist/utils/webhookFlags.js +34 -0
  66. package/package.json +6 -7
package/README.md CHANGED
@@ -10,6 +10,8 @@ Command-Line for Fonoster
10
10
 
11
11
  Use this tool to manage your Fonoster resources from the command line. With this tool, you can create, update, and delete resources like Applications, Numbers, SIP Agents, and more.
12
12
 
13
+ On the new platform: `applications:*` manage streams (your WebSocket server: URL, protocol, speech defaults as catalog ids, listeners, recording, fallback) and Autopilot agents (`--agent`); `webhooks:*` manage workspace webhooks and their delivery log; `records:*` search call records and download recordings and vCons; `providers:*` list the provider catalog and manage the workspace's vendor keys. See [Try the new platform](../../docs/try-the-new-platform.md#from-the-terminal).
14
+
13
15
  > When connecting to your own instance of Fonoster, remember to use your endpoint when login in. Also, remember to use the `--insecure` flag when connecting to a server with no TLS.
14
16
 
15
17
  <!-- toc -->
@@ -23,7 +25,7 @@ $ npm install -g @fonoster/ctl
23
25
  $ fonoster COMMAND
24
26
  running command...
25
27
  $ fonoster (--version)
26
- @fonoster/ctl/0.15.1 darwin-arm64 node-v22.14.0
28
+ @fonoster/ctl/0.27.0 darwin-arm64 node-v22.17.0
27
29
  $ fonoster --help [COMMAND]
28
30
  USAGE
29
31
  $ fonoster COMMAND
@@ -41,10 +43,18 @@ USAGE
41
43
  * [`fonoster applications:eval`](#fonoster-applicationseval)
42
44
  * [`fonoster applications:get REF`](#fonoster-applicationsget-ref)
43
45
  * [`fonoster applications:list`](#fonoster-applicationslist)
44
- * [`fonoster applications:update REF`](#fonoster-applicationsupdate-ref)
46
+ * [`fonoster applications:rotate-secret REF`](#fonoster-applicationsrotate-secret-ref)
47
+ * [`fonoster applications:update [REF]`](#fonoster-applicationsupdate-ref)
45
48
  * [`fonoster bug`](#fonoster-bug)
46
49
  * [`fonoster feedback`](#fonoster-feedback)
47
50
  * [`fonoster mcp:configure`](#fonoster-mcpconfigure)
51
+ * [`fonoster providers:catalog`](#fonoster-providerscatalog)
52
+ * [`fonoster providers:keys:delete PROVIDER`](#fonoster-providerskeysdelete-provider)
53
+ * [`fonoster providers:keys:list`](#fonoster-providerskeyslist)
54
+ * [`fonoster providers:keys:set PROVIDER`](#fonoster-providerskeysset-provider)
55
+ * [`fonoster records:download REF`](#fonoster-recordsdownload-ref)
56
+ * [`fonoster records:get REF`](#fonoster-recordsget-ref)
57
+ * [`fonoster records:list`](#fonoster-recordslist)
48
58
  * [`fonoster secrets:create`](#fonoster-secretscreate)
49
59
  * [`fonoster secrets:delete REF`](#fonoster-secretsdelete-ref)
50
60
  * [`fonoster secrets:get REF`](#fonoster-secretsget-ref)
@@ -84,6 +94,14 @@ USAGE
84
94
  * [`fonoster sipnet:trunks:get REF`](#fonoster-sipnettrunksget-ref)
85
95
  * [`fonoster sipnet:trunks:list`](#fonoster-sipnettrunkslist)
86
96
  * [`fonoster sipnet:trunks:update REF`](#fonoster-sipnettrunksupdate-ref)
97
+ * [`fonoster webhooks:create`](#fonoster-webhookscreate)
98
+ * [`fonoster webhooks:delete REF`](#fonoster-webhooksdelete-ref)
99
+ * [`fonoster webhooks:deliveries [REF]`](#fonoster-webhooksdeliveries-ref)
100
+ * [`fonoster webhooks:get REF`](#fonoster-webhooksget-ref)
101
+ * [`fonoster webhooks:list`](#fonoster-webhookslist)
102
+ * [`fonoster webhooks:resend REF`](#fonoster-webhooksresend-ref)
103
+ * [`fonoster webhooks:rotate REF`](#fonoster-webhooksrotate-ref)
104
+ * [`fonoster webhooks:update REF`](#fonoster-webhooksupdate-ref)
87
105
  * [`fonoster workspaces:active`](#fonoster-workspacesactive)
88
106
  * [`fonoster workspaces:list`](#fonoster-workspaceslist)
89
107
  * [`fonoster workspaces:login`](#fonoster-workspaceslogin)
@@ -110,7 +128,7 @@ EXAMPLES
110
128
  $ fonoster apikeys:create
111
129
  ```
112
130
 
113
- _See code: [dist/commands/apikeys/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/apikeys/create.js)_
131
+ _See code: [dist/commands/apikeys/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/apikeys/create.js)_
114
132
 
115
133
  ## `fonoster apikeys:delete REF`
116
134
 
@@ -133,7 +151,7 @@ EXAMPLES
133
151
  $ fonoster apikeys:delete
134
152
  ```
135
153
 
136
- _See code: [dist/commands/apikeys/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/apikeys/delete.js)_
154
+ _See code: [dist/commands/apikeys/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/apikeys/delete.js)_
137
155
 
138
156
  ## `fonoster apikeys:list`
139
157
 
@@ -154,7 +172,7 @@ EXAMPLES
154
172
  $ fonoster apikeys:list
155
173
  ```
156
174
 
157
- _See code: [dist/commands/apikeys/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/apikeys/list.js)_
175
+ _See code: [dist/commands/apikeys/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/apikeys/list.js)_
158
176
 
159
177
  ## `fonoster apikeys:regenerate REF`
160
178
 
@@ -177,7 +195,7 @@ EXAMPLES
177
195
  $ fonoster apikeys:regenerate
178
196
  ```
179
197
 
180
- _See code: [dist/commands/apikeys/regenerate.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/apikeys/regenerate.js)_
198
+ _See code: [dist/commands/apikeys/regenerate.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/apikeys/regenerate.js)_
181
199
 
182
200
  ## `fonoster applications:create`
183
201
 
@@ -185,20 +203,53 @@ add a new Application to the active Workspace
185
203
 
186
204
  ```
187
205
  USAGE
188
- $ fonoster applications:create [-i] [-f <value>]
206
+ $ fonoster applications:create [-i] [-f <value>] [-n <value>] [-u <value>] [--protocol fonoster|twilio] [-a <value>]
207
+ [--voice <value>] [--language <value>] [--stt-model <value>] [--tts-model <value>] [--silence-timeout <value>]
208
+ [--patience low|normal|high] [--audio-codec pcm16|pcmu] [--audio-rate <value>] [--fallback-app <value>]
209
+ [--fallback-message <value>] [-l <value>...] [--clear-listeners] [--recording off|on|consent]
189
210
 
190
211
  FLAGS
191
- -f, --from-file=<value> create Application from YAML or JSON file
192
- -i, --insecure allow connections to a server with no TLS
212
+ -a, --agent=<value> a YAML or JSON agent file; makes it an Autopilot agent (hosted by Fonoster)
213
+ -f, --from-file=<value> a YAML or JSON file with the Application (an `agent` key makes it an Autopilot
214
+ agent)
215
+ -i, --insecure allow connections to a server with no TLS
216
+ -l, --listener=<value>... a listen-only socket: <wss-url>[,inbound|outbound|both] (repeatable, at most 4)
217
+ -n, --name=<value> the Application name
218
+ -u, --url=<value> the stream's WebSocket URL (ws:// or wss://)
219
+ --audio-codec=<option> audio frames for fonoster-protocol streams
220
+ <options: pcm16|pcmu>
221
+ --audio-rate=<value> audio sample rate for fonoster-protocol streams: 8000, 16000 or 24000 (pcmu is 8000 only)
222
+ --clear-listeners remove the current listeners (update; combine with --listener to replace)
223
+ --fallback-app=<value> the Application to hand the call to when this app fails
224
+ --fallback-message=<value> what the caller hears when the app fails and no fallback app answers
225
+ --protocol=<option> the protocol the stream speaks
226
+ <options: fonoster|twilio>
227
+ --language=<value> speech language (e.g. en-US)
228
+ --patience=<option> how long to wait before taking the turn
229
+ <options: low|normal|high>
230
+ --recording=<option> the recording policy
231
+ <options: off|on|consent>
232
+ --silence-timeout=<value> milliseconds of caller silence before a silence event
233
+ --stt-model=<value> STT model as a catalog id (e.g. deepgram/nova-3)
234
+ --tts-model=<value> TTS model as a catalog id (e.g. elevenlabs/eleven_flash_v2_5)
235
+ --voice=<value> TTS voice as a catalog id (e.g. deepgram/aura-2-thalia-en)
193
236
 
194
237
  DESCRIPTION
195
238
  add a new Application to the active Workspace
196
239
 
197
240
  EXAMPLES
198
- $ fonoster applications:create
241
+ $ fonoster applications:create --name Bot --url wss://bot.example.com/session
242
+
243
+ $ fonoster applications:create --name Bot --url wss://bot.example.com/media --protocol twilio
244
+
245
+ $ fonoster applications:create --name Receptionist --agent agent.yaml --voice deepgram/aura-2-thalia-en
246
+
247
+ $ fonoster applications:create --from-file app.yaml
248
+
249
+ $ fonoster applications:create # asks for the basics
199
250
  ```
200
251
 
201
- _See code: [dist/commands/applications/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/applications/create.js)_
252
+ _See code: [dist/commands/applications/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/applications/create.js)_
202
253
 
203
254
  ## `fonoster applications:delete REF`
204
255
 
@@ -221,30 +272,37 @@ EXAMPLES
221
272
  $ fonoster applications:delete
222
273
  ```
223
274
 
224
- _See code: [dist/commands/applications/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/applications/delete.js)_
275
+ _See code: [dist/commands/applications/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/applications/delete.js)_
225
276
 
226
277
  ## `fonoster applications:eval`
227
278
 
228
- experimental command to test an Autopilot application
279
+ experimental command to test an Autopilot agent
229
280
 
230
281
  ```
231
282
  USAGE
232
- $ fonoster applications:eval -f <value> [-i]
283
+ $ fonoster applications:eval -f <value> [-i] [-o pretty|json] [--output-file <value>]
233
284
 
234
285
  FLAGS
235
- -f, --file=<value> (required) path to test cases file (json, yaml, or yml)
236
- -i, --insecure allow connections to a server with no TLS
286
+ -f, --file=<value> (required) path to test cases file (json, yaml, or yml)
287
+ -i, --insecure allow connections to a server with no TLS
288
+ -o, --output=<option> [default: pretty] output format
289
+ <options: pretty|json>
290
+ --output-file=<value> write JSON summary to this file (with pretty: also show streamed output)
237
291
 
238
292
  DESCRIPTION
239
- experimental command to test an Autopilot application
293
+ experimental command to test an Autopilot agent
240
294
 
241
295
  EXAMPLES
242
- $ fonoster applications:eval -f assistant.json
296
+ $ fonoster applications:eval -f agent.json
297
+
298
+ $ fonoster applications:eval -f agent.yaml
243
299
 
244
- $ fonoster applications:eval -f assistant.yaml
300
+ $ fonoster applications:eval -f agent.yaml -o json
301
+
302
+ $ fonoster applications:eval -f agent.yaml -o json --output-file results.json
245
303
  ```
246
304
 
247
- _See code: [dist/commands/applications/eval.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/applications/eval.js)_
305
+ _See code: [dist/commands/applications/eval.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/applications/eval.js)_
248
306
 
249
307
  ## `fonoster applications:get REF`
250
308
 
@@ -264,10 +322,10 @@ DESCRIPTION
264
322
  retrieve details of an Application by reference
265
323
 
266
324
  EXAMPLES
267
- $ fonoster applications:get
325
+ $ fonoster applications:get <ref>
268
326
  ```
269
327
 
270
- _See code: [dist/commands/applications/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/applications/get.js)_
328
+ _See code: [dist/commands/applications/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/applications/get.js)_
271
329
 
272
330
  ## `fonoster applications:list`
273
331
 
@@ -288,31 +346,85 @@ EXAMPLES
288
346
  $ fonoster applications:list
289
347
  ```
290
348
 
291
- _See code: [dist/commands/applications/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/applications/list.js)_
349
+ _See code: [dist/commands/applications/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/applications/list.js)_
292
350
 
293
- ## `fonoster applications:update REF`
351
+ ## `fonoster applications:rotate-secret REF`
294
352
 
295
- modify the configuration of an Application
353
+ issue a new signing secret for an Application (the old one stops working)
296
354
 
297
355
  ```
298
356
  USAGE
299
- $ fonoster applications:update REF [-i] [-f <value>]
357
+ $ fonoster applications:rotate-secret REF [-i]
300
358
 
301
359
  ARGUMENTS
302
- REF the Application to update
360
+ REF the Application whose secret to rotate
303
361
 
304
362
  FLAGS
305
- -f, --from-file=<value> update Application from YAML or JSON file
306
- -i, --insecure allow connections to a server with no TLS
363
+ -i, --insecure allow connections to a server with no TLS
364
+
365
+ DESCRIPTION
366
+ issue a new signing secret for an Application (the old one stops working)
367
+
368
+ EXAMPLES
369
+ $ fonoster applications:rotate-secret <ref>
370
+ ```
371
+
372
+ _See code: [dist/commands/applications/rotate-secret.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/applications/rotate-secret.js)_
373
+
374
+ ## `fonoster applications:update [REF]`
375
+
376
+ modify an Application (only the fields you pass change)
377
+
378
+ ```
379
+ USAGE
380
+ $ fonoster applications:update [REF] [-i] [-f <value>] [-n <value>] [-u <value>] [--protocol fonoster|twilio] [-a <value>]
381
+ [--voice <value>] [--language <value>] [--stt-model <value>] [--tts-model <value>] [--silence-timeout <value>]
382
+ [--patience low|normal|high] [--audio-codec pcm16|pcmu] [--audio-rate <value>] [--fallback-app <value>]
383
+ [--fallback-message <value>] [-l <value>...] [--clear-listeners] [--recording off|on|consent]
384
+
385
+ ARGUMENTS
386
+ [REF] the Application to update (optional when `ref` is set in --from-file)
387
+
388
+ FLAGS
389
+ -a, --agent=<value> a YAML or JSON agent file; makes it an Autopilot agent (hosted by Fonoster)
390
+ -f, --from-file=<value> a YAML or JSON file with the Application (an `agent` key makes it an Autopilot
391
+ agent)
392
+ -i, --insecure allow connections to a server with no TLS
393
+ -l, --listener=<value>... a listen-only socket: <wss-url>[,inbound|outbound|both] (repeatable, at most 4)
394
+ -n, --name=<value> the Application name
395
+ -u, --url=<value> the stream's WebSocket URL (ws:// or wss://)
396
+ --audio-codec=<option> audio frames for fonoster-protocol streams
397
+ <options: pcm16|pcmu>
398
+ --audio-rate=<value> audio sample rate for fonoster-protocol streams: 8000, 16000 or 24000 (pcmu is 8000 only)
399
+ --clear-listeners remove the current listeners (update; combine with --listener to replace)
400
+ --fallback-app=<value> the Application to hand the call to when this app fails
401
+ --fallback-message=<value> what the caller hears when the app fails and no fallback app answers
402
+ --protocol=<option> the protocol the stream speaks
403
+ <options: fonoster|twilio>
404
+ --language=<value> speech language (e.g. en-US)
405
+ --patience=<option> how long to wait before taking the turn
406
+ <options: low|normal|high>
407
+ --recording=<option> the recording policy
408
+ <options: off|on|consent>
409
+ --silence-timeout=<value> milliseconds of caller silence before a silence event
410
+ --stt-model=<value> STT model as a catalog id (e.g. deepgram/nova-3)
411
+ --tts-model=<value> TTS model as a catalog id (e.g. elevenlabs/eleven_flash_v2_5)
412
+ --voice=<value> TTS voice as a catalog id (e.g. deepgram/aura-2-thalia-en)
307
413
 
308
414
  DESCRIPTION
309
- modify the configuration of an Application
415
+ modify an Application (only the fields you pass change)
310
416
 
311
417
  EXAMPLES
312
- $ fonoster applications:update
418
+ $ fonoster applications:update <ref> --voice elevenlabs/rachel --patience high
419
+
420
+ $ fonoster applications:update <ref> --agent agent.yaml
421
+
422
+ $ fonoster applications:update <ref> --clear-listeners --listener wss://rec.example.com/ws,inbound
423
+
424
+ $ fonoster applications:update --from-file app.yaml # with `ref` in the file
313
425
  ```
314
426
 
315
- _See code: [dist/commands/applications/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/applications/update.js)_
427
+ _See code: [dist/commands/applications/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/applications/update.js)_
316
428
 
317
429
  ## `fonoster bug`
318
430
 
@@ -329,7 +441,7 @@ EXAMPLES
329
441
  $ fonoster bug
330
442
  ```
331
443
 
332
- _See code: [dist/commands/bug.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/bug.js)_
444
+ _See code: [dist/commands/bug.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/bug.js)_
333
445
 
334
446
  ## `fonoster feedback`
335
447
 
@@ -349,7 +461,7 @@ EXAMPLES
349
461
  $ fonoster feedback
350
462
  ```
351
463
 
352
- _See code: [dist/commands/feedback.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/feedback.js)_
464
+ _See code: [dist/commands/feedback.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/feedback.js)_
353
465
 
354
466
  ## `fonoster mcp:configure`
355
467
 
@@ -373,7 +485,195 @@ EXAMPLES
373
485
  $ fonoster mcp:configure --client claude --workspace my-workspace
374
486
  ```
375
487
 
376
- _See code: [dist/commands/mcp/configure.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/mcp/configure.js)_
488
+ _See code: [dist/commands/mcp/configure.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/mcp/configure.js)_
489
+
490
+ ## `fonoster providers:catalog`
491
+
492
+ list the provider catalog: the providers, models and voices apps can use (catalog ids)
493
+
494
+ ```
495
+ USAGE
496
+ $ fonoster providers:catalog [-i] [-k provider|model|voice] [-t stt|tts|llm]
497
+
498
+ FLAGS
499
+ -i, --insecure allow connections to a server with no TLS
500
+ -k, --kind=<option> only this kind of item
501
+ <options: provider|model|voice>
502
+ -t, --type=<option> only this capability
503
+ <options: stt|tts|llm>
504
+
505
+ DESCRIPTION
506
+ list the provider catalog: the providers, models and voices apps can use (catalog ids)
507
+
508
+ EXAMPLES
509
+ $ fonoster providers:catalog
510
+
511
+ $ fonoster providers:catalog --kind voice
512
+
513
+ $ fonoster providers:catalog --kind model --type stt
514
+ ```
515
+
516
+ _See code: [dist/commands/providers/catalog.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/providers/catalog.js)_
517
+
518
+ ## `fonoster providers:keys:delete PROVIDER`
519
+
520
+ remove the Workspace's key for a vendor (calls fall back to the platform's key, if any)
521
+
522
+ ```
523
+ USAGE
524
+ $ fonoster providers:keys:delete PROVIDER [-i]
525
+
526
+ ARGUMENTS
527
+ PROVIDER the provider id
528
+
529
+ FLAGS
530
+ -i, --insecure allow connections to a server with no TLS
531
+
532
+ DESCRIPTION
533
+ remove the Workspace's key for a vendor (calls fall back to the platform's key, if any)
534
+
535
+ EXAMPLES
536
+ $ fonoster providers:keys:delete deepgram
537
+ ```
538
+
539
+ _See code: [dist/commands/providers/keys/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/providers/keys/delete.js)_
540
+
541
+ ## `fonoster providers:keys:list`
542
+
543
+ list the vendors the Workspace has its own key for (keys are never shown)
544
+
545
+ ```
546
+ USAGE
547
+ $ fonoster providers:keys:list [-i]
548
+
549
+ FLAGS
550
+ -i, --insecure allow connections to a server with no TLS
551
+
552
+ DESCRIPTION
553
+ list the vendors the Workspace has its own key for (keys are never shown)
554
+
555
+ EXAMPLES
556
+ $ fonoster providers:keys:list
557
+ ```
558
+
559
+ _See code: [dist/commands/providers/keys/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/providers/keys/list.js)_
560
+
561
+ ## `fonoster providers:keys:set PROVIDER`
562
+
563
+ set the Workspace's own key for a speech or LLM vendor (replaces any previous key)
564
+
565
+ ```
566
+ USAGE
567
+ $ fonoster providers:keys:set PROVIDER [-i] [--key <value>]
568
+
569
+ ARGUMENTS
570
+ PROVIDER the provider id (see providers:catalog --kind provider)
571
+
572
+ FLAGS
573
+ -i, --insecure allow connections to a server with no TLS
574
+ --key=<value> the vendor key (omit to type it without echo)
575
+
576
+ DESCRIPTION
577
+ set the Workspace's own key for a speech or LLM vendor (replaces any previous key)
578
+
579
+ EXAMPLES
580
+ $ fonoster providers:keys:set deepgram # asks for the key
581
+
582
+ $ fonoster providers:keys:set elevenlabs --key $ELEVENLABS_API_KEY
583
+ ```
584
+
585
+ _See code: [dist/commands/providers/keys/set.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/providers/keys/set.js)_
586
+
587
+ ## `fonoster records:download REF`
588
+
589
+ save a call's recording (WAV), vCon (JSON) or signed vCon (JWS) to a file
590
+
591
+ ```
592
+ USAGE
593
+ $ fonoster records:download REF [-i] [-p recording|vcon|signed] [-o <value>] [--version <value>] [--original]
594
+
595
+ ARGUMENTS
596
+ REF the call (callRef)
597
+
598
+ FLAGS
599
+ -i, --insecure allow connections to a server with no TLS
600
+ -o, --output=<value> the file to write (default <call-ref>.<ext>)
601
+ -p, --part=<option> [default: recording] what to download
602
+ <options: recording|vcon|signed>
603
+ --original the unredacted record (owner or admin)
604
+ --version=<value> a record version (default latest)
605
+
606
+ DESCRIPTION
607
+ save a call's recording (WAV), vCon (JSON) or signed vCon (JWS) to a file
608
+
609
+ EXAMPLES
610
+ $ fonoster records:download <call-ref> # <call-ref>.wav
611
+
612
+ $ fonoster records:download <call-ref> --part vcon -o call.json
613
+
614
+ $ fonoster records:download <call-ref> --part signed # verifiable JWS
615
+ ```
616
+
617
+ _See code: [dist/commands/records/download.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/records/download.js)_
618
+
619
+ ## `fonoster records:get REF`
620
+
621
+ show the summary of a call record (use records:download for the files)
622
+
623
+ ```
624
+ USAGE
625
+ $ fonoster records:get REF [-i] [--version <value>] [--original]
626
+
627
+ ARGUMENTS
628
+ REF the call (callRef)
629
+
630
+ FLAGS
631
+ -i, --insecure allow connections to a server with no TLS
632
+ --original the unredacted record (owner or admin)
633
+ --version=<value> a record version (default latest)
634
+
635
+ DESCRIPTION
636
+ show the summary of a call record (use records:download for the files)
637
+
638
+ EXAMPLES
639
+ $ fonoster records:get <call-ref>
640
+
641
+ $ fonoster records:get <call-ref> --original --version 1
642
+ ```
643
+
644
+ _See code: [dist/commands/records/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/records/get.js)_
645
+
646
+ ## `fonoster records:list`
647
+
648
+ search the call records (vCon) of the active Workspace, newest first
649
+
650
+ ```
651
+ USAGE
652
+ $ fonoster records:list [-i] [--after <value>] [--before <value>] [--number <value>] [--app <value>] [--status
653
+ <value>] [-s <value>] [-t <value>]
654
+
655
+ FLAGS
656
+ -i, --insecure allow connections to a server with no TLS
657
+ -s, --page-size=<value> [default: 50] the number of items to show
658
+ -t, --page-token=<value> the token for the next page (printed after a full page)
659
+ --after=<value> started at or after (ISO date/time)
660
+ --app=<value> calls handled by this Application
661
+ --before=<value> started before (ISO date/time)
662
+ --number=<value> calls from or to this number
663
+ --status=<value> record status (e.g. sealed, failed)
664
+
665
+ DESCRIPTION
666
+ search the call records (vCon) of the active Workspace, newest first
667
+
668
+ EXAMPLES
669
+ $ fonoster records:list
670
+
671
+ $ fonoster records:list --after 2026-10-01 --number +17853178070
672
+
673
+ $ fonoster records:list --app <app-ref> --status failed
674
+ ```
675
+
676
+ _See code: [dist/commands/records/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/records/list.js)_
377
677
 
378
678
  ## `fonoster secrets:create`
379
679
 
@@ -393,7 +693,7 @@ EXAMPLES
393
693
  $ fonoster secrets:create
394
694
  ```
395
695
 
396
- _See code: [dist/commands/secrets/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/secrets/create.js)_
696
+ _See code: [dist/commands/secrets/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/secrets/create.js)_
397
697
 
398
698
  ## `fonoster secrets:delete REF`
399
699
 
@@ -416,7 +716,7 @@ EXAMPLES
416
716
  $ fonoster secrets:delete
417
717
  ```
418
718
 
419
- _See code: [dist/commands/secrets/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/secrets/delete.js)_
719
+ _See code: [dist/commands/secrets/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/secrets/delete.js)_
420
720
 
421
721
  ## `fonoster secrets:get REF`
422
722
 
@@ -439,7 +739,7 @@ EXAMPLES
439
739
  $ fonoster secrets:get
440
740
  ```
441
741
 
442
- _See code: [dist/commands/secrets/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/secrets/get.js)_
742
+ _See code: [dist/commands/secrets/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/secrets/get.js)_
443
743
 
444
744
  ## `fonoster secrets:list`
445
745
 
@@ -460,7 +760,7 @@ EXAMPLES
460
760
  $ fonoster secrets:list
461
761
  ```
462
762
 
463
- _See code: [dist/commands/secrets/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/secrets/list.js)_
763
+ _See code: [dist/commands/secrets/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/secrets/list.js)_
464
764
 
465
765
  ## `fonoster secrets:update REF`
466
766
 
@@ -483,7 +783,7 @@ EXAMPLES
483
783
  $ fonoster secrets:update
484
784
  ```
485
785
 
486
- _See code: [dist/commands/secrets/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/secrets/update.js)_
786
+ _See code: [dist/commands/secrets/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/secrets/update.js)_
487
787
 
488
788
  ## `fonoster sipnet:acls:create`
489
789
 
@@ -503,7 +803,7 @@ EXAMPLES
503
803
  $ fonoster sipnet:acls:create
504
804
  ```
505
805
 
506
- _See code: [dist/commands/sipnet/acls/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/acls/create.js)_
806
+ _See code: [dist/commands/sipnet/acls/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/acls/create.js)_
507
807
 
508
808
  ## `fonoster sipnet:acls:delete REF`
509
809
 
@@ -526,7 +826,7 @@ EXAMPLES
526
826
  $ fonoster sipnet:acls:delete
527
827
  ```
528
828
 
529
- _See code: [dist/commands/sipnet/acls/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/acls/delete.js)_
829
+ _See code: [dist/commands/sipnet/acls/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/acls/delete.js)_
530
830
 
531
831
  ## `fonoster sipnet:acls:get REF`
532
832
 
@@ -549,7 +849,7 @@ EXAMPLES
549
849
  $ fonoster sipnet:acls:get
550
850
  ```
551
851
 
552
- _See code: [dist/commands/sipnet/acls/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/acls/get.js)_
852
+ _See code: [dist/commands/sipnet/acls/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/acls/get.js)_
553
853
 
554
854
  ## `fonoster sipnet:acls:list`
555
855
 
@@ -570,7 +870,7 @@ EXAMPLES
570
870
  $ fonoster sipnet:acls:list
571
871
  ```
572
872
 
573
- _See code: [dist/commands/sipnet/acls/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/acls/list.js)_
873
+ _See code: [dist/commands/sipnet/acls/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/acls/list.js)_
574
874
 
575
875
  ## `fonoster sipnet:acls:update REF`
576
876
 
@@ -593,7 +893,7 @@ EXAMPLES
593
893
  $ fonoster sipnet:acls:update
594
894
  ```
595
895
 
596
- _See code: [dist/commands/sipnet/acls/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/acls/update.js)_
896
+ _See code: [dist/commands/sipnet/acls/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/acls/update.js)_
597
897
 
598
898
  ## `fonoster sipnet:agents:create`
599
899
 
@@ -613,7 +913,7 @@ EXAMPLES
613
913
  $ fonoster sipnet:agents:create
614
914
  ```
615
915
 
616
- _See code: [dist/commands/sipnet/agents/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/agents/create.js)_
916
+ _See code: [dist/commands/sipnet/agents/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/agents/create.js)_
617
917
 
618
918
  ## `fonoster sipnet:agents:delete REF`
619
919
 
@@ -636,7 +936,7 @@ EXAMPLES
636
936
  $ fonoster sipnet:agents:delete
637
937
  ```
638
938
 
639
- _See code: [dist/commands/sipnet/agents/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/agents/delete.js)_
939
+ _See code: [dist/commands/sipnet/agents/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/agents/delete.js)_
640
940
 
641
941
  ## `fonoster sipnet:agents:get REF`
642
942
 
@@ -659,7 +959,7 @@ EXAMPLES
659
959
  $ fonoster sipnet:agents:get
660
960
  ```
661
961
 
662
- _See code: [dist/commands/sipnet/agents/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/agents/get.js)_
962
+ _See code: [dist/commands/sipnet/agents/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/agents/get.js)_
663
963
 
664
964
  ## `fonoster sipnet:agents:list`
665
965
 
@@ -680,7 +980,7 @@ EXAMPLES
680
980
  $ fonoster sipnet:agents:list
681
981
  ```
682
982
 
683
- _See code: [dist/commands/sipnet/agents/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/agents/list.js)_
983
+ _See code: [dist/commands/sipnet/agents/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/agents/list.js)_
684
984
 
685
985
  ## `fonoster sipnet:agents:update REF`
686
986
 
@@ -703,33 +1003,37 @@ EXAMPLES
703
1003
  $ fonoster sipnet:agents:update
704
1004
  ```
705
1005
 
706
- _See code: [dist/commands/sipnet/agents/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/agents/update.js)_
1006
+ _See code: [dist/commands/sipnet/agents/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/agents/update.js)_
707
1007
 
708
1008
  ## `fonoster sipnet:calls:create`
709
1009
 
710
- initiate a call to a phone number or SIP URI
1010
+ place an outbound call to a phone number or SIP URI and follow its status
711
1011
 
712
1012
  ```
713
1013
  USAGE
714
- $ fonoster sipnet:calls:create -f <value> -t <value> -a <value> [-i] [-o <value>] [-c] [-m <value>]
1014
+ $ fonoster sipnet:calls:create -f <value> -t <value> -a <value> [-i] [-o <value>] [-m <value>] [-d]
715
1015
 
716
1016
  FLAGS
717
- -a, --app-ref=<value> (required) the reference to the application to use
718
- -c, --track-call track the call
1017
+ -a, --app-ref=<value> (required) the Application that handles the call
1018
+ -d, --detach print the call ref and return without following the status
719
1019
  -f, --from=<value> (required) the number to make the call from
720
1020
  -i, --insecure allow connections to a server with no TLS
721
- -m, --metadata=<value> a JSON object with metadata for the voice application (e.g. '{"name": "John Doe"}')
722
- -o, --timeout=<value> [default: 30] the call timeout
723
- -t, --to=<value> (required) the number to make the call to
1021
+ -m, --metadata=<value> a JSON object the app receives with the session (e.g. '{"name": "John Doe"}')
1022
+ -o, --timeout=<value> [default: 30] seconds to wait for an answer
1023
+ -t, --to=<value> (required) the number or SIP URI to call
724
1024
 
725
1025
  DESCRIPTION
726
- initiate a call to a phone number or SIP URI
1026
+ place an outbound call to a phone number or SIP URI and follow its status
727
1027
 
728
1028
  EXAMPLES
729
- $ fonoster sipnet:calls:create
1029
+ $ fonoster sipnet:calls:create -f +17853178070 -t +18287854037 -a <app-ref>
1030
+
1031
+ $ fonoster sipnet:calls:create -f +17853178070 -t +18287854037 -a <app-ref> --detach
1032
+
1033
+ $ fonoster sipnet:calls:create -f +17853178070 -t +18287854037 -a <app-ref> -m '{"name":"Jane"}'
730
1034
  ```
731
1035
 
732
- _See code: [dist/commands/sipnet/calls/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/calls/create.js)_
1036
+ _See code: [dist/commands/sipnet/calls/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/calls/create.js)_
733
1037
 
734
1038
  ## `fonoster sipnet:calls:get REF`
735
1039
 
@@ -752,7 +1056,7 @@ EXAMPLES
752
1056
  $ fonoster sipnet:calls:get
753
1057
  ```
754
1058
 
755
- _See code: [dist/commands/sipnet/calls/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/calls/get.js)_
1059
+ _See code: [dist/commands/sipnet/calls/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/calls/get.js)_
756
1060
 
757
1061
  ## `fonoster sipnet:calls:list`
758
1062
 
@@ -773,7 +1077,7 @@ EXAMPLES
773
1077
  $ fonoster sipnet:calls:list
774
1078
  ```
775
1079
 
776
- _See code: [dist/commands/sipnet/calls/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/calls/list.js)_
1080
+ _See code: [dist/commands/sipnet/calls/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/calls/list.js)_
777
1081
 
778
1082
  ## `fonoster sipnet:credentials:create`
779
1083
 
@@ -793,7 +1097,7 @@ EXAMPLES
793
1097
  $ fonoster sipnet:credentials:create
794
1098
  ```
795
1099
 
796
- _See code: [dist/commands/sipnet/credentials/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/credentials/create.js)_
1100
+ _See code: [dist/commands/sipnet/credentials/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/credentials/create.js)_
797
1101
 
798
1102
  ## `fonoster sipnet:credentials:delete REF`
799
1103
 
@@ -816,7 +1120,7 @@ EXAMPLES
816
1120
  $ fonoster sipnet:credentials:delete
817
1121
  ```
818
1122
 
819
- _See code: [dist/commands/sipnet/credentials/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/credentials/delete.js)_
1123
+ _See code: [dist/commands/sipnet/credentials/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/credentials/delete.js)_
820
1124
 
821
1125
  ## `fonoster sipnet:credentials:get REF`
822
1126
 
@@ -839,7 +1143,7 @@ EXAMPLES
839
1143
  $ fonoster sipnet:credentials:get
840
1144
  ```
841
1145
 
842
- _See code: [dist/commands/sipnet/credentials/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/credentials/get.js)_
1146
+ _See code: [dist/commands/sipnet/credentials/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/credentials/get.js)_
843
1147
 
844
1148
  ## `fonoster sipnet:credentials:list`
845
1149
 
@@ -860,7 +1164,7 @@ EXAMPLES
860
1164
  $ fonoster sipnet:credentials:list
861
1165
  ```
862
1166
 
863
- _See code: [dist/commands/sipnet/credentials/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/credentials/list.js)_
1167
+ _See code: [dist/commands/sipnet/credentials/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/credentials/list.js)_
864
1168
 
865
1169
  ## `fonoster sipnet:credentials:update REF`
866
1170
 
@@ -883,7 +1187,7 @@ EXAMPLES
883
1187
  $ fonoster sipnet:credentials:update
884
1188
  ```
885
1189
 
886
- _See code: [dist/commands/sipnet/credentials/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/credentials/update.js)_
1190
+ _See code: [dist/commands/sipnet/credentials/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/credentials/update.js)_
887
1191
 
888
1192
  ## `fonoster sipnet:domains:create`
889
1193
 
@@ -903,7 +1207,7 @@ EXAMPLES
903
1207
  $ fonoster sipnet:domains:create
904
1208
  ```
905
1209
 
906
- _See code: [dist/commands/sipnet/domains/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/domains/create.js)_
1210
+ _See code: [dist/commands/sipnet/domains/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/domains/create.js)_
907
1211
 
908
1212
  ## `fonoster sipnet:domains:delete REF`
909
1213
 
@@ -926,7 +1230,7 @@ EXAMPLES
926
1230
  $ fonoster sipnet:domains:delete
927
1231
  ```
928
1232
 
929
- _See code: [dist/commands/sipnet/domains/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/domains/delete.js)_
1233
+ _See code: [dist/commands/sipnet/domains/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/domains/delete.js)_
930
1234
 
931
1235
  ## `fonoster sipnet:domains:get REF`
932
1236
 
@@ -949,7 +1253,7 @@ EXAMPLES
949
1253
  $ fonoster sipnet:domains:get
950
1254
  ```
951
1255
 
952
- _See code: [dist/commands/sipnet/domains/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/domains/get.js)_
1256
+ _See code: [dist/commands/sipnet/domains/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/domains/get.js)_
953
1257
 
954
1258
  ## `fonoster sipnet:domains:list`
955
1259
 
@@ -970,7 +1274,7 @@ EXAMPLES
970
1274
  $ fonoster sipnet:domains:list
971
1275
  ```
972
1276
 
973
- _See code: [dist/commands/sipnet/domains/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/domains/list.js)_
1277
+ _See code: [dist/commands/sipnet/domains/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/domains/list.js)_
974
1278
 
975
1279
  ## `fonoster sipnet:domains:update REF`
976
1280
 
@@ -993,7 +1297,7 @@ EXAMPLES
993
1297
  $ fonoster sipnet:domains:update
994
1298
  ```
995
1299
 
996
- _See code: [dist/commands/sipnet/domains/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/domains/update.js)_
1300
+ _See code: [dist/commands/sipnet/domains/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/domains/update.js)_
997
1301
 
998
1302
  ## `fonoster sipnet:numbers:create`
999
1303
 
@@ -1013,7 +1317,7 @@ EXAMPLES
1013
1317
  $ fonoster sipnet:numbers:create
1014
1318
  ```
1015
1319
 
1016
- _See code: [dist/commands/sipnet/numbers/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/numbers/create.js)_
1320
+ _See code: [dist/commands/sipnet/numbers/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/numbers/create.js)_
1017
1321
 
1018
1322
  ## `fonoster sipnet:numbers:delete REF`
1019
1323
 
@@ -1036,7 +1340,7 @@ EXAMPLES
1036
1340
  $ fonoster sipnet:numbers:delete
1037
1341
  ```
1038
1342
 
1039
- _See code: [dist/commands/sipnet/numbers/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/numbers/delete.js)_
1343
+ _See code: [dist/commands/sipnet/numbers/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/numbers/delete.js)_
1040
1344
 
1041
1345
  ## `fonoster sipnet:numbers:get REF`
1042
1346
 
@@ -1059,7 +1363,7 @@ EXAMPLES
1059
1363
  $ fonoster sipnet:numbers:get
1060
1364
  ```
1061
1365
 
1062
- _See code: [dist/commands/sipnet/numbers/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/numbers/get.js)_
1366
+ _See code: [dist/commands/sipnet/numbers/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/numbers/get.js)_
1063
1367
 
1064
1368
  ## `fonoster sipnet:numbers:linkTwilioNumber`
1065
1369
 
@@ -1072,8 +1376,8 @@ USAGE
1072
1376
  FLAGS
1073
1377
  -a, --access-control-list=<value> [default: 165.22.7.155/32] the access control list to allow (use if running your
1074
1378
  Fonoster instance)
1075
- -b, --outbound-uri-base=<value> [default: pstn.fonoster.com] the uri to point twilio to for outbound calls (use if
1076
- running your Fonoster instance)
1379
+ -b, --outbound-uri-base=<value> the host Twilio sends calls to, under which the trunk's inbound URI is made
1380
+ (default: pstn.<the server's domain>)
1077
1381
  -i, --insecure allow connections to a server with no TLS
1078
1382
 
1079
1383
  DESCRIPTION
@@ -1083,7 +1387,7 @@ EXAMPLES
1083
1387
  $ fonoster sipnet:numbers:linkTwilioNumber
1084
1388
  ```
1085
1389
 
1086
- _See code: [dist/commands/sipnet/numbers/linkTwilioNumber.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/numbers/linkTwilioNumber.js)_
1390
+ _See code: [dist/commands/sipnet/numbers/linkTwilioNumber.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/numbers/linkTwilioNumber.js)_
1087
1391
 
1088
1392
  ## `fonoster sipnet:numbers:list`
1089
1393
 
@@ -1104,7 +1408,7 @@ EXAMPLES
1104
1408
  $ fonoster sipnet:numbers:list
1105
1409
  ```
1106
1410
 
1107
- _See code: [dist/commands/sipnet/numbers/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/numbers/list.js)_
1411
+ _See code: [dist/commands/sipnet/numbers/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/numbers/list.js)_
1108
1412
 
1109
1413
  ## `fonoster sipnet:numbers:update REF`
1110
1414
 
@@ -1127,7 +1431,7 @@ EXAMPLES
1127
1431
  $ fonoster sipnet:numbers:update
1128
1432
  ```
1129
1433
 
1130
- _See code: [dist/commands/sipnet/numbers/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/numbers/update.js)_
1434
+ _See code: [dist/commands/sipnet/numbers/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/numbers/update.js)_
1131
1435
 
1132
1436
  ## `fonoster sipnet:trunks:create`
1133
1437
 
@@ -1147,7 +1451,7 @@ EXAMPLES
1147
1451
  $ fonoster sipnet:trunks:create
1148
1452
  ```
1149
1453
 
1150
- _See code: [dist/commands/sipnet/trunks/create.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/trunks/create.js)_
1454
+ _See code: [dist/commands/sipnet/trunks/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/trunks/create.js)_
1151
1455
 
1152
1456
  ## `fonoster sipnet:trunks:delete REF`
1153
1457
 
@@ -1170,7 +1474,7 @@ EXAMPLES
1170
1474
  $ fonoster sipnet:trunks:delete
1171
1475
  ```
1172
1476
 
1173
- _See code: [dist/commands/sipnet/trunks/delete.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/trunks/delete.js)_
1477
+ _See code: [dist/commands/sipnet/trunks/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/trunks/delete.js)_
1174
1478
 
1175
1479
  ## `fonoster sipnet:trunks:get REF`
1176
1480
 
@@ -1193,7 +1497,7 @@ EXAMPLES
1193
1497
  $ fonoster sipnet:trunks:get
1194
1498
  ```
1195
1499
 
1196
- _See code: [dist/commands/sipnet/trunks/get.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/trunks/get.js)_
1500
+ _See code: [dist/commands/sipnet/trunks/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/trunks/get.js)_
1197
1501
 
1198
1502
  ## `fonoster sipnet:trunks:list`
1199
1503
 
@@ -1214,7 +1518,7 @@ EXAMPLES
1214
1518
  $ fonoster sipnet:trunks:list
1215
1519
  ```
1216
1520
 
1217
- _See code: [dist/commands/sipnet/trunks/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/trunks/list.js)_
1521
+ _See code: [dist/commands/sipnet/trunks/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/trunks/list.js)_
1218
1522
 
1219
1523
  ## `fonoster sipnet:trunks:update REF`
1220
1524
 
@@ -1237,7 +1541,201 @@ EXAMPLES
1237
1541
  $ fonoster sipnet:trunks:update
1238
1542
  ```
1239
1543
 
1240
- _See code: [dist/commands/sipnet/trunks/update.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/sipnet/trunks/update.js)_
1544
+ _See code: [dist/commands/sipnet/trunks/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/sipnet/trunks/update.js)_
1545
+
1546
+ ## `fonoster webhooks:create`
1547
+
1548
+ subscribe an HTTPS endpoint to Workspace events
1549
+
1550
+ ```
1551
+ USAGE
1552
+ $ fonoster webhooks:create -u <value> -e
1553
+ call.started|call.ended|call.failed|call_record.sealed|provider.deprecated... [-i]
1554
+
1555
+ FLAGS
1556
+ -e, --event=<option>... (required) an event to receive (repeatable): call.started, call.ended, call.failed,
1557
+ call_record.sealed, provider.deprecated
1558
+ <options: call.started|call.ended|call.failed|call_record.sealed|provider.deprecated>
1559
+ -i, --insecure allow connections to a server with no TLS
1560
+ -u, --url=<value> (required) the endpoint that receives the events (https://)
1561
+
1562
+ DESCRIPTION
1563
+ subscribe an HTTPS endpoint to Workspace events
1564
+
1565
+ EXAMPLES
1566
+ $ fonoster webhooks:create --url https://example.com/hooks -e call.ended -e call_record.sealed
1567
+ ```
1568
+
1569
+ _See code: [dist/commands/webhooks/create.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/create.js)_
1570
+
1571
+ ## `fonoster webhooks:delete REF`
1572
+
1573
+ delete a Webhook from the active Workspace
1574
+
1575
+ ```
1576
+ USAGE
1577
+ $ fonoster webhooks:delete REF [-i]
1578
+
1579
+ ARGUMENTS
1580
+ REF the Webhook to delete
1581
+
1582
+ FLAGS
1583
+ -i, --insecure allow connections to a server with no TLS
1584
+
1585
+ DESCRIPTION
1586
+ delete a Webhook from the active Workspace
1587
+
1588
+ EXAMPLES
1589
+ $ fonoster webhooks:delete <ref>
1590
+ ```
1591
+
1592
+ _See code: [dist/commands/webhooks/delete.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/delete.js)_
1593
+
1594
+ ## `fonoster webhooks:deliveries [REF]`
1595
+
1596
+ show the delivery log (all Webhooks, or one)
1597
+
1598
+ ```
1599
+ USAGE
1600
+ $ fonoster webhooks:deliveries [REF] [-i] [-s <value>]
1601
+
1602
+ ARGUMENTS
1603
+ [REF] only this Webhook's deliveries
1604
+
1605
+ FLAGS
1606
+ -i, --insecure allow connections to a server with no TLS
1607
+ -s, --page-size=<value> [default: 50] the number of items to show
1608
+
1609
+ DESCRIPTION
1610
+ show the delivery log (all Webhooks, or one)
1611
+
1612
+ EXAMPLES
1613
+ $ fonoster webhooks:deliveries
1614
+
1615
+ $ fonoster webhooks:deliveries <webhook-ref> -s 20
1616
+ ```
1617
+
1618
+ _See code: [dist/commands/webhooks/deliveries.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/deliveries.js)_
1619
+
1620
+ ## `fonoster webhooks:get REF`
1621
+
1622
+ retrieve details of a Webhook by reference
1623
+
1624
+ ```
1625
+ USAGE
1626
+ $ fonoster webhooks:get REF [-i]
1627
+
1628
+ ARGUMENTS
1629
+ REF the Webhook to show details about
1630
+
1631
+ FLAGS
1632
+ -i, --insecure allow connections to a server with no TLS
1633
+
1634
+ DESCRIPTION
1635
+ retrieve details of a Webhook by reference
1636
+
1637
+ EXAMPLES
1638
+ $ fonoster webhooks:get <ref>
1639
+ ```
1640
+
1641
+ _See code: [dist/commands/webhooks/get.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/get.js)_
1642
+
1643
+ ## `fonoster webhooks:list`
1644
+
1645
+ display all Webhooks in the active Workspace
1646
+
1647
+ ```
1648
+ USAGE
1649
+ $ fonoster webhooks:list [-i] [-s <value>]
1650
+
1651
+ FLAGS
1652
+ -i, --insecure allow connections to a server with no TLS
1653
+ -s, --page-size=<value> [default: 1000] the number of items to show
1654
+
1655
+ DESCRIPTION
1656
+ display all Webhooks in the active Workspace
1657
+
1658
+ EXAMPLES
1659
+ $ fonoster webhooks:list
1660
+ ```
1661
+
1662
+ _See code: [dist/commands/webhooks/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/list.js)_
1663
+
1664
+ ## `fonoster webhooks:resend REF`
1665
+
1666
+ send a delivery again (same event id, so receivers can dedupe)
1667
+
1668
+ ```
1669
+ USAGE
1670
+ $ fonoster webhooks:resend REF [-i]
1671
+
1672
+ ARGUMENTS
1673
+ REF the delivery to resend (see webhooks:deliveries)
1674
+
1675
+ FLAGS
1676
+ -i, --insecure allow connections to a server with no TLS
1677
+
1678
+ DESCRIPTION
1679
+ send a delivery again (same event id, so receivers can dedupe)
1680
+
1681
+ EXAMPLES
1682
+ $ fonoster webhooks:resend <delivery-ref>
1683
+ ```
1684
+
1685
+ _See code: [dist/commands/webhooks/resend.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/resend.js)_
1686
+
1687
+ ## `fonoster webhooks:rotate REF`
1688
+
1689
+ issue a new signing secret for a Webhook (the old one keeps working for a while)
1690
+
1691
+ ```
1692
+ USAGE
1693
+ $ fonoster webhooks:rotate REF [-i]
1694
+
1695
+ ARGUMENTS
1696
+ REF the Webhook whose secret to rotate
1697
+
1698
+ FLAGS
1699
+ -i, --insecure allow connections to a server with no TLS
1700
+
1701
+ DESCRIPTION
1702
+ issue a new signing secret for a Webhook (the old one keeps working for a while)
1703
+
1704
+ EXAMPLES
1705
+ $ fonoster webhooks:rotate <ref>
1706
+ ```
1707
+
1708
+ _See code: [dist/commands/webhooks/rotate.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/rotate.js)_
1709
+
1710
+ ## `fonoster webhooks:update REF`
1711
+
1712
+ change a Webhook's URL or events (--event replaces the list)
1713
+
1714
+ ```
1715
+ USAGE
1716
+ $ fonoster webhooks:update REF [-i] [-u <value>] [-e
1717
+ call.started|call.ended|call.failed|call_record.sealed|provider.deprecated...]
1718
+
1719
+ ARGUMENTS
1720
+ REF the Webhook to update
1721
+
1722
+ FLAGS
1723
+ -e, --event=<option>... an event to receive (repeatable): call.started, call.ended, call.failed, call_record.sealed,
1724
+ provider.deprecated
1725
+ <options: call.started|call.ended|call.failed|call_record.sealed|provider.deprecated>
1726
+ -i, --insecure allow connections to a server with no TLS
1727
+ -u, --url=<value> the new endpoint
1728
+
1729
+ DESCRIPTION
1730
+ change a Webhook's URL or events (--event replaces the list)
1731
+
1732
+ EXAMPLES
1733
+ $ fonoster webhooks:update <ref> -e call.started -e call.ended
1734
+
1735
+ $ fonoster webhooks:update <ref> --url https://example.com/new
1736
+ ```
1737
+
1738
+ _See code: [dist/commands/webhooks/update.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/webhooks/update.js)_
1241
1739
 
1242
1740
  ## `fonoster workspaces:active`
1243
1741
 
@@ -1254,7 +1752,7 @@ EXAMPLES
1254
1752
  $ fonoster workspaces:active
1255
1753
  ```
1256
1754
 
1257
- _See code: [dist/commands/workspaces/active.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/workspaces/active.js)_
1755
+ _See code: [dist/commands/workspaces/active.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/workspaces/active.js)_
1258
1756
 
1259
1757
  ## `fonoster workspaces:list`
1260
1758
 
@@ -1271,7 +1769,7 @@ EXAMPLES
1271
1769
  $ fonoster workspaces:list
1272
1770
  ```
1273
1771
 
1274
- _See code: [dist/commands/workspaces/list.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/workspaces/list.js)_
1772
+ _See code: [dist/commands/workspaces/list.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/workspaces/list.js)_
1275
1773
 
1276
1774
  ## `fonoster workspaces:login`
1277
1775
 
@@ -1291,7 +1789,7 @@ EXAMPLES
1291
1789
  $ fonoster workspaces:login
1292
1790
  ```
1293
1791
 
1294
- _See code: [dist/commands/workspaces/login.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/workspaces/login.js)_
1792
+ _See code: [dist/commands/workspaces/login.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/workspaces/login.js)_
1295
1793
 
1296
1794
  ## `fonoster workspaces:logout REF`
1297
1795
 
@@ -1311,7 +1809,7 @@ EXAMPLES
1311
1809
  $ fonoster workspaces:logout
1312
1810
  ```
1313
1811
 
1314
- _See code: [dist/commands/workspaces/logout.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/workspaces/logout.js)_
1812
+ _See code: [dist/commands/workspaces/logout.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/workspaces/logout.js)_
1315
1813
 
1316
1814
  ## `fonoster workspaces:use REF`
1317
1815
 
@@ -1331,5 +1829,5 @@ EXAMPLES
1331
1829
  $ fonoster workspaces:use
1332
1830
  ```
1333
1831
 
1334
- _See code: [dist/commands/workspaces/use.js](https://github.com/fonoster/fonoster/blob/v0.15.1/dist/commands/workspaces/use.js)_
1832
+ _See code: [dist/commands/workspaces/use.js](https://github.com/fonoster/fonoster/blob/v0.27.0/dist/commands/workspaces/use.js)_
1335
1833
  <!-- commandsstop -->