Vendure · Capability

Vendure Admin API — Jobs

Vendure Admin API capability for the job queue: inspect jobs, cancel jobs, list scheduled tasks, and read buffer sizes. Useful for operating the search index, email pipeline, and custom plugin work.

Vendure Admin API — Jobs is a Naftiko capability published by Vendure, one of 10 capabilities the APIs.io network indexes for this provider. It bundles 9 operations across the POST method rooted at /v1/admin.

The capability includes 5 read-only operations and 2 state-changing operations. Lead operation: List jobs. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Vendure, Admin, Jobs, JobQueue, and Operations.

Run with Naftiko VendureAdminJobsJobQueueOperations

What You Can Do

POST
Queryjobs
/v1/admin/jobs/query
POST
Queryjob
/v1/admin/job/query
POST
Queryjobsbyid
/v1/admin/jobs-by-id/query
POST
Queryjobqueues
/v1/admin/job-queues/query
POST
Queryjobbuffersize
/v1/admin/job-buffer/query
POST
Canceljob
/v1/admin/job/cancel
POST
Queryscheduledtasks
/v1/admin/scheduled-tasks/query
POST
Querypendingsearchindexupdates
/v1/admin/search-index/pending
POST
Runpendingsearchindexupdates
/v1/admin/search-index/run

MCP Tools

vendure-admin-list-jobs

List jobs.

read-only idempotent
vendure-admin-get-job

Get a job by id.

read-only idempotent
vendure-admin-list-job-queues

List job queues.

read-only idempotent
vendure-admin-cancel-job

Cancel a job.

idempotent
vendure-admin-list-scheduled-tasks

List scheduled tasks.

read-only idempotent
vendure-admin-pending-search-index

Count pending search index updates.

read-only idempotent
vendure-admin-run-search-index

Run pending search index updates.

Capability Spec

admin-jobs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Vendure Admin API — Jobs
  description: >-
    Vendure Admin API capability for the job queue: inspect jobs, cancel
    jobs, list scheduled tasks, and read buffer sizes. Useful for operating
    the search index, email pipeline, and custom plugin work.
  tags:
    - Vendure
    - Admin
    - Jobs
    - JobQueue
    - Operations
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
  - namespace: env
    keys:
      VENDURE_ADMIN_API_URL: VENDURE_ADMIN_API_URL
      VENDURE_ADMIN_TOKEN: VENDURE_ADMIN_TOKEN
capability:
  consumes:
    - type: http
      namespace: admin-jobs
      baseUri: '{{env.VENDURE_ADMIN_API_URL}}'
      description: Vendure Admin GraphQL endpoint for job operations.
      resources:
        - name: admin-graphql
          path: /
          operations:
            - { name: queryJobs, method: POST, description: List jobs., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: queryJob, method: POST, description: Get a job by id., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: queryJobsById, method: POST, description: Get multiple jobs by id., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: queryJobQueues, method: POST, description: List job queues., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: queryJobBufferSize, method: POST, description: Read buffered job counts., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: cancelJob, method: POST, description: Cancel a queued or running job., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: queryScheduledTasks, method: POST, description: List scheduled tasks., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: queryPendingSearchIndexUpdates, method: POST, description: Count pending search index updates., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
            - { name: runPendingSearchIndexUpdates, method: POST, description: Trigger pending search index updates., outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ], inputParameters: [ { name: body, in: body, type: object, required: true } ] }
      authentication:
        type: bearer
        token: '{{env.VENDURE_ADMIN_TOKEN}}'
  exposes:
    - type: rest
      namespace: admin-jobs-rest
      port: 8080
      description: REST adapter exposing Admin job operations.
      resources:
        - { path: /v1/admin/jobs/query, name: jobs, operations: [ { method: POST, name: queryJobs, call: admin-jobs.queryJobs, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/job/query, name: job, operations: [ { method: POST, name: queryJob, call: admin-jobs.queryJob, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/jobs-by-id/query, name: jobs-by-id, operations: [ { method: POST, name: queryJobsById, call: admin-jobs.queryJobsById, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/job-queues/query, name: job-queues, operations: [ { method: POST, name: queryJobQueues, call: admin-jobs.queryJobQueues, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/job-buffer/query, name: job-buffer, operations: [ { method: POST, name: queryJobBufferSize, call: admin-jobs.queryJobBufferSize, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/job/cancel, name: job-cancel, operations: [ { method: POST, name: cancelJob, call: admin-jobs.cancelJob, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/scheduled-tasks/query, name: scheduled-tasks, operations: [ { method: POST, name: queryScheduledTasks, call: admin-jobs.queryScheduledTasks, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/search-index/pending, name: search-index-pending, operations: [ { method: POST, name: queryPendingSearchIndexUpdates, call: admin-jobs.queryPendingSearchIndexUpdates, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
        - { path: /v1/admin/search-index/run, name: search-index-run, operations: [ { method: POST, name: runPendingSearchIndexUpdates, call: admin-jobs.runPendingSearchIndexUpdates, with: { body: rest.body }, outputParameters: [ { type: object, mapping: $. } ] } ] }
    - type: mcp
      namespace: admin-jobs-mcp
      port: 9090
      transport: http
      description: MCP adapter — one tool per Admin job operation.
      tools:
        - { name: vendure-admin-list-jobs, description: List jobs., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-jobs.queryJobs, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }
        - { name: vendure-admin-get-job, description: Get a job by id., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-jobs.queryJob, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }
        - { name: vendure-admin-list-job-queues, description: List job queues., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-jobs.queryJobQueues, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }
        - { name: vendure-admin-cancel-job, description: Cancel a job., hints: { readOnly: false, destructive: true, idempotent: true }, call: admin-jobs.cancelJob, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }
        - { name: vendure-admin-list-scheduled-tasks, description: List scheduled tasks., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-jobs.queryScheduledTasks, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }
        - { name: vendure-admin-pending-search-index, description: Count pending search index updates., hints: { readOnly: true, destructive: false, idempotent: true }, call: admin-jobs.queryPendingSearchIndexUpdates, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }
        - { name: vendure-admin-run-search-index, description: Run pending search index updates., hints: { readOnly: false, destructive: false, idempotent: false }, call: admin-jobs.runPendingSearchIndexUpdates, with: { body: tools.body }, outputParameters: [ { type: object, mapping: $. } ] }