Capability Spec
apiVersion: naftiko.io/v1
kind: Capability
metadata:
name: async-jobs
version: 1.0.0-alpha2
labels:
provider: parseflow
family: jobs
domain: document-ai
spec:
title: Async Document Jobs
description: |
Create long-running document processing jobs, poll their status, and trigger
or simulate webhook delivery. Recommended for documents larger than the
synchronous timeout budget or when webhook delivery is preferred over
polling.
sharedAPI:
$ref: ./shared/parseflow-api.yaml
operations:
- name: create-job
consume:
http:
method: POST
path: /v2/jobs
contentType: multipart/form-data
inputs:
- { name: file, type: file }
- { name: text, type: string }
- { name: mode, type: string, default: deterministic }
- { name: chunk_size, type: integer, default: 2000 }
- { name: overlap, type: integer, default: 200 }
- { name: preset, type: string }
- { name: callback_url, type: string, description: Webhook delivery URL }
- { name: byok_provider, type: string }
- { name: byok_model, type: string }
- name: get-job
consume:
http:
method: GET
path: /v2/jobs/{job_id}
inputs:
- { name: job_id, type: string, in: path, required: true }
- name: deliver-job
consume:
http:
method: POST
path: /v2/jobs/{job_id}/deliver
contentType: application/x-www-form-urlencoded
inputs:
- { name: job_id, type: string, in: path, required: true }
- { name: callback_url, type: string }
expose:
rest:
path: /capabilities/async-jobs
mcp:
tools:
- parseflow_create_job
- parseflow_get_job
- parseflow_deliver_job
outputs:
schemaRef: ../json-schema/parseflow-job-status-schema.json
notes: |
Polling /v2/jobs/{job_id} counts as one billable request per poll. Prefer
webhook delivery via callback_url to conserve monthly quota.