Microsoft Power Virtual Agents Conversations API
The Conversations API from Microsoft Power Virtual Agents — 3 operation(s) for conversations.
The Conversations API from Microsoft Power Virtual Agents — 3 operation(s) for conversations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/microsoft-power-virtual-agents-conversations-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: Microsoft Copilot Studio Direct Line Conversations API
description: 'Direct Line API 3.0 endpoints used to connect a custom application to a Microsoft Copilot Studio (formerly Power Virtual Agents) agent. The flow: (1) GET the token endpoint exposed by the agent (Mobile app channel) to obtain a Direct Line token, (2) start a conversation against https://directline.botframework.com, (3) post Activity objects to the bot and (4) poll for activities returned by the bot.'
version: '3.0'
servers:
- url: https://directline.botframework.com
description: Direct Line 3.0 service used by Copilot Studio agents
security:
- bearer: []
tags:
- name: Conversations
paths:
/v3/directline/conversations:
post:
tags:
- Conversations
summary: Start a new conversation with the bot
operationId: startConversation
responses:
'201':
description: Conversation created
content:
application/json:
schema:
$ref: '#/components/schemas/Conversation'
/v3/directline/conversations/{conversationId}:
get:
tags:
- Conversations
summary: Reconnect to an existing conversation
operationId: getConversation
parameters:
- name: conversationId
in: path
required: true
schema:
type: string
- name: watermark
in: query
required: false
schema:
type: string
responses:
'200':
description: Conversation details
content:
application/json:
schema:
$ref: '#/components/schemas/Conversation'
/v3/directline/conversations/{conversationId}/activities:
get:
tags:
- Conversations
summary: Retrieve activities from the bot
description: Returns the ActivitySet of messages from both the user and the bot. Use the `watermark` query parameter to page through new activities.
operationId: getActivities
parameters:
- name: conversationId
in: path
required: true
schema:
type: string
- name: watermark
in: query
required: false
schema:
type: string
responses:
'200':
description: ActivitySet
content:
application/json:
schema:
$ref: '#/components/schemas/ActivitySet'
post:
tags:
- Conversations
summary: Send an activity to the bot
operationId: postActivity
parameters:
- name: conversationId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Activity'
responses:
'200':
description: Resource response with activity id
content:
application/json:
schema:
type: object
properties:
id:
type: string
components:
schemas:
ActivitySet:
type: object
properties:
activities:
type: array
items:
$ref: '#/components/schemas/Activity'
watermark:
type: string
Activity:
type: object
properties:
type:
type: string
example: message
from:
type: object
properties:
id:
type: string
name:
type: string
text:
type: string
textFormat:
type: string
example: plain
locale:
type: string
Conversation:
type: object
properties:
conversationId:
type: string
token:
type: string
expires_in:
type: integer
streamUrl:
type: string
format: uri
referenceGrammarId:
type: string
securitySchemes:
bearer:
type: http
scheme: bearer
bearerFormat: JWT
description: Direct Line authentication uses either a long-lived secret or a short-lived token. Supply the value in the Authorization header as `Bearer {secret-or-token}`.
x-generated-from: https://learn.microsoft.com/en-us/microsoft-copilot-studio/publication-connect-bot-to-custom-application
x-generated-by: claude-genwave10-08-2026-05-23