Azure Durable Functions · Capability
Azure Durable Functions HTTP API
The Azure Durable Functions extension exposes built-in HTTP APIs for managing orchestrations, entities, and task hubs. These HTTP APIs are extensibility webhooks authorized by the Azure Functions host and handled by the Durable Functions extension. Use them to start orchestrations, query status, raise events, terminate, suspend, resume, rewind, signal entities, and purge history.
What You Can Do
POST
Startorchestration
— Start orchestration
/runtime/webhooks/durabletask/orchestrators/{functionName}
POST
Startorchestrationwithid
— Start orchestration with explicit instance ID
/runtime/webhooks/durabletask/orchestrators/{functionName}/{instanceId}
GET
Listinstances
— List instances
/runtime/webhooks/durabletask/instances
DELETE
Purgeinstances
— Purge multiple instance histories
/runtime/webhooks/durabletask/instances
GET
Getinstancestatus
— Get instance status
/runtime/webhooks/durabletask/instances/{instanceId}
DELETE
Purgeinstance
— Purge single instance history
/runtime/webhooks/durabletask/instances/{instanceId}
POST
Raiseevent
— Raise event
/runtime/webhooks/durabletask/instances/{instanceId}/raiseEvent/{eventName}
POST
Terminateinstance
— Terminate instance
/runtime/webhooks/durabletask/instances/{instanceId}/terminate
POST
Suspendinstance
— Suspend instance
/runtime/webhooks/durabletask/instances/{instanceId}/suspend
POST
Resumeinstance
— Resume instance
/runtime/webhooks/durabletask/instances/{instanceId}/resume
POST
Rewindinstance
— Rewind instance (preview)
/runtime/webhooks/durabletask/instances/{instanceId}/rewind
GET
Getentity
— Get entity
/runtime/webhooks/durabletask/entities/{entityName}/{entityKey}
POST
Signalentity
— Signal entity
/runtime/webhooks/durabletask/entities/{entityName}/{entityKey}
GET
Listentities
— List entities
/runtime/webhooks/durabletask/entities/{entityName}
MCP Tools
startorchestration
Start orchestration
startorchestrationwithid
Start orchestration with explicit instance ID
listinstances
List instances
read-only
idempotent
purgeinstances
Purge multiple instance histories
idempotent
getinstancestatus
Get instance status
read-only
idempotent
purgeinstance
Purge single instance history
idempotent
raiseevent
Raise event
terminateinstance
Terminate instance
suspendinstance
Suspend instance
resumeinstance
Resume instance
rewindinstance
Rewind instance (preview)
getentity
Get entity
read-only
idempotent
signalentity
Signal entity
listentities
List entities
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Azure Durable Functions HTTP API
description: The Azure Durable Functions extension exposes built-in HTTP APIs for managing orchestrations, entities, and
task hubs. These HTTP APIs are extensibility webhooks authorized by the Azure Functions host and handled by the Durable
Functions extension. Use them to start orchestrations, query status, raise events, terminate, suspend, resume, rewind,
signal entities, and purge history.
tags:
- Durable
- Functions
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: durable-functions
baseUri: https://myfuncapp.azurewebsites.net
description: Azure Durable Functions HTTP API HTTP API.
authentication:
type: apikey
in: query
name: code
value: '{{DURABLE_FUNCTIONS_TOKEN}}'
resources:
- name: runtime-webhooks-durabletask-orchestrators-funct
path: /runtime/webhooks/durabletask/orchestrators/{functionName}
operations:
- name: startorchestration
method: POST
description: Start orchestration
inputParameters:
- name: functionName
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-orchestrators-funct
path: /runtime/webhooks/durabletask/orchestrators/{functionName}/{instanceId}
operations:
- name: startorchestrationwithid
method: POST
description: Start orchestration with explicit instance ID
inputParameters:
- name: functionName
in: path
type: string
required: true
- name: instanceId
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-instances
path: /runtime/webhooks/durabletask/instances
operations:
- name: listinstances
method: GET
description: List instances
inputParameters:
- name: createdTimeFrom
in: query
type: string
- name: createdTimeTo
in: query
type: string
- name: runtimeStatus
in: query
type: string
- name: instanceIdPrefix
in: query
type: string
- name: showInput
in: query
type: boolean
- name: top
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: purgeinstances
method: DELETE
description: Purge multiple instance histories
inputParameters:
- name: createdTimeFrom
in: query
type: string
- name: createdTimeTo
in: query
type: string
- name: runtimeStatus
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-instances-instancei
path: /runtime/webhooks/durabletask/instances/{instanceId}
operations:
- name: getinstancestatus
method: GET
description: Get instance status
inputParameters:
- name: showHistory
in: query
type: boolean
- name: showHistoryOutput
in: query
type: boolean
- name: showInput
in: query
type: boolean
- name: returnInternalServerErrorOnFailure
in: query
type: boolean
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: purgeinstance
method: DELETE
description: Purge single instance history
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-instances-instancei
path: /runtime/webhooks/durabletask/instances/{instanceId}/raiseEvent/{eventName}
operations:
- name: raiseevent
method: POST
description: Raise event
inputParameters:
- name: instanceId
in: path
type: string
required: true
- name: eventName
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-instances-instancei
path: /runtime/webhooks/durabletask/instances/{instanceId}/terminate
operations:
- name: terminateinstance
method: POST
description: Terminate instance
inputParameters:
- name: instanceId
in: path
type: string
required: true
- name: reason
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-instances-instancei
path: /runtime/webhooks/durabletask/instances/{instanceId}/suspend
operations:
- name: suspendinstance
method: POST
description: Suspend instance
inputParameters:
- name: instanceId
in: path
type: string
required: true
- name: reason
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-instances-instancei
path: /runtime/webhooks/durabletask/instances/{instanceId}/resume
operations:
- name: resumeinstance
method: POST
description: Resume instance
inputParameters:
- name: instanceId
in: path
type: string
required: true
- name: reason
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-instances-instancei
path: /runtime/webhooks/durabletask/instances/{instanceId}/rewind
operations:
- name: rewindinstance
method: POST
description: Rewind instance (preview)
inputParameters:
- name: instanceId
in: path
type: string
required: true
- name: reason
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-entities-entityname
path: /runtime/webhooks/durabletask/entities/{entityName}/{entityKey}
operations:
- name: getentity
method: GET
description: Get entity
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: signalentity
method: POST
description: Signal entity
inputParameters:
- name: op
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: runtime-webhooks-durabletask-entities-entityname
path: /runtime/webhooks/durabletask/entities/{entityName}
operations:
- name: listentities
method: GET
description: List entities
inputParameters:
- name: entityName
in: path
type: string
required: true
- name: lastOperationTimeFrom
in: query
type: string
- name: lastOperationTimeTo
in: query
type: string
- name: fetchState
in: query
type: boolean
- name: top
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: durable-functions-rest
description: REST adapter for Azure Durable Functions HTTP API.
resources:
- path: /runtime/webhooks/durabletask/orchestrators/{functionName}
name: startorchestration
operations:
- method: POST
name: startorchestration
description: Start orchestration
call: durable-functions.startorchestration
with:
functionName: rest.functionName
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/orchestrators/{functionName}/{instanceId}
name: startorchestrationwithid
operations:
- method: POST
name: startorchestrationwithid
description: Start orchestration with explicit instance ID
call: durable-functions.startorchestrationwithid
with:
functionName: rest.functionName
instanceId: rest.instanceId
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances
name: listinstances
operations:
- method: GET
name: listinstances
description: List instances
call: durable-functions.listinstances
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances
name: purgeinstances
operations:
- method: DELETE
name: purgeinstances
description: Purge multiple instance histories
call: durable-functions.purgeinstances
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances/{instanceId}
name: getinstancestatus
operations:
- method: GET
name: getinstancestatus
description: Get instance status
call: durable-functions.getinstancestatus
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances/{instanceId}
name: purgeinstance
operations:
- method: DELETE
name: purgeinstance
description: Purge single instance history
call: durable-functions.purgeinstance
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances/{instanceId}/raiseEvent/{eventName}
name: raiseevent
operations:
- method: POST
name: raiseevent
description: Raise event
call: durable-functions.raiseevent
with:
instanceId: rest.instanceId
eventName: rest.eventName
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances/{instanceId}/terminate
name: terminateinstance
operations:
- method: POST
name: terminateinstance
description: Terminate instance
call: durable-functions.terminateinstance
with:
instanceId: rest.instanceId
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances/{instanceId}/suspend
name: suspendinstance
operations:
- method: POST
name: suspendinstance
description: Suspend instance
call: durable-functions.suspendinstance
with:
instanceId: rest.instanceId
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances/{instanceId}/resume
name: resumeinstance
operations:
- method: POST
name: resumeinstance
description: Resume instance
call: durable-functions.resumeinstance
with:
instanceId: rest.instanceId
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/instances/{instanceId}/rewind
name: rewindinstance
operations:
- method: POST
name: rewindinstance
description: Rewind instance (preview)
call: durable-functions.rewindinstance
with:
instanceId: rest.instanceId
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/entities/{entityName}/{entityKey}
name: getentity
operations:
- method: GET
name: getentity
description: Get entity
call: durable-functions.getentity
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/entities/{entityName}/{entityKey}
name: signalentity
operations:
- method: POST
name: signalentity
description: Signal entity
call: durable-functions.signalentity
outputParameters:
- type: object
mapping: $.
- path: /runtime/webhooks/durabletask/entities/{entityName}
name: listentities
operations:
- method: GET
name: listentities
description: List entities
call: durable-functions.listentities
with:
entityName: rest.entityName
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: durable-functions-mcp
transport: http
description: MCP adapter for Azure Durable Functions HTTP API for AI agent use.
tools:
- name: startorchestration
description: Start orchestration
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.startorchestration
with:
functionName: tools.functionName
inputParameters:
- name: functionName
type: string
description: functionName
required: true
outputParameters:
- type: object
mapping: $.
- name: startorchestrationwithid
description: Start orchestration with explicit instance ID
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.startorchestrationwithid
with:
functionName: tools.functionName
instanceId: tools.instanceId
inputParameters:
- name: functionName
type: string
description: functionName
required: true
- name: instanceId
type: string
description: instanceId
required: true
outputParameters:
- type: object
mapping: $.
- name: listinstances
description: List instances
hints:
readOnly: true
destructive: false
idempotent: true
call: durable-functions.listinstances
with:
createdTimeFrom: tools.createdTimeFrom
createdTimeTo: tools.createdTimeTo
runtimeStatus: tools.runtimeStatus
instanceIdPrefix: tools.instanceIdPrefix
showInput: tools.showInput
top: tools.top
inputParameters:
- name: createdTimeFrom
type: string
description: createdTimeFrom
- name: createdTimeTo
type: string
description: createdTimeTo
- name: runtimeStatus
type: string
description: runtimeStatus
- name: instanceIdPrefix
type: string
description: instanceIdPrefix
- name: showInput
type: boolean
description: showInput
- name: top
type: integer
description: top
outputParameters:
- type: object
mapping: $.
- name: purgeinstances
description: Purge multiple instance histories
hints:
readOnly: false
destructive: true
idempotent: true
call: durable-functions.purgeinstances
with:
createdTimeFrom: tools.createdTimeFrom
createdTimeTo: tools.createdTimeTo
runtimeStatus: tools.runtimeStatus
inputParameters:
- name: createdTimeFrom
type: string
description: createdTimeFrom
- name: createdTimeTo
type: string
description: createdTimeTo
- name: runtimeStatus
type: string
description: runtimeStatus
outputParameters:
- type: object
mapping: $.
- name: getinstancestatus
description: Get instance status
hints:
readOnly: true
destructive: false
idempotent: true
call: durable-functions.getinstancestatus
with:
showHistory: tools.showHistory
showHistoryOutput: tools.showHistoryOutput
showInput: tools.showInput
returnInternalServerErrorOnFailure: tools.returnInternalServerErrorOnFailure
inputParameters:
- name: showHistory
type: boolean
description: showHistory
- name: showHistoryOutput
type: boolean
description: showHistoryOutput
- name: showInput
type: boolean
description: showInput
- name: returnInternalServerErrorOnFailure
type: boolean
description: returnInternalServerErrorOnFailure
outputParameters:
- type: object
mapping: $.
- name: purgeinstance
description: Purge single instance history
hints:
readOnly: false
destructive: true
idempotent: true
call: durable-functions.purgeinstance
outputParameters:
- type: object
mapping: $.
- name: raiseevent
description: Raise event
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.raiseevent
with:
instanceId: tools.instanceId
eventName: tools.eventName
inputParameters:
- name: instanceId
type: string
description: instanceId
required: true
- name: eventName
type: string
description: eventName
required: true
outputParameters:
- type: object
mapping: $.
- name: terminateinstance
description: Terminate instance
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.terminateinstance
with:
instanceId: tools.instanceId
reason: tools.reason
inputParameters:
- name: instanceId
type: string
description: instanceId
required: true
- name: reason
type: string
description: reason
outputParameters:
- type: object
mapping: $.
- name: suspendinstance
description: Suspend instance
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.suspendinstance
with:
instanceId: tools.instanceId
reason: tools.reason
inputParameters:
- name: instanceId
type: string
description: instanceId
required: true
- name: reason
type: string
description: reason
outputParameters:
- type: object
mapping: $.
- name: resumeinstance
description: Resume instance
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.resumeinstance
with:
instanceId: tools.instanceId
reason: tools.reason
inputParameters:
- name: instanceId
type: string
description: instanceId
required: true
- name: reason
type: string
description: reason
outputParameters:
- type: object
mapping: $.
- name: rewindinstance
description: Rewind instance (preview)
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.rewindinstance
with:
instanceId: tools.instanceId
reason: tools.reason
inputParameters:
- name: instanceId
type: string
description: instanceId
required: true
- name: reason
type: string
description: reason
outputParameters:
- type: object
mapping: $.
- name: getentity
description: Get entity
hints:
readOnly: true
destructive: false
idempotent: true
call: durable-functions.getentity
outputParameters:
- type: object
mapping: $.
- name: signalentity
description: Signal entity
hints:
readOnly: false
destructive: false
idempotent: false
call: durable-functions.signalentity
with:
op: tools.op
inputParameters:
- name: op
type: string
description: op
outputParameters:
- type: object
mapping: $.
- name: listentities
description: List entities
hints:
readOnly: true
destructive: false
idempotent: true
call: durable-functions.listentities
with:
entityName: tools.entityName
lastOperationTimeFrom: tools.lastOperationTimeFrom
lastOperationTimeTo: tools.lastOperationTimeTo
fetchState: tools.fetchState
top: tools.top
inputParameters:
- name: entityName
type: string
description: entityName
required: true
- name: lastOperationTimeFrom
type: string
description: lastOperationTimeFrom
- name: lastOperationTimeTo
type: string
description: lastOperationTimeTo
- name: fetchState
type: boolean
description: fetchState
- name: top
type: integer
description: top
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
DURABLE_FUNCTIONS_TOKEN: DURABLE_FUNCTIONS_TOKEN