ibm-quantum · Capability

IBM Qiskit Runtime — Jobs

IBM Qiskit Runtime — Jobs. 10 operations across the IBM Qiskit Runtime REST API. Self-contained Naftiko capability covering one IBM Quantum business surface.

Run with Naftiko IBM QuantumQuantum ComputingQiskitJobs

What You Can Do

GET
Get job — List Job Details
/v1/v1/jobs/{id}
DELETE
Delete job — Delete a Job
/v1/v1/jobs/{id}
GET
List jobs — List Jobs
/v1/v1/jobs
POST
Create job — Run a Job
/v1/v1/jobs
GET
Get job results jid — List Job Results
/v1/v1/jobs/{id}/results
GET
Get jog logs jid — List Job Logs
/v1/v1/jobs/{id}/logs
POST
Cancel job jid — Cancel a Job
/v1/v1/jobs/{id}/cancel
GET
Get job metrics jid — Get Job Metrics
/v1/v1/jobs/{id}/metrics
PUT
Replace job tags — Replace Job Tags
/v1/v1/jobs/{id}/tags
GET
List tags — List Tags
/v1/v1/tags

MCP Tools

ibm-quantum-get-job

List Job Details

read-only idempotent
ibm-quantum-delete-job

Delete a Job

idempotent
ibm-quantum-list-jobs

List Jobs

read-only idempotent
ibm-quantum-create-job

Run a Job

ibm-quantum-get-job-results-jid

List Job Results

read-only idempotent
ibm-quantum-get-jog-logs-jid

List Job Logs

read-only idempotent
ibm-quantum-cancel-job-jid

Cancel a Job

ibm-quantum-get-job-metrics-jid

Get Job Metrics

read-only idempotent
ibm-quantum-replace-job-tags

Replace Job Tags

idempotent
ibm-quantum-list-tags

List Tags

read-only idempotent

Capability Spec

runtime-jobs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "IBM Qiskit Runtime \u2014 Jobs"
  description: "IBM Qiskit Runtime \u2014 Jobs. 10 operations across the IBM Qiskit Runtime REST API. Self-contained Naftiko capability covering one IBM Quantum business surface."
  tags:
  - IBM Quantum
  - Quantum Computing
  - Qiskit
  - Jobs
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    IBM_CLOUD_API_KEY: IBM_CLOUD_API_KEY
    IBM_QUANTUM_CRN: IBM_QUANTUM_CRN
    IBM_QUANTUM_API_VERSION: IBM_QUANTUM_API_VERSION
