Portainer · Capability

PortainerCE API — edge_jobs

PortainerCE API — edge_jobs. 11 operations. Lead operation: Fetch EdgeJobs list. Self-contained Naftiko capability covering one Portainer business surface.

Run with Naftiko Portaineredge_jobs

What You Can Do

GET
Edgejoblist — Fetch EdgeJobs list
/v1/edge-jobs
POST
Edgejobcreatefile — Create an EdgeJob from a file
/v1/edge-jobs/create/file
POST
Edgejobcreatestring — Create an EdgeJob from a text
/v1/edge-jobs/create/string
DELETE
Edgejobdelete — Delete an EdgeJob
/v1/edge-jobs/{id}
GET
Edgejobinspect — Inspect an EdgeJob
/v1/edge-jobs/{id}
PUT
Edgejobupdate — Update an EdgeJob
/v1/edge-jobs/{id}
GET
Edgejobfile — Fetch a file of an EdgeJob
/v1/edge-jobs/{id}/file
GET
Edgejobtaskslist — Fetch the list of tasks on an EdgeJob
/v1/edge-jobs/{id}/tasks
DELETE
Edgejobtasksclear — Clear the log for a specifc task on an EdgeJob
/v1/edge-jobs/{id}/tasks/{taskid}/logs
GET
Edgejobtasklogsinspect — Fetch the log for a specifc task on an EdgeJob
/v1/edge-jobs/{id}/tasks/{taskid}/logs
POST
Edgejobtaskscollect — Collect the log for a specifc task on an EdgeJob
/v1/edge-jobs/{id}/tasks/{taskid}/logs

MCP Tools

fetch-edgejobs-list

Fetch EdgeJobs list

read-only idempotent
create-edgejob-file

Create an EdgeJob from a file

create-edgejob-text

Create an EdgeJob from a text

delete-edgejob

Delete an EdgeJob

idempotent
inspect-edgejob

Inspect an EdgeJob

read-only idempotent
update-edgejob

Update an EdgeJob

idempotent
fetch-file-edgejob

Fetch a file of an EdgeJob

read-only idempotent
fetch-list-tasks-edgejob

Fetch the list of tasks on an EdgeJob

read-only idempotent
clear-log-specifc-task-edgejob

Clear the log for a specifc task on an EdgeJob

idempotent
fetch-log-specifc-task-edgejob

Fetch the log for a specifc task on an EdgeJob

read-only idempotent
collect-log-specifc-task-edgejob

Collect the log for a specifc task on an EdgeJob

Capability Spec

