Spring Batch · Capability

Spring Batch 5.1 Actuator API

Spring Boot Actuator endpoints exposed by Spring Batch 5.1 applications for monitoring and managing batch jobs. Provides health checks, metrics, job execution status, and step execution details via the Spring Boot Actuator infrastructure. These endpoints are available when spring-boot-actuator is on the classpath alongside spring-batch-core.

Run with Naftiko SpringBatchAPI

What You Can Do

GET
Gethealth — Get Application Health
/health
GET
Getbatchhealth — Get Batch Health
/health/batch
GET
Listmetrics — List Available Metrics
/metrics
GET
Getmetric — Get Metric Value
/metrics/{metricName}
GET
Listbatchjobs — List Batch Jobs
/batch/jobs
GET
Getbatchjob — Get Batch Job Details
/batch/jobs/{jobName}
GET
Listjobexecutions — List Job Executions
/batch/jobs/{jobName}/executions
GET
Listjobinstances — List Job Instances
/batch/jobs/{jobName}/instances

MCP Tools

gethealth

Get Application Health

read-only idempotent
getbatchhealth

Get Batch Health

read-only idempotent
listmetrics

List Available Metrics

read-only idempotent
getmetric

Get Metric Value

read-only idempotent
listbatchjobs

List Batch Jobs

read-only idempotent
getbatchjob

Get Batch Job Details

read-only idempotent
listjobexecutions

List Job Executions

read-only idempotent
listjobinstances

List Job Instances

read-only idempotent

Capability Spec

