Microsoft Azure · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Microsoft Azure Azure Communication Service Call Automation…
12 actions
12 updates
phrasing
extends
openapi/microsoft-azure-midconnections-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Microsoft Azure's API. It is a proposal applied on top of the contract, not a document Microsoft Azure publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/calling/callConnections/{callConnectionId}'].get
$.paths['/calling/callConnections/{callConnectionId}'].delete
$.paths['/calling/callConnections/{callConnectionId}:terminate'].post
$.paths['/calling/callConnections/{callConnectionId}:transferToParticipant'].post
$.paths['/calling/callConnections/{callConnectionId}:play'].post
$.paths['/calling/callConnections/{callConnectionId}:cancelAllMediaOperations'].post
$.paths['/calling/callConnections/{callConnectionId}:recognize'].post
$.paths['/calling/callConnections/{callConnectionId}/participants'].get
$.paths['/calling/callConnections/{callConnectionId}/participants:add'].post
$.paths['/calling/callConnections/{callConnectionId}/participants:remove'].post
$.paths['/calling/callConnections/{callConnectionId}/participants/{participantMri}'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Microsoft Azure Azure Communication Service Call Automation…
version: 1.0.0
extends: openapi/microsoft-azure-midconnections-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 11
- target: $.paths['/calling/callConnections/{callConnectionId}'].get
update:
x-apievangelist-phrasing:
intent: Get details of a call connection
effect: read
questions:
- How do I look up the current state of an active call connection?
- What information can I read about a call by its connection ID?
instructions:
- text: Get call connection {callConnectionId}.
slots:
callConnectionId: path.callConnectionId
- text: Show the details of the call {callConnectionId}.
slots:
callConnectionId: path.callConnectionId
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}'].delete
update:
x-apievangelist-phrasing:
intent: Hang up a call
effect: destructive
questions:
- How do I hang up my leg of a call without ending it for everyone?
- Can my app simply drop off an ongoing call connection?
instructions:
- text: Hang up call connection {callConnectionId}.
slots:
callConnectionId: path.callConnectionId
- text: Leave the call {callConnectionId} by hanging up.
slots:
callConnectionId: path.callConnectionId
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}:terminate'].post
update:
x-apievangelist-phrasing:
intent: Terminate a call for all participants
effect: destructive
questions:
- How do I end a call entirely using its call connection ID?
- Can I make the terminate request idempotent with a repeatability request ID?
instructions:
- text: Terminate call {callConnectionId} for everyone.
slots:
callConnectionId: path.callConnectionId
- text: End call {callConnectionId} with repeatability request ID {requestId}.
slots:
callConnectionId: path.callConnectionId
requestId: header.Repeatability-Request-ID
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}:transferToParticipant'].post
update:
x-apievangelist-phrasing:
intent: Transfer a call to another participant
effect: write
questions:
- How do I transfer an active call to a different phone number or user?
- Can I pass user-to-user information along when transferring a call?
instructions:
- text: Transfer call {callConnectionId} to {targetParticipant}.
slots:
callConnectionId: path.callConnectionId
targetParticipant: requestBody.targetParticipant
- text: Transfer call {callConnectionId} to {targetParticipant} showing caller ID {transfereeCallerId}.
slots:
callConnectionId: path.callConnectionId
targetParticipant: requestBody.targetParticipant
transfereeCallerId: requestBody.transfereeCallerId
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}:play'].post
update:
x-apievangelist-phrasing:
intent: Play audio to call participants
effect: write
questions:
- How do I play a prompt or audio file to people on a call?
- Can I play audio to only some participants instead of everyone on the call?
instructions:
- text: Play {playSourceInfo} into call {callConnectionId}.
slots:
playSourceInfo: requestBody.playSourceInfo
callConnectionId: path.callConnectionId
- text: Play {playSourceInfo} on call {callConnectionId} only to {playTo}.
slots:
playSourceInfo: requestBody.playSourceInfo
callConnectionId: path.callConnectionId
playTo: requestBody.playTo
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}:cancelAllMediaOperations'].post
update:
x-apievangelist-phrasing:
intent: Cancel all media operations in a call
effect: destructive
questions:
- How do I stop any audio playback or recognition that is running on a call?
- Can I cancel every pending media action on a call at once?
instructions:
- text: Cancel all media operations on call {callConnectionId}.
slots:
callConnectionId: path.callConnectionId
- text: Stop every playback and recognize action running in call {callConnectionId}.
slots:
callConnectionId: path.callConnectionId
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}:recognize'].post
update:
x-apievangelist-phrasing:
intent: Recognize caller input on a call
effect: write
questions:
- How do I collect DTMF tones or other input from a caller?
- Can I play a prompt and then gather what the caller enters?
instructions:
- text: Recognize {recognizeInputType} input on call {callConnectionId} with options {recognizeOptions}.
slots:
recognizeInputType: requestBody.recognizeInputType
callConnectionId: path.callConnectionId
recognizeOptions: requestBody.recognizeOptions
- text: Play {playPrompt} then gather {recognizeInputType} input on call {callConnectionId} using {recognizeOptions}.
slots:
playPrompt: requestBody.playPrompt
recognizeInputType: requestBody.recognizeInputType
callConnectionId: path.callConnectionId
recognizeOptions: requestBody.recognizeOptions
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}/participants'].get
update:
x-apievangelist-phrasing:
intent: List participants on a call
effect: read
questions:
- Who is currently on this call?
- How do I get everyone connected to a call connection?
instructions:
- text: List the participants on call {callConnectionId}.
slots:
callConnectionId: path.callConnectionId
- text: Show everyone connected to call {callConnectionId}.
slots:
callConnectionId: path.callConnectionId
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}/participants:add'].post
update:
x-apievangelist-phrasing:
intent: Add participants to a call
effect: write
questions:
- How do I dial another person into an ongoing call?
- Can I set how long to wait for an added participant to answer?
instructions:
- text: Add {participantsToAdd} to call {callConnectionId}.
slots:
participantsToAdd: requestBody.participantsToAdd
callConnectionId: path.callConnectionId
- text: Invite {participantsToAdd} into call {callConnectionId} with a {invitationTimeoutInSeconds}-second timeout.
slots:
participantsToAdd: requestBody.participantsToAdd
callConnectionId: path.callConnectionId
invitationTimeoutInSeconds: requestBody.invitationTimeoutInSeconds
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}/participants:remove'].post
update:
x-apievangelist-phrasing:
intent: Remove participants from a call
effect: write
questions:
- How do I kick someone out of a call using their identifier?
- Can I remove several participants from a call in one request?
instructions:
- text: Remove {participantsToRemove} from call {callConnectionId}.
slots:
participantsToRemove: requestBody.participantsToRemove
callConnectionId: path.callConnectionId
- text: Drop participant {participantsToRemove} off call {callConnectionId}.
slots:
participantsToRemove: requestBody.participantsToRemove
callConnectionId: path.callConnectionId
method: generated
generated: '2026-09-26'
- target: $.paths['/calling/callConnections/{callConnectionId}/participants/{participantMri}'].get
update:
x-apievangelist-phrasing:
intent: Get one participant on a call
effect: read
questions:
- How do I check the status of a specific participant on a call?
- Is a particular user still connected to the call?
instructions:
- text: Get participant {participantMri} on call {callConnectionId}.
slots:
participantMri: path.participantMri
callConnectionId: path.callConnectionId
- text: Check whether {participantMri} is still on call {callConnectionId}.
slots:
participantMri: path.participantMri
callConnectionId: path.callConnectionId
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/microsoft-azure-midconnections-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.