portainer-edge-jobs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PortainerCE API — edge_jobs
  description: 'PortainerCE API — edge_jobs. 11 operations. Lead operation: Fetch EdgeJobs list. Self-contained Naftiko capability
    covering one Portainer business surface.'
  tags:
  - Portainer
  - edge_jobs
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    PORTAINER_API_KEY: PORTAINER_API_KEY
capability:
  consumes:
  - type: http
    namespace: portainer-edge-jobs
    baseUri: ''
    description: PortainerCE API — edge_jobs business capability. Self-contained, no shared references.
    resources:
    - name: edge_jobs
      path: /edge_jobs
      operations:
      - name: edgejoblist
        method: GET
        description: Fetch EdgeJobs list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: edge_jobs-create-file
      path: /edge_jobs/create/file
      operations:
      - name: edgejobcreatefile
        method: POST
        description: Create an EdgeJob from a file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file
          in: formData
          type: file
          description: Content of the Stack file
          required: true
        - name: Name
          in: formData
          type: string
          description: Name of the stack
          required: true
        - name: CronExpression
          in: formData
          type: string
          description: A cron expression to schedule this job
          required: true
        - name: EdgeGroups
          in: formData
          type: string
          description: JSON stringified array of Edge Groups ids
          required: true
        - name: Endpoints
          in: formData
          type: string
          description: JSON stringified array of Environment ids
          required: true
        - name: Recurring
          in: formData
          type: boolean
          description: If recurring
    - name: edge_jobs-create-string
      path: /edge_jobs/create/string
      operations:
      - name: edgejobcreatestring
        method: POST
        description: Create an EdgeJob from a text
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          description: EdgeGroup data when method is string
          required: true
    - name: edge_jobs-id
      path: /edge_jobs/{id}
      operations:
      - name: edgejobdelete
        method: DELETE
        description: Delete an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
      - name: edgejobinspect
        method: GET
        description: Inspect an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
      - name: edgejobupdate
        method: PUT
        description: Update an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
        - name: body
          in: body
          type: string
          description: EdgeGroup data
          required: true
    - name: edge_jobs-id-file
      path: /edge_jobs/{id}/file
      operations:
      - name: edgejobfile
        method: GET
        description: Fetch a file of an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
    - name: edge_jobs-id-tasks
      path: /edge_jobs/{id}/tasks
      operations:
      - name: edgejobtaskslist
        method: GET
        description: Fetch the list of tasks on an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
    - name: edge_jobs-id-tasks-taskID-logs
      path: /edge_jobs/{id}/tasks/{taskID}/logs
      operations:
      - name: edgejobtasksclear
        method: DELETE
        description: Clear the log for a specifc task on an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
        - name: taskID
          in: path
          type: integer
          description: Task Id
          required: true
      - name: edgejobtasklogsinspect
        method: GET
        description: Fetch the log for a specifc task on an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
        - name: taskID
          in: path
          type: integer
          description: Task Id
          required: true
      - name: edgejobtaskscollect
        method: POST
        description: Collect the log for a specifc task on an EdgeJob
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: integer
          description: EdgeJob Id
          required: true
        - name: taskID
          in: path
          type: integer
          description: Task Id
          required: true
  exposes:
  - type: rest
    namespace: portainer-edge-jobs-rest
    port: 8080
    description: REST adapter for PortainerCE API — edge_jobs. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/edge-jobs
      name: edge-jobs
      description: REST surface for edge_jobs.
      operations:
      - method: GET
        name: edgejoblist
        description: Fetch EdgeJobs list
        call: portainer-edge-jobs.edgejoblist
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/edge-jobs/create/file
      name: edge-jobs-create-file
      description: REST surface for edge_jobs-create-file.
      operations:
      - method: POST
        name: edgejobcreatefile
        description: Create an EdgeJob from a file
        call: portainer-edge-jobs.edgejobcreatefile
        with:
          file: rest.file
          Name: rest.Name
          CronExpression: rest.CronExpression
          EdgeGroups: rest.EdgeGroups
          Endpoints: rest.Endpoints
          Recurring: rest.Recurring
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/edge-jobs/create/string
      name: edge-jobs-create-string
      description: REST surface for edge_jobs-create-string.
      operations:
      - method: POST
        name: edgejobcreatestring
        description: Create an EdgeJob from a text
        call: portainer-edge-jobs.edgejobcreatestring
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/edge-jobs/{id}
      name: edge-jobs-id
      description: REST surface for edge_jobs-id.
      operations:
      - method: DELETE
        name: edgejobdelete
        description: Delete an EdgeJob
        call: portainer-edge-jobs.edgejobdelete
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: edgejobinspect
        description: Inspect an EdgeJob
        call: portainer-edge-jobs.edgejobinspect
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: edgejobupdate
        description: Update an EdgeJob
        call: portainer-edge-jobs.edgejobupdate
        with:
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/edge-jobs/{id}/file
      name: edge-jobs-id-file
      description: REST surface for edge_jobs-id-file.
      operations:
      - method: GET
        name: edgejobfile
        description: Fetch a file of an EdgeJob
        call: portainer-edge-jobs.edgejobfile
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/edge-jobs/{id}/tasks
      name: edge-jobs-id-tasks
      description: REST surface for edge_jobs-id-tasks.
      operations:
      - method: GET
        name: edgejobtaskslist
        description: Fetch the list of tasks on an EdgeJob
        call: portainer-edge-jobs.edgejobtaskslist
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/edge-jobs/{id}/tasks/{taskid}/logs
      name: edge-jobs-id-tasks-taskid-logs
      description: REST surface for edge_jobs-id-tasks-taskID-logs.
      operations:
      - method: DELETE
        name: edgejobtasksclear
        description: Clear the log for a specifc task on an EdgeJob
        call: portainer-edge-jobs.edgejobtasksclear
        with:
          id: rest.id
          taskID: rest.taskID
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: edgejobtasklogsinspect
        description: Fetch the log for a specifc task on an EdgeJob
        call: portainer-edge-jobs.edgejobtasklogsinspect
        with:
          id: rest.id
          taskID: rest.taskID
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: edgejobtaskscollect
        description: Collect the log for a specifc task on an EdgeJob
        call: portainer-edge-jobs.edgejobtaskscollect
        with:
          id: rest.id
          taskID: rest.taskID
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: portainer-edge-jobs-mcp
    port: 9090
    transport: http
    description: MCP adapter for PortainerCE API — edge_jobs. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: fetch-edgejobs-list
      description: Fetch EdgeJobs list
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-edge-jobs.edgejoblist
      outputParameters:
      - type: object
        mapping: $.
    - name: create-edgejob-file
      description: Create an EdgeJob from a file
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: portainer-edge-jobs.edgejobcreatefile
      with:
        file: tools.file
        Name: tools.Name
        CronExpression: tools.CronExpression
        EdgeGroups: tools.EdgeGroups
        Endpoints: tools.Endpoints
        Recurring: tools.Recurring
      outputParameters:
      - type: object
        mapping: $.
    - name: create-edgejob-text
      description: Create an EdgeJob from a text
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: portainer-edge-jobs.edgejobcreatestring
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-edgejob
      description: Delete an EdgeJob
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: portainer-edge-jobs.edgejobdelete
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: inspect-edgejob
      description: Inspect an EdgeJob
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-edge-jobs.edgejobinspect
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-edgejob
      description: Update an EdgeJob
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: portainer-edge-jobs.edgejobupdate
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-file-edgejob
      description: Fetch a file of an EdgeJob
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-edge-jobs.edgejobfile
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-list-tasks-edgejob
      description: Fetch the list of tasks on an EdgeJob
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-edge-jobs.edgejobtaskslist
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: clear-log-specifc-task-edgejob
      description: Clear the log for a specifc task on an EdgeJob
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: portainer-edge-jobs.edgejobtasksclear
      with:
        id: tools.id
        taskID: tools.taskID
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-log-specifc-task-edgejob
      description: Fetch the log for a specifc task on an EdgeJob
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: portainer-edge-jobs.edgejobtasklogsinspect
      with:
        id: tools.id
        taskID: tools.taskID
      outputParameters:
      - type: object
        mapping: $.
    - name: collect-log-specifc-task-edgejob
      description: Collect the log for a specifc task on an EdgeJob
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: portainer-edge-jobs.edgejobtaskscollect
      with:
        id: tools.id
        taskID: tools.taskID
      outputParameters:
      - type: object
        mapping: $.