Voice
Calls, legs, IVR, transfers, devices, presence and quality.
SDK-facing in-call operations: quality reporting, transfer, conference moderation.
SDK-facing Nexus Voice control plane (API-key authenticated). The tenant is ALWAYS the authenticated environment — never taken from the body. Grants, room, identity and caller-ID are all decided server-side.
POST /partner/voice/calls
POST 201 x-api-keyBody — CreateCallDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/calls' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"direction": "inbound",
"applicationId": "string",
"proxyIdentityId": "string"
}'POST /partner/voice/conference/mute
POST 200 x-api-keyBody — ConferenceMuteDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/conference/mute' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"legId": "string",
"muted": true
}'POST /partner/voice/conference/remove
POST 200 x-api-keyBody — ConferenceRemoveDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/conference/remove' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string",
"legId": "string"
}'POST /partner/voice/devices
POST 200 x-api-keyBody — RegisterDeviceDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/devices' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"identityId": "string",
"deviceId": "string",
"platform": "ios"
}'POST /partner/voice/dtmf
POST 202 x-api-keyBody — DtmfDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/dtmf' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string",
"legId": "string",
"digit": "string"
}'POST /partner/voice/ivr/advance
POST 200 x-api-keyBody — IvrStepDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/ivr/advance' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string"
}'POST /partner/voice/ivr/input
POST 200 x-api-keyBody — IvrInputDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/ivr/input' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string",
"digit": "string"
}'POST /partner/voice/ivr/start
POST 201 x-api-keyBody — StartIvrDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/ivr/start' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"flowId": "string"
}'POST /partner/voice/legs
POST 201 x-api-keyAdd a leg. For webrtc legs we ensure the media room and return a scoped join bundle (media token + TURN). SIP/PSTN legs are dialed by the media/carrier plane (Phase 3) — here the leg is created + fraud-authorized.
Body — AddLegDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/legs' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string",
"role": "caller",
"endpointType": "webrtc"
}'POST /partner/voice/legs/answer
POST 200 x-api-keyBody — LegActionDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/legs/answer' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"legId": "string"
}'POST /partner/voice/legs/hangup
POST 200 x-api-keyBody — HangupDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/legs/hangup' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"legId": "string"
}'POST /partner/voice/legs/hold
POST 200 x-api-keyBody — LegActionDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/legs/hold' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"legId": "string"
}'POST /partner/voice/legs/resume
POST 200 x-api-keyBody — LegActionDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/legs/resume' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"legId": "string"
}'POST /partner/voice/legs/ring
POST 200 x-api-keyBody — LegActionDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/legs/ring' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"legId": "string"
}'POST /partner/voice/presence
POST 200 x-api-keyBody — PresenceDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/presence' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"identityId": "string",
"deviceId": "string",
"status": "ONLINE"
}'POST /partner/voice/quality
POST 202 x-api-keyBody — QualityDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/quality' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string"
}'POST /partner/voice/transfer/blind
POST 200 x-api-keyBody — TransferBlindDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/transfer/blind' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string",
"legId": "string",
"targetType": "webrtc"
}'POST /partner/voice/transfer/warm/cancel
POST 200 x-api-keyBody — TransferWarmFinishDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/transfer/warm/cancel' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"otherPartyLegId": "string",
"legId": "string"
}'POST /partner/voice/transfer/warm/complete
POST 200 x-api-keyBody — TransferWarmFinishDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/transfer/warm/complete' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"otherPartyLegId": "string",
"legId": "string"
}'POST /partner/voice/transfer/warm/start
POST 200 x-api-keyBody — TransferWarmStartDto
Prop
Type
curl -X POST 'https://services.inverge.net/partner/voice/transfer/warm/start' \
-H 'x-api-key: nxs_live_xxx' \
-H 'content-type: application/json' \
-d '{
"sessionId": "string",
"otherPartyLegId": "string",
"targetType": "webrtc"
}'