Skip to content

Commit 5a8810c

Browse files
committed
Merge branch 'main' of github.com:signalwire/docs into august-20260623-whatsapp-messaging
2 parents 5b2f977 + d0c1dd8 commit 5a8810c

4 files changed

Lines changed: 4 additions & 436 deletions

File tree

fern/apis/signalwire-rest/openapi.yaml

Lines changed: 2 additions & 252 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ paths:
339339
description: |-
340340
Unified JSON-RPC style endpoint for executing call methods through command-based dispatch.
341341
Send a request with the appropriate `command` field to invoke the desired call operation.
342-
All async-safe RELAY methods can be sent through this endpoint without a WebSocket connection.
342+
Only the commands listed below are supported. Most operate on an already-active call; `dial` creates a new one. All commands are sent over HTTP (no persistent WebSocket connection required) and return immediately; operations that continue asynchronously deliver their results to your `status_url` webhooks.
343343

344344
## Supported Commands
345345

@@ -353,7 +353,6 @@ paths:
353353
| `calling.end` | Terminate an active call immediately |
354354
| `calling.transfer` | Transfer a call to a new destination (SIP URI, phone number, or inline SWML) |
355355
| `calling.disconnect` | Disconnect bridged calls without hanging up either leg |
356-
| `calling.join_conference` | Join the call to an ad-hoc audio conference, optionally attaching a WebSocket stream |
357356
| `calling.play` | Play audio, TTS, silence, or ringtone to a call |
358357
| `calling.play.pause` | Pause active playback |
359358
| `calling.play.resume` | Resume paused playback |
@@ -723,21 +722,6 @@ paths:
723722
id: 3fa85f64-5717-4562-b3fc-2c963f66afa6
724723
params:
725724
control_id: tap-control-1
726-
calling.join_conference:
727-
summary: calling.join_conference
728-
description: Join a conference and attach a bidirectional WebSocket stream
729-
value:
730-
command: calling.join_conference
731-
id: 3fa85f64-5717-4562-b3fc-2c963f66afa6
732-
params:
733-
name: team_meeting
734-
beep: onEnter
735-
start_on_enter: true
736-
stream:
737-
url: wss://example.com/conference-audio
738-
codec: PCMU
739-
realtime: true
740-
status_url: https://example.com/stream-status
741725
calling.transcribe:
742726
summary: calling.transcribe
743727
description: Start background transcription on an active call
@@ -17789,185 +17773,6 @@ components:
1778917773
unevaluatedProperties:
1779017774
not: {}
1779117775
title: calling.ai_hold
17792-
Calling.CallJoinConferenceRequest:
17793-
type: object
17794-
required:
17795-
- id
17796-
- command
17797-
- params
17798-
properties:
17799-
id:
17800-
allOf:
17801-
- $ref: '#/components/schemas/uuid'
17802-
description: The unique identifying ID of a existing call.
17803-
examples:
17804-
- 3fa85f64-5717-4562-b3fc-2c963f66afa6
17805-
command:
17806-
type: string
17807-
enum:
17808-
- calling.join_conference
17809-
description: The `calling.join_conference` command joins the call to an ad-hoc audio conference.
17810-
examples:
17811-
- calling.join_conference
17812-
params:
17813-
type: object
17814-
properties:
17815-
name:
17816-
type: string
17817-
description: Name of the conference. All calls joining the same name are placed in the same conference.
17818-
examples:
17819-
- team_meeting
17820-
muted:
17821-
type: boolean
17822-
description: Whether to join the conference in a muted state.
17823-
examples:
17824-
- false
17825-
beep:
17826-
type: string
17827-
enum:
17828-
- 'true'
17829-
- 'false'
17830-
- onEnter
17831-
- onExit
17832-
description: Sets the behavior of the beep sound when joining or leaving the conference.
17833-
examples:
17834-
- onEnter
17835-
start_on_enter:
17836-
type: boolean
17837-
description: Start the conference when this participant joins, without waiting for other participants.
17838-
examples:
17839-
- true
17840-
end_on_exit:
17841-
type: boolean
17842-
description: End the conference when this participant leaves, without waiting for other participants.
17843-
examples:
17844-
- false
17845-
wait_url:
17846-
type: string
17847-
format: uri
17848-
description: HTTP or HTTPS URL to fetch audio to play while waiting for the conference to start. Default hold music is played if not set.
17849-
examples:
17850-
- https://example.com/hold-music.mp3
17851-
max_participants:
17852-
type: integer
17853-
description: The maximum number of participants allowed in the conference.
17854-
examples:
17855-
- 50
17856-
record:
17857-
type: string
17858-
enum:
17859-
- do-not-record
17860-
- record-from-start
17861-
description: Enables or disables recording of the conference.
17862-
examples:
17863-
- record-from-start
17864-
region:
17865-
type: string
17866-
enum:
17867-
- global
17868-
- us
17869-
- eu
17870-
- ch
17871-
description: The geographical region where the conference is hosted.
17872-
examples:
17873-
- us
17874-
trim:
17875-
type: string
17876-
enum:
17877-
- trim-silence
17878-
- do-not-trim
17879-
description: Whether to trim silence from the start of the conference recording.
17880-
examples:
17881-
- trim-silence
17882-
acl:
17883-
type: string
17884-
enum:
17885-
- private
17886-
- public-read
17887-
description: Access control level for the conference.
17888-
examples:
17889-
- private
17890-
coach:
17891-
type: string
17892-
description: Call SID of a call currently connected to an in-progress conference. The coach can hear but not be heard (coaching mode).
17893-
examples:
17894-
- b3877ee3-6f3c-4985-8066-6d24e3f65e12
17895-
status_callback_event:
17896-
type: string
17897-
description: |-
17898-
Space-separated list of one or more events to send to the status callback URL.
17899-
Possible values: `start`, `end`, `join`, `leave`, `mute`, `hold`, `modify`, `speaker`, `announcement`.
17900-
examples:
17901-
- join leave
17902-
status_callback_event_type:
17903-
type: string
17904-
enum:
17905-
- cxml
17906-
- laml
17907-
- relay
17908-
description: Content type for status callback requests.
17909-
examples:
17910-
- relay
17911-
status_callback:
17912-
type: string
17913-
format: uri
17914-
description: HTTP or HTTPS URL to which status events will be sent.
17915-
examples:
17916-
- https://example.com/conference-status
17917-
status_callback_method:
17918-
type: string
17919-
enum:
17920-
- GET
17921-
- POST
17922-
description: The HTTP method to use when sending status events to the status callback URL.
17923-
examples:
17924-
- POST
17925-
recording_status_callback_event:
17926-
type: string
17927-
description: |-
17928-
Space-separated list of one or more events to send to the recording status callback URL.
17929-
Possible values: `in-progress`, `completed`, `absent`.
17930-
examples:
17931-
- completed
17932-
recording_status_callback_event_type:
17933-
type: string
17934-
enum:
17935-
- cxml
17936-
- laml
17937-
- relay
17938-
description: Content type for recording status callback requests.
17939-
examples:
17940-
- relay
17941-
recording_status_callback:
17942-
type: string
17943-
format: uri
17944-
description: HTTP or HTTPS URL to which recording status events will be sent.
17945-
examples:
17946-
- https://example.com/recording-status
17947-
recording_status_callback_method:
17948-
type: string
17949-
enum:
17950-
- GET
17951-
- POST
17952-
description: The HTTP method to use when sending recording status events to the recording status callback URL.
17953-
examples:
17954-
- POST
17955-
stream:
17956-
allOf:
17957-
- $ref: '#/components/schemas/Calling.ConferenceStreamParams'
17958-
description: Attach a bidirectional WebSocket stream to the conference audio.
17959-
required:
17960-
- name
17961-
unevaluatedProperties:
17962-
not: {}
17963-
description: An object of parameters that will be utilized by the active command.
17964-
unevaluatedProperties:
17965-
not: {}
17966-
description: |-
17967-
Join an ad-hoc audio conference. The conference is created automatically if it
17968-
does not already exist; multiple calls join the same conference by `name`.
17969-
Optionally attach a bidirectional WebSocket `stream` to the conference audio.
17970-
title: calling.join_conference
1797117776
Calling.CallLeg:
1797217777
type: object
1797317778
required:
@@ -18725,7 +18530,6 @@ components:
1872518530
- $ref: '#/components/schemas/Calling.CallTranscribeStopRequest'
1872618531
- $ref: '#/components/schemas/Calling.CallStreamRequest'
1872718532
- $ref: '#/components/schemas/Calling.CallStreamStopRequest'
18728-
- $ref: '#/components/schemas/Calling.CallJoinConferenceRequest'
1872918533
- $ref: '#/components/schemas/Calling.CallDenoiseRequest'
1873018534
- $ref: '#/components/schemas/Calling.CallDenoiseStopRequest'
1873118535
- $ref: '#/components/schemas/Calling.CallLiveTranscribeRequest'
@@ -18771,7 +18575,6 @@ components:
1877118575
calling.transcribe.stop: '#/components/schemas/Calling.CallTranscribeStopRequest'
1877218576
calling.stream: '#/components/schemas/Calling.CallStreamRequest'
1877318577
calling.stream.stop: '#/components/schemas/Calling.CallStreamStopRequest'
18774-
calling.join_conference: '#/components/schemas/Calling.CallJoinConferenceRequest'
1877518578
calling.denoise: '#/components/schemas/Calling.CallDenoiseRequest'
1877618579
calling.denoise.stop: '#/components/schemas/Calling.CallDenoiseStopRequest'
1877718580
calling.live_transcribe: '#/components/schemas/Calling.CallLiveTranscribeRequest'
@@ -18783,7 +18586,7 @@ components:
1878318586
calling.user_event: '#/components/schemas/Calling.CallUserEventRequest'
1878418587
description: |-
1878518588
Call request union for JSON-RPC style method dispatch. Use the `command` field to specify which call method to invoke.
18786-
All async-safe RELAY methods can be sent through this endpoint without a WebSocket connection.
18589+
Only the commands listed here are supported. Most operate on an already-active call; `dial` creates a new one. Commands return immediately; operations that continue asynchronously deliver their results to your `status_url` webhooks.
1878718590
Calling.CallResponse:
1878818591
anyOf:
1878918592
- $ref: '#/components/schemas/Calling.CallLeg'
@@ -19508,59 +19311,6 @@ components:
1950819311
unevaluatedProperties:
1950919312
not: {}
1951019313
description: Parameters for collecting speech input.
19511-
Calling.ConferenceStreamParams:
19512-
type: object
19513-
required:
19514-
- url
19515-
properties:
19516-
url:
19517-
type: string
19518-
format: uri
19519-
description: Secure WebSocket URL to stream conference audio to. Must start with `wss://` (TLS is required; plain `ws://` is rejected).
19520-
examples:
19521-
- wss://example.com/conference-audio
19522-
name:
19523-
type: string
19524-
description: Optional human-readable name to identify the stream at the endpoint.
19525-
examples:
19526-
- conference-audio
19527-
codec:
19528-
type: string
19529-
description: Audio codec to request. Freeform; endpoint-specific. Common values include `PCMU`, `PCMA`, `G722`, `L16`.
19530-
examples:
19531-
- PCMU
19532-
realtime:
19533-
type: boolean
19534-
description: When `true`, enables bidirectional audio so your endpoint can stream audio back into the conference (not just receive it).
19535-
examples:
19536-
- true
19537-
authorization_bearer_token:
19538-
type: string
19539-
description: 'Bearer token included as `Authorization: Bearer <token>` when establishing the WebSocket connection.'
19540-
examples:
19541-
- my-secret-token
19542-
custom_parameters:
19543-
type: object
19544-
unevaluatedProperties: {}
19545-
description: Arbitrary JSON object passed through to the WebSocket endpoint as connection metadata.
19546-
examples:
19547-
- session_id: abc123
19548-
status_url:
19549-
type: string
19550-
format: uri
19551-
description: HTTP or HTTPS URL that receives stream lifecycle webhooks.
19552-
examples:
19553-
- https://example.com/stream_callback
19554-
status_url_method:
19555-
allOf:
19556-
- $ref: '#/components/schemas/Calling.StreamStatusUrlMethod'
19557-
description: HTTP method used for the `status_url` webhook.
19558-
examples:
19559-
- POST
19560-
default: POST
19561-
unevaluatedProperties:
19562-
not: {}
19563-
description: Stream configuration for attaching a WebSocket stream to a conference.
1956419314
Calling.DetectConfig:
1956519315
type: object
1956619316
required:

