Pulumi · Capability
Pulumi APIs — AI Agents
Pulumi APIs — AI Agents. 8 operations. Lead operation: ListTasks. Self-contained Naftiko capability covering one Pulumi business surface.
What You Can Do
GET
Listtasks
— ListTasks
/v1/agents/{orgname}/tasks
POST
Createtasks
— CreateTasks
/v1/agents/{orgname}/tasks
GET
Gettask
— GetTask
/v1/agents/{orgname}/tasks/{taskid}
PATCH
Updatetask
— UpdateTask
/v1/agents/{orgname}/tasks/{taskid}
POST
Respondtotask
— RespondToTask
/v1/agents/{orgname}/tasks/{taskid}
POST
Canceltask
— CancelTask
/v1/agents/{orgname}/tasks/{taskid}/cancel
GET
Gettaskevents
— GetTaskEvents
/v1/agents/{orgname}/tasks/{taskid}/events
GET
Streamtaskevents
— StreamTaskEvents
/v1/agents/{orgname}/tasks/{taskid}/events/stream
MCP Tools
listtasks
ListTasks
read-only
idempotent
createtasks
CreateTasks
gettask
GetTask
read-only
idempotent
updatetask
UpdateTask
idempotent
respondtotask
RespondToTask
canceltask
CancelTask
gettaskevents
GetTaskEvents
read-only
idempotent
streamtaskevents
StreamTaskEvents
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Pulumi APIs — AI Agents
description: 'Pulumi APIs — AI Agents. 8 operations. Lead operation: ListTasks. Self-contained Naftiko capability covering
one Pulumi business surface.'
tags:
- Pulumi
- AI Agents
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
PULUMI_API_KEY: PULUMI_API_KEY
capability:
consumes:
- type: http
namespace: pulumi-ai-agents
baseUri: ''
description: Pulumi APIs — AI Agents business capability. Self-contained, no shared references.
resources:
- name: api-preview-agents-orgName-tasks
path: /api/preview/agents/{orgName}/tasks
operations:
- name: listtasks
method: GET
description: ListTasks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: continuationToken
in: query
type: string
description: Token for retrieving the next page of results
- name: pageSize
in: query
type: integer
description: Number of results per page
- name: sortBy
in: query
type: string
description: Field to sort the results by. Defaults to lastEvent.
- name: sortDirection
in: query
type: string
description: Direction to sort the results in. Defaults to desc.
- name: taskType
in: query
type: string
description: Task type to filter by
- name: createtasks
method: POST
description: CreateTasks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-preview-agents-orgName-tasks-taskID
path: /api/preview/agents/{orgName}/tasks/{taskID}
operations:
- name: gettask
method: GET
description: GetTask
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: taskID
in: path
type: string
description: The agent task identifier
required: true
- name: updatetask
method: PATCH
description: UpdateTask
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: taskID
in: path
type: string
description: The agent task identifier
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: respondtotask
method: POST
description: RespondToTask
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: taskID
in: path
type: string
description: The agent task identifier
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-preview-agents-orgName-tasks-taskID-cancel
path: /api/preview/agents/{orgName}/tasks/{taskID}/cancel
operations:
- name: canceltask
method: POST
description: CancelTask
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: taskID
in: path
type: string
description: The agent task identifier
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-preview-agents-orgName-tasks-taskID-events
path: /api/preview/agents/{orgName}/tasks/{taskID}/events
operations:
- name: gettaskevents
method: GET
description: GetTaskEvents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: taskID
in: path
type: string
description: The agent task identifier
required: true
- name: continuationToken
in: query
type: string
description: Token for retrieving the next page of results
- name: pageSize
in: query
type: integer
description: Number of results per page
- name: api-preview-agents-orgName-tasks-taskID-events-stream
path: /api/preview/agents/{orgName}/tasks/{taskID}/events/stream
operations:
- name: streamtaskevents
method: GET
description: StreamTaskEvents
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgName
in: path
type: string
description: The organization name
required: true
- name: taskID
in: path
type: string
description: The agent task identifier
required: true
exposes:
- type: rest
namespace: pulumi-ai-agents-rest
port: 8080
description: REST adapter for Pulumi APIs — AI Agents. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/agents/{orgname}/tasks
name: api-preview-agents-orgname-tasks
description: REST surface for api-preview-agents-orgName-tasks.
operations:
- method: GET
name: listtasks
description: ListTasks
call: pulumi-ai-agents.listtasks
with:
orgName: rest.orgName
continuationToken: rest.continuationToken
pageSize: rest.pageSize
sortBy: rest.sortBy
sortDirection: rest.sortDirection
taskType: rest.taskType
outputParameters:
- type: object
mapping: $.
- method: POST
name: createtasks
description: CreateTasks
call: pulumi-ai-agents.createtasks
with:
orgName: rest.orgName
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/agents/{orgname}/tasks/{taskid}
name: api-preview-agents-orgname-tasks-taskid
description: REST surface for api-preview-agents-orgName-tasks-taskID.
operations:
- method: GET
name: gettask
description: GetTask
call: pulumi-ai-agents.gettask
with:
orgName: rest.orgName
taskID: rest.taskID
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatetask
description: UpdateTask
call: pulumi-ai-agents.updatetask
with:
orgName: rest.orgName
taskID: rest.taskID
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: POST
name: respondtotask
description: RespondToTask
call: pulumi-ai-agents.respondtotask
with:
orgName: rest.orgName
taskID: rest.taskID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/agents/{orgname}/tasks/{taskid}/cancel
name: api-preview-agents-orgname-tasks-taskid-cancel
description: REST surface for api-preview-agents-orgName-tasks-taskID-cancel.
operations:
- method: POST
name: canceltask
description: CancelTask
call: pulumi-ai-agents.canceltask
with:
orgName: rest.orgName
taskID: rest.taskID
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/agents/{orgname}/tasks/{taskid}/events
name: api-preview-agents-orgname-tasks-taskid-events
description: REST surface for api-preview-agents-orgName-tasks-taskID-events.
operations:
- method: GET
name: gettaskevents
description: GetTaskEvents
call: pulumi-ai-agents.gettaskevents
with:
orgName: rest.orgName
taskID: rest.taskID
continuationToken: rest.continuationToken
pageSize: rest.pageSize
outputParameters:
- type: object
mapping: $.
- path: /v1/agents/{orgname}/tasks/{taskid}/events/stream
name: api-preview-agents-orgname-tasks-taskid-events-stream
description: REST surface for api-preview-agents-orgName-tasks-taskID-events-stream.
operations:
- method: GET
name: streamtaskevents
description: StreamTaskEvents
call: pulumi-ai-agents.streamtaskevents
with:
orgName: rest.orgName
taskID: rest.taskID
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: pulumi-ai-agents-mcp
port: 9090
transport: http
description: MCP adapter for Pulumi APIs — AI Agents. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: listtasks
description: ListTasks
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-ai-agents.listtasks
with:
orgName: tools.orgName
continuationToken: tools.continuationToken
pageSize: tools.pageSize
sortBy: tools.sortBy
sortDirection: tools.sortDirection
taskType: tools.taskType
outputParameters:
- type: object
mapping: $.
- name: createtasks
description: CreateTasks
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-ai-agents.createtasks
with:
orgName: tools.orgName
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: gettask
description: GetTask
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-ai-agents.gettask
with:
orgName: tools.orgName
taskID: tools.taskID
outputParameters:
- type: object
mapping: $.
- name: updatetask
description: UpdateTask
hints:
readOnly: false
destructive: false
idempotent: true
call: pulumi-ai-agents.updatetask
with:
orgName: tools.orgName
taskID: tools.taskID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: respondtotask
description: RespondToTask
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-ai-agents.respondtotask
with:
orgName: tools.orgName
taskID: tools.taskID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: canceltask
description: CancelTask
hints:
readOnly: false
destructive: false
idempotent: false
call: pulumi-ai-agents.canceltask
with:
orgName: tools.orgName
taskID: tools.taskID
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: gettaskevents
description: GetTaskEvents
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-ai-agents.gettaskevents
with:
orgName: tools.orgName
taskID: tools.taskID
continuationToken: tools.continuationToken
pageSize: tools.pageSize
outputParameters:
- type: object
mapping: $.
- name: streamtaskevents
description: StreamTaskEvents
hints:
readOnly: true
destructive: false
idempotent: true
call: pulumi-ai-agents.streamtaskevents
with:
orgName: tools.orgName
taskID: tools.taskID
outputParameters:
- type: object
mapping: $.