Pipelines

Create a saved extraction pipeline

POST
/pipelines

Persist a tenant-scoped extraction configuration (OCR model, LLM model, schema, repair/grounding/reasoning). Validated with the same admission gates as extract. Playground tokens and ocr:full keys are both accepted.

Authorization

bearerAuth
AuthorizationBearer <token>

Existing Eigenpal API key presented as a bearer token.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Create a tenant-scoped saved extraction configuration.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/pipelines" \  -H "Authorization: Bearer $OPENPARSER_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "ocr_model": "string",    "llm_model": "string",    "schema": {      "property1": null,      "property2": null    }  }'
{  "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_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  }}