specs/signalwire-rest/calling-api/calls/main.tsp

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace SignalWireAPI.Calling.Calls {
3131
@doc("""
3232
Unified JSON-RPC style endpoint for executing call methods through command-based dispatch.
3333
Send a request with the appropriate `command` field to invoke the desired call operation.
34-
All async-safe RELAY methods can be sent through this endpoint without a WebSocket connection.
34+
Only the commands listed below are supported. Most operate on an already-active call; `dial` creates a new one. All commands are sent over HTTP (no persistent WebSocket connection required) and return immediately; operations that continue asynchronously deliver their results to your `status_url` webhooks.
3535
3636
## Supported Commands
3737
@@ -45,7 +45,6 @@ namespace SignalWireAPI.Calling.Calls {
4545
| `calling.end` | Terminate an active call immediately |
4646
| `calling.transfer` | Transfer a call to a new destination (SIP URI, phone number, or inline SWML) |
4747
| `calling.disconnect` | Disconnect bridged calls without hanging up either leg |
48-
| `calling.join_conference` | Join the call to an ad-hoc audio conference, optionally attaching a WebSocket stream |
4948
| `calling.play` | Play audio, TTS, silence, or ringtone to a call |
5049
| `calling.play.pause` | Pause active playback |
5150
| `calling.play.resume` | Resume paused playback |
@@ -198,13 +197,6 @@ namespace SignalWireAPI.Calling.Calls {
198197
description: "Start background transcription on an active call",
199198
}
200199
)
201-
@opExample(
202-
#{ parameters: joinConferenceCallExample },
203-
#{
204-
title: "calling.join_conference",
205-
description: "Join a conference and attach a bidirectional WebSocket stream",
206-
}
207-
)
208200
@opExample(
209201
#{ parameters: tapStopCallExample },
210202
#{

specs/signalwire-rest/calling-api/calls/models/examples.tsp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -403,25 +403,6 @@ const streamStopCallExample = #{
403403
},
404404
};
405405

406-
// Conference examples
407-
const joinConferenceCallExample = #{
408-
request: #{
409-
command: "calling.join_conference",
410-
id: callId,
411-
params: #{
412-
name: "team_meeting",
413-
beep: "onEnter",
414-
start_on_enter: true,
415-
stream: #{
416-
url: "wss://example.com/conference-audio",
417-
codec: "PCMU",
418-
realtime: true,
419-
status_url: "https://example.com/stream-status",
420-
},
421-
},
422-
},
423-
};
424-
425406
// Denoise examples
426407
const denoiseCallExample = #{
427408
request: #{ command: "calling.denoise", id: callId, params: #{} },

0 commit comments

Comments
 (0)