Update a saved extraction pipeline
Patch one or more fields, re-validate the effective merged config, and atomically
increment version. In-flight and completed jobs keep their admit-time snapshots.
Authorization
bearerAuth Existing Eigenpal API key presented as a bearer token.
In: header
Path Parameters
Tenant-scoped saved extraction pipeline identifier (oppl_…).
^oppl_[A-Za-z0-9_-]+$length <= 128Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Partial update; at least one field required. Successful updates bump version.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/pipelines/string" \ -H "Authorization: Bearer $OPENPARSER_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "name": "string", "slug": "string", "version": 1, "ocr_model": "string", "ocr_options": { "property1": null, "property2": null }, "llm_model": "openai/gpt-6-luna", "llm_options": { "reasoning_effort": "auto" }, "schema": { "property1": null, "property2": null }, "repair_attempts": 0, "grounding": "none", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}{ "error": { "code": "malformed_request", "message": "multipart field `request` is not valid JSON", "request_id": "req_01h2example", "retryable": false }}{ "error": { "code": "unauthorized", "message": "invalid API key", "request_id": "req_01h2example", "retryable": false }}{ "error": { "code": "forbidden", "message": "API key lacks required scope", "request_id": "req_01h2example", "retryable": false }}{ "error": { "code": "pipeline_not_found", "message": "pipeline not found", "request_id": "req_01h2example", "retryable": false }}{ "error": { "code": "pipeline_name_conflict", "message": "pipeline name already exists", "request_id": "req_01h2example", "retryable": false, "details": { "field": "name" } }}{ "error": { "code": "unsupported_ocr_model", "message": "unknown OCR model registry name", "request_id": "req_01h2example", "retryable": false, "details": { "ocr_model": "paddleocr-vl-9.9" } }}{ "error": { "code": "rate_limited", "message": "request rate limit exceeded", "request_id": "req_01h2example", "retryable": true }}Get a saved extraction pipeline GET
Return one active pipeline. Missing, deleted, and cross-tenant ids return `404 pipeline_not_found`.
Soft-delete a saved extraction pipeline DELETE
Marks the pipeline deleted. Subsequent extract admits with that id return `404 pipeline_not_found`. Historical jobs retain snapshotted config.