capability:
  consumes:
  - type: http
    namespace: runtime-jobs
    baseUri: https://quantum.cloud.ibm.com/api
    description: "IBM Qiskit Runtime \u2014 Jobs business capability. Self-contained, no shared references."
    resources:
    - name: v1-jobs-id
      path: /v1/jobs/{id}
      operations:
      - name: get-job
        method: GET
        description: List Job Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: exclude_params
          in: query
          type: boolean
          description: Exclude job params from the response
          required: false
      - name: delete-job
        method: DELETE
        description: Delete a Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-jobs
      path: /v1/jobs
      operations:
      - name: list-jobs
        method: GET
        description: List Jobs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: integer
          description: Number of results to return at a time. If the provided value is outside of the viable range, no error occurs and the default value is used instead.
          required: false
        - name: offset
          in: query
          type: integer
          description: Number of results to offset when retrieving the list of jobs. If the provided value is outside of the viable range, no error occurs and the default value is used instead.
          required: false
        - name: pending
          in: query
          type: boolean
          description: Returns 'Queued' and 'Running' jobs if true.  Returns 'Completed', 'Cancelled', and 'Failed' jobs if false.
          required: false
        - name: program
          in: query
          type: string
          description: Program ID to filter jobs
          required: false
        - name: backend
          in: query
          type: string
          description: Backend to filter jobs
          required: false
        - name: created_after
          in: query
          type: string
          description: Job created after filter
          required: false
        - name: created_before
          in: query
          type: string
          description: Job created before filter
          required: false
        - name: sort
          in: query
          type: string
          description: Sort jobs by created time ASC or DESC (default)
          required: false
        - name: tags
          in: query
          type: string
          description: Tags to filter jobs
          required: false
        - name: session_id
          in: query
          type: string
          description: Session ID to filter jobs
          required: false
        - name: exclude_params
          in: query
          type: boolean
          description: Exclude job params from the response
          required: false
      - name: create-job
        method: POST
        description: Run a Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Parent-Job-Id
          in: header
          type: string
          description: Parent job ID
          required: false
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-jobs-id-results
      path: /v1/jobs/{id}/results
      operations:
      - name: get-job-results-jid
        method: GET
        description: List Job Results
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-jobs-id-logs
      path: /v1/jobs/{id}/logs
      operations:
      - name: get-jog-logs-jid
        method: GET
        description: List Job Logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-jobs-id-cancel
      path: /v1/jobs/{id}/cancel
      operations:
      - name: cancel-job-jid
        method: POST
        description: Cancel a Job
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-jobs-id-metrics
      path: /v1/jobs/{id}/metrics
      operations:
      - name: get-job-metrics-jid
        method: GET
        description: Get Job Metrics
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-jobs-id-tags
      path: /v1/jobs/{id}/tags
      operations:
      - name: replace-job-tags
        method: PUT
        description: Replace Job Tags
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: v1-tags
      path: /v1/tags
      operations:
      - name: list-tags
        method: GET
        description: List Tags
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: query
          type: string
          description: Searches for tags in the specified type.
          required: true
        - name: search
          in: query
          type: string
          description: Used for searching tags.
          required: true
    authentication:
      type: bearer
      value: '{{env.IBM_CLOUD_API_KEY}}'
      placement: header
    defaultHeaders:
      Service-CRN: '{{env.IBM_QUANTUM_CRN}}'
      IBM-API-Version: '{{env.IBM_QUANTUM_API_VERSION}}'
  exposes:
  - type: rest
    namespace: runtime-jobs-rest
    port: 8080
    description: "REST adapter for IBM Qiskit Runtime \u2014 Jobs. Spectral-compliant resources, prefixed with /v1."
    resources:
    - path: /v1/v1/jobs/{id}
      name: v1-jobs-id
      description: REST surface for v1-jobs-id.
      operations:
      - method: GET
        name: get-job
        description: List Job Details
        call: runtime-jobs.get-job
        with:
          exclude_params: rest.exclude_params
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-job
        description: Delete a Job
        call: runtime-jobs.delete-job
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/jobs
      name: v1-jobs
      description: REST surface for v1-jobs.
      operations:
      - method: GET
        name: list-jobs
        description: List Jobs
        call: runtime-jobs.list-jobs
        with:
          limit: rest.limit
          offset: rest.offset
          pending: rest.pending
          program: rest.program
          backend: rest.backend
          created_after: rest.created_after
          created_before: rest.created_before
          sort: rest.sort
          tags: rest.tags
          session_id: rest.session_id
          exclude_params: rest.exclude_params
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: create-job
        description: Run a Job
        call: runtime-jobs.create-job
        with:
          Parent-Job-Id: rest.Parent-Job-Id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/jobs/{id}/results
      name: v1-jobs-id-results
      description: REST surface for v1-jobs-id-results.
      operations:
      - method: GET
        name: get-job-results-jid
        description: List Job Results
        call: runtime-jobs.get-job-results-jid
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/jobs/{id}/logs
      name: v1-jobs-id-logs
      description: REST surface for v1-jobs-id-logs.
      operations:
      - method: GET
        name: get-jog-logs-jid
        description: List Job Logs
        call: runtime-jobs.get-jog-logs-jid
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/jobs/{id}/cancel
      name: v1-jobs-id-cancel
      description: REST surface for v1-jobs-id-cancel.
      operations:
      - method: POST
        name: cancel-job-jid
        description: Cancel a Job
        call: runtime-jobs.cancel-job-jid
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/jobs/{id}/metrics
      name: v1-jobs-id-metrics
      description: REST surface for v1-jobs-id-metrics.
      operations:
      - method: GET
        name: get-job-metrics-jid
        description: Get Job Metrics
        call: runtime-jobs.get-job-metrics-jid
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/jobs/{id}/tags
      name: v1-jobs-id-tags
      description: REST surface for v1-jobs-id-tags.
      operations:
      - method: PUT
        name: replace-job-tags
        description: Replace Job Tags
        call: runtime-jobs.replace-job-tags
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/tags
      name: v1-tags
      description: REST surface for v1-tags.
      operations:
      - method: GET
        name: list-tags
        description: List Tags
        call: runtime-jobs.list-tags
        with:
          type: rest.type
          search: rest.search
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: runtime-jobs-mcp
    port: 9090
    transport: http
    description: "MCP adapter for IBM Qiskit Runtime \u2014 Jobs. One tool per consumed operation."
    tools:
    - name: ibm-quantum-get-job
      description: List Job Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: runtime-jobs.get-job
      with:
        exclude_params: tools.exclude_params
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-delete-job
      description: Delete a Job
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: runtime-jobs.delete-job
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-list-jobs
      description: List Jobs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: runtime-jobs.list-jobs
      with:
        limit: tools.limit
        offset: tools.offset
        pending: tools.pending
        program: tools.program
        backend: tools.backend
        created_after: tools.created_after
        created_before: tools.created_before
        sort: tools.sort
        tags: tools.tags
        session_id: tools.session_id
        exclude_params: tools.exclude_params
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-create-job
      description: Run a Job
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: runtime-jobs.create-job
      with:
        Parent-Job-Id: tools.Parent-Job-Id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-get-job-results-jid
      description: List Job Results
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: runtime-jobs.get-job-results-jid
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-get-jog-logs-jid
      description: List Job Logs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: runtime-jobs.get-jog-logs-jid
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-cancel-job-jid
      description: Cancel a Job
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: runtime-jobs.cancel-job-jid
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-get-job-metrics-jid
      description: Get Job Metrics
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: runtime-jobs.get-job-metrics-jid
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-replace-job-tags
      description: Replace Job Tags
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: runtime-jobs.replace-job-tags
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: ibm-quantum-list-tags
      description: List Tags
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: runtime-jobs.list-tags
      with:
        type: tools.type
        search: tools.search
      outputParameters:
      - type: object
        mapping: $.