spring-batch-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Spring Batch 5.1 Actuator API
  description: Spring Boot Actuator endpoints exposed by Spring Batch 5.1 applications for monitoring and managing batch jobs.
    Provides health checks, metrics, job execution status, and step execution details via the Spring Boot Actuator infrastructure.
    These endpoints are available when spring-boot-actuator is on the classpath alongside spring-batch-core.
  tags:
  - Spring
  - Batch
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: spring-batch
    baseUri: http://localhost:8080/actuator
    description: Spring Batch 5.1 Actuator API HTTP API.
    resources:
    - name: health
      path: /health
      operations:
      - name: gethealth
        method: GET
        description: Get Application Health
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: health-batch
      path: /health/batch
      operations:
      - name: getbatchhealth
        method: GET
        description: Get Batch Health
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: metrics
      path: /metrics
      operations:
      - name: listmetrics
        method: GET
        description: List Available Metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: metrics-metricname
      path: /metrics/{metricName}
      operations:
      - name: getmetric
        method: GET
        description: Get Metric Value
        inputParameters:
        - name: metricName
          in: path
          type: string
          required: true
          description: Name of the metric (e.g., spring.batch.job.duration, spring.batch.step.duration, spring.batch.chunk.size)
        - name: tag
          in: query
          type: string
          description: Tag filter in the form name:value (can be repeated)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: batch-jobs
      path: /batch/jobs
      operations:
      - name: listbatchjobs
        method: GET
        description: List Batch Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: batch-jobs-jobname
      path: /batch/jobs/{jobName}
      operations:
      - name: getbatchjob
        method: GET
        description: Get Batch Job Details
        inputParameters:
        - name: jobName
          in: path
          type: string
          required: true
          description: Name of the batch job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: batch-jobs-jobname-executions
      path: /batch/jobs/{jobName}/executions
      operations:
      - name: listjobexecutions
        method: GET
        description: List Job Executions
        inputParameters:
        - name: jobName
          in: path
          type: string
          required: true
          description: Name of the batch job
        - name: page
          in: query
          type: integer
          description: Page number (zero-based)
        - name: size
          in: query
          type: integer
          description: Number of executions per page
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: batch-jobs-jobname-instances
      path: /batch/jobs/{jobName}/instances
      operations:
      - name: listjobinstances
        method: GET
        description: List Job Instances
        inputParameters:
        - name: jobName
          in: path
          type: string
          required: true
          description: Name of the batch job
        - name: page
          in: query
          type: integer
        - name: size
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: spring-batch-rest
    description: REST adapter for Spring Batch 5.1 Actuator API.
    resources:
    - path: /health
      name: gethealth
      operations:
      - method: GET
        name: gethealth
        description: Get Application Health
        call: spring-batch.gethealth
        outputParameters:
        - type: object
          mapping: $.
    - path: /health/batch
      name: getbatchhealth
      operations:
      - method: GET
        name: getbatchhealth
        description: Get Batch Health
        call: spring-batch.getbatchhealth
        outputParameters:
        - type: object
          mapping: $.
    - path: /metrics
      name: listmetrics
      operations:
      - method: GET
        name: listmetrics
        description: List Available Metrics
        call: spring-batch.listmetrics
        outputParameters:
        - type: object
          mapping: $.
    - path: /metrics/{metricName}
      name: getmetric
      operations:
      - method: GET
        name: getmetric
        description: Get Metric Value
        call: spring-batch.getmetric
        with:
          metricName: rest.metricName
        outputParameters:
        - type: object
          mapping: $.
    - path: /batch/jobs
      name: listbatchjobs
      operations:
      - method: GET
        name: listbatchjobs
        description: List Batch Jobs
        call: spring-batch.listbatchjobs
        outputParameters:
        - type: object
          mapping: $.
    - path: /batch/jobs/{jobName}
      name: getbatchjob
      operations:
      - method: GET
        name: getbatchjob
        description: Get Batch Job Details
        call: spring-batch.getbatchjob
        with:
          jobName: rest.jobName
        outputParameters:
        - type: object
          mapping: $.
    - path: /batch/jobs/{jobName}/executions
      name: listjobexecutions
      operations:
      - method: GET
        name: listjobexecutions
        description: List Job Executions
        call: spring-batch.listjobexecutions
        with:
          jobName: rest.jobName
        outputParameters:
        - type: object
          mapping: $.
    - path: /batch/jobs/{jobName}/instances
      name: listjobinstances
      operations:
      - method: GET
        name: listjobinstances
        description: List Job Instances
        call: spring-batch.listjobinstances
        with:
          jobName: rest.jobName
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: spring-batch-mcp
    transport: http
    description: MCP adapter for Spring Batch 5.1 Actuator API for AI agent use.
    tools:
    - name: gethealth
      description: Get Application Health
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.gethealth
      outputParameters:
      - type: object
        mapping: $.
    - name: getbatchhealth
      description: Get Batch Health
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.getbatchhealth
      outputParameters:
      - type: object
        mapping: $.
    - name: listmetrics
      description: List Available Metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.listmetrics
      outputParameters:
      - type: object
        mapping: $.
    - name: getmetric
      description: Get Metric Value
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.getmetric
      with:
        metricName: tools.metricName
        tag: tools.tag
      inputParameters:
      - name: metricName
        type: string
        description: Name of the metric (e.g., spring.batch.job.duration, spring.batch.step.duration, spring.batch.chunk.size)
        required: true
      - name: tag
        type: string
        description: Tag filter in the form name:value (can be repeated)
      outputParameters:
      - type: object
        mapping: $.
    - name: listbatchjobs
      description: List Batch Jobs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.listbatchjobs
      outputParameters:
      - type: object
        mapping: $.
    - name: getbatchjob
      description: Get Batch Job Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.getbatchjob
      with:
        jobName: tools.jobName
      inputParameters:
      - name: jobName
        type: string
        description: Name of the batch job
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listjobexecutions
      description: List Job Executions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.listjobexecutions
      with:
        jobName: tools.jobName
        page: tools.page
        size: tools.size
      inputParameters:
      - name: jobName
        type: string
        description: Name of the batch job
        required: true
      - name: page
        type: integer
        description: Page number (zero-based)
      - name: size
        type: integer
        description: Number of executions per page
      outputParameters:
      - type: object
        mapping: $.
    - name: listjobinstances
      description: List Job Instances
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: spring-batch.listjobinstances
      with:
        jobName: tools.jobName
        page: tools.page
        size: tools.size
      inputParameters:
      - name: jobName
        type: string
        description: Name of the batch job
        required: true
      - name: page
        type: integer
        description: page
      - name: size
        type: integer
        description: size
      outputParameters:
      - type: object
        mapping: $.