VTEX · Capability
VTEX Do API — Task
VTEX Do API — Task. 5 operations. Lead operation: VTex Create Task. Self-contained Naftiko capability covering one Vtex business surface.
What You Can Do
POST
Newtask
— VTex Create Task
/v1/tasks
GET
Listtasksbyassignee
— VTex List tasks
/v1/tasks
GET
Gettask
— VTex Retrieve Task
/v1/tasks/{taskid}
PUT
Edittask
— VTex Update Task
/v1/tasks/{taskid}
POST
Addcomment
— VTex Add Comment on a Task
/v1/tasks/{taskid}/comments
MCP Tools
vtex-create-task
VTex Create Task
vtex-list-tasks
VTex List tasks
read-only
idempotent
vtex-retrieve-task
VTex Retrieve Task
read-only
idempotent
vtex-update-task
VTex Update Task
idempotent
vtex-add-comment-task
VTex Add Comment on a Task
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: VTEX Do API — Task
description: 'VTEX Do API — Task. 5 operations. Lead operation: VTex Create Task. Self-contained Naftiko capability covering
one Vtex business surface.'
tags:
- Vtex
- Task
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
VTEX_API_KEY: VTEX_API_KEY
capability:
consumes:
- type: http
namespace: do-task
baseUri: https://{accountName}.{environment}.com.br/api/do
description: VTEX Do API — Task business capability. Self-contained, no shared references.
resources:
- name: tasks
path: /tasks
operations:
- name: newtask
method: POST
description: VTex Create Task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Content-Type
in: header
type: string
description: Type of the content being sent.
required: true
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: listtasksbyassignee
method: GET
description: VTex List tasks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: assignee.email
in: query
type: string
description: If you wish to list tasks by assignee, insert the desired assignee's email and status.
- name: target.id
in: query
type: string
description: If you wish to list tasks by target, insert the desired `targetId` and `status`.
- name: context
in: query
type: string
description: If you wish to list tasks by context, insert the desired context, `page`, `perPage` and `status`.
- name: page
in: query
type: string
description: If you wish to list tasks by context, also insert the desired `page`.
- name: perPage
in: query
type: string
description: If you wish to list tasks by context, also insert the desired `perPage` value.
- name: status
in: query
type: string
description: If you wish to list tasks by context, also insert the desired `status`.
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: Content-Type
in: header
type: string
description: Type of the content being sent.
required: true
- name: tasks-taskId
path: /tasks/{taskId}
operations:
- name: gettask
method: GET
description: VTex Retrieve Task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: Content-Type
in: header
type: string
description: Type of the content being sent.
required: true
- name: taskId
in: path
type: string
description: Task ID.
required: true
- name: edittask
method: PUT
description: VTex Update Task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: Content-Type
in: header
type: string
description: Type of the content being sent.
required: true
- name: taskId
in: path
type: string
description: Task ID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: tasks-taskId-comments
path: /tasks/{taskId}/comments
operations:
- name: addcomment
method: POST
description: VTex Add Comment on a Task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
required: true
- name: Content-Type
in: header
type: string
description: Type of the content being sent.
required: true
- name: taskId
in: path
type: string
description: Task ID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-VTEX-API-AppKey
value: '{{env.VTEX_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: do-task-rest
port: 8080
description: REST adapter for VTEX Do API — Task. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/tasks
name: tasks
description: REST surface for tasks.
operations:
- method: POST
name: newtask
description: VTex Create Task
call: do-task.newtask
with:
Content-Type: rest.Content-Type
Accept: rest.Accept
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: listtasksbyassignee
description: VTex List tasks
call: do-task.listtasksbyassignee
with:
assignee.email: rest.assignee.email
target.id: rest.target.id
context: rest.context
page: rest.page
perPage: rest.perPage
status: rest.status
Accept: rest.Accept
Content-Type: rest.Content-Type
outputParameters:
- type: object
mapping: $.
- path: /v1/tasks/{taskid}
name: tasks-taskid
description: REST surface for tasks-taskId.
operations:
- method: GET
name: gettask
description: VTex Retrieve Task
call: do-task.gettask
with:
Accept: rest.Accept
Content-Type: rest.Content-Type
taskId: rest.taskId
outputParameters:
- type: object
mapping: $.
- method: PUT
name: edittask
description: VTex Update Task
call: do-task.edittask
with:
Accept: rest.Accept
Content-Type: rest.Content-Type
taskId: rest.taskId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/tasks/{taskid}/comments
name: tasks-taskid-comments
description: REST surface for tasks-taskId-comments.
operations:
- method: POST
name: addcomment
description: VTex Add Comment on a Task
call: do-task.addcomment
with:
Accept: rest.Accept
Content-Type: rest.Content-Type
taskId: rest.taskId
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: do-task-mcp
port: 9090
transport: http
description: MCP adapter for VTEX Do API — Task. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: vtex-create-task
description: VTex Create Task
hints:
readOnly: false
destructive: false
idempotent: false
call: do-task.newtask
with:
Content-Type: tools.Content-Type
Accept: tools.Accept
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: vtex-list-tasks
description: VTex List tasks
hints:
readOnly: true
destructive: false
idempotent: true
call: do-task.listtasksbyassignee
with:
assignee.email: tools.assignee.email
target.id: tools.target.id
context: tools.context
page: tools.page
perPage: tools.perPage
status: tools.status
Accept: tools.Accept
Content-Type: tools.Content-Type
outputParameters:
- type: object
mapping: $.
- name: vtex-retrieve-task
description: VTex Retrieve Task
hints:
readOnly: true
destructive: false
idempotent: true
call: do-task.gettask
with:
Accept: tools.Accept
Content-Type: tools.Content-Type
taskId: tools.taskId
outputParameters:
- type: object
mapping: $.
- name: vtex-update-task
description: VTex Update Task
hints:
readOnly: false
destructive: false
idempotent: true
call: do-task.edittask
with:
Accept: tools.Accept
Content-Type: tools.Content-Type
taskId: tools.taskId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: vtex-add-comment-task
description: VTex Add Comment on a Task
hints:
readOnly: false
destructive: false
idempotent: false
call: do-task.addcomment
with:
Accept: tools.Accept
Content-Type: tools.Content-Type
taskId: tools.taskId
body: tools.body
outputParameters:
- type: object
mapping: $.