Apache Flink · Capability

Apache Flink REST API — Jobs

Apache Flink REST API — Jobs. 8 operations. Lead operation: List jobs. Self-contained Naftiko capability covering one Flink business surface.

Run with Naftiko FlinkJobs

What You Can Do

GET
Listjobs — List jobs
/v1/jobs
GET
Getjobsmetrics — Aggregated job metrics
/v1/jobs/metrics
GET
Getjobsoverview — Jobs overview
/v1/jobs/overview
GET
Getjob — Get job details
/v1/jobs/{jobid}
PATCH
Terminatejob — Cancel or stop a job
/v1/jobs/{jobid}
GET
Getjobaccumulators — Job accumulators
/v1/jobs/{jobid}/accumulators
GET
Getjobconfig — Job configuration
/v1/jobs/{jobid}/config
GET
Getjobexceptions — Job exception history
/v1/jobs/{jobid}/exceptions

MCP Tools

list-jobs

List jobs

read-only idempotent
aggregated-job-metrics

Aggregated job metrics

read-only idempotent
jobs-overview

Jobs overview

read-only idempotent
get-job-details

Get job details

read-only idempotent
cancel-stop-job

Cancel or stop a job

idempotent
job-accumulators

Job accumulators

read-only idempotent
job-configuration

Job configuration

read-only idempotent
job-exception-history

Job exception history

read-only idempotent

Capability Spec

rest-jobs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Apache Flink REST API — Jobs
  description: 'Apache Flink REST API — Jobs. 8 operations. Lead operation: List jobs. Self-contained Naftiko capability covering
    one Flink business surface.'
  tags:
  - Flink
  - Jobs
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FLINK_API_KEY: FLINK_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-jobs
    baseUri: http://localhost:8081
    description: Apache Flink REST API — Jobs business capability. Self-contained, no shared references.
    resources:
    - name: jobs
      path: /jobs
      operations:
      - name: listjobs
        method: GET
        description: List jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobs-metrics
      path: /jobs/metrics
      operations:
      - name: getjobsmetrics
        method: GET
        description: Aggregated job metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobs-overview
      path: /jobs/overview
      operations:
      - name: getjobsoverview
        method: GET
        description: Jobs overview
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobs-jobid
      path: /jobs/{jobid}
      operations:
      - name: getjob
        method: GET
        description: Get job details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: terminatejob
        method: PATCH
        description: Cancel or stop a job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mode
          in: query
          type: string
    - name: jobs-jobid-accumulators
      path: /jobs/{jobid}/accumulators
      operations:
      - name: getjobaccumulators
        method: GET
        description: Job accumulators
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobs-jobid-config
      path: /jobs/{jobid}/config
      operations:
      - name: getjobconfig
        method: GET
        description: Job configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobs-jobid-exceptions
      path: /jobs/{jobid}/exceptions
      operations:
      - name: getjobexceptions
        method: GET
        description: Job exception history
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: rest-jobs-rest
    port: 8080
    description: REST adapter for Apache Flink REST API — Jobs. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/jobs
      name: jobs
      description: REST surface for jobs.
      operations:
      - method: GET
        name: listjobs
        description: List jobs
        call: rest-jobs.listjobs
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/jobs/metrics
      name: jobs-metrics
      description: REST surface for jobs-metrics.
      operations:
      - method: GET
        name: getjobsmetrics
        description: Aggregated job metrics
        call: rest-jobs.getjobsmetrics
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/jobs/overview
      name: jobs-overview
      description: REST surface for jobs-overview.
      operations:
      - method: GET
        name: getjobsoverview
        description: Jobs overview
        call: rest-jobs.getjobsoverview
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/jobs/{jobid}
      name: jobs-jobid
      description: REST surface for jobs-jobid.
      operations:
      - method: GET
        name: getjob
        description: Get job details
        call: rest-jobs.getjob
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: terminatejob
        description: Cancel or stop a job
        call: rest-jobs.terminatejob
        with:
          mode: rest.mode
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/jobs/{jobid}/accumulators
      name: jobs-jobid-accumulators
      description: REST surface for jobs-jobid-accumulators.
      operations:
      - method: GET
        name: getjobaccumulators
        description: Job accumulators
        call: rest-jobs.getjobaccumulators
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/jobs/{jobid}/config
      name: jobs-jobid-config
      description: REST surface for jobs-jobid-config.
      operations:
      - method: GET
        name: getjobconfig
        description: Job configuration
        call: rest-jobs.getjobconfig
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/jobs/{jobid}/exceptions
      name: jobs-jobid-exceptions
      description: REST surface for jobs-jobid-exceptions.
      operations:
      - method: GET
        name: getjobexceptions
        description: Job exception history
        call: rest-jobs.getjobexceptions
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-jobs-mcp
    port: 9090
    transport: http
    description: MCP adapter for Apache Flink REST API — Jobs. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-jobs
      description: List jobs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-jobs.listjobs
      outputParameters:
      - type: object
        mapping: $.
    - name: aggregated-job-metrics
      description: Aggregated job metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-jobs.getjobsmetrics
      outputParameters:
      - type: object
        mapping: $.
    - name: jobs-overview
      description: Jobs overview
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-jobs.getjobsoverview
      outputParameters:
      - type: object
        mapping: $.
    - name: get-job-details
      description: Get job details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-jobs.getjob
      outputParameters:
      - type: object
        mapping: $.
    - name: cancel-stop-job
      description: Cancel or stop a job
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-jobs.terminatejob
      with:
        mode: tools.mode
      outputParameters:
      - type: object
        mapping: $.
    - name: job-accumulators
      description: Job accumulators
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-jobs.getjobaccumulators
      outputParameters:
      - type: object
        mapping: $.
    - name: job-configuration
      description: Job configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-jobs.getjobconfig
      outputParameters:
      - type: object
        mapping: $.
    - name: job-exception-history
      description: Job exception history
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-jobs.getjobexceptions
      outputParameters:
      - type: object
        mapping: $.