Kuehne+Nagel Process File API

Process individual files using LLM extraction with prompt templates.

Operations 14

POST /v2/process-file/ Post Process File V2 #
POST /v2/async/process-file/ Post Process File Async V2 #
POST /v3/workspaces/{workspace_id}/process-file Post Process File V3 #
POST /v3/workspaces/{workspace_id}/process-file-with-prompt Post Process File With Prompt V3 #
POST /v3/api-key-auth/workspaces/{workspace_id}/process-file Post Process File V3 Api Key #
POST /v3/api-key-auth/workspaces/{workspace_id}/process-file-with-prompt Post Process File With Prompt V3 Api Key #
POST /v3/api-key-auth/workspaces/{workspace_id}/async/process-file Post Process File Async V3 Api Key #
POST /v3/api-key-auth/workspaces/{workspace_id}/process-file-verified Post Process File Verified V3 Api Key #
POST /v3/workspaces/{workspace_id}/process-file-base64 Post Process File Base64 V3 #
POST /v3/workspaces/{workspace_id}/process-file-with-prompt-base64 Post Process File With Prompt Base64 V3 #
POST /v3/api-key-auth/workspaces/{workspace_id}/process-file-base64 Post Process File Base64 V3 Api Key #
POST /v3/api-key-auth/workspaces/{workspace_id}/process-file-with-prompt-base64 Post Process File With Prompt Base64 V3 Api Key #
POST /v3/api-key-auth/workspaces/{workspace_id}/async/process-file-base64 Post Async Process File Base64 V3 Api Key #
POST /v3/workspaces/{workspace_id}/process-file-verified-base64 Post Process File Verified Base64 V3 #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kuehne-nagel-process-file-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kuehne-nagel-process-file-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: B2B-OldKAIExtract Process File API
  description: 'Extract structured information from documents.


    ## Using the API


    ### Optional Parameters

    When using the ''Try it out'' feature in Swagger UI, optional parameters with empty values can be left as-is. The API handles empty strings and will treat them as if the parameter was omitted. You don''t need to remove empty optional fields from requests.


    **Tip:** In generated curl commands, you may see flags like `-F ''tag=''` or `-F ''tools=''`. These empty optional fields are safe to include or remove - the API treats them identically.'
  version: 0.1.0
servers:
- url: https://gateway.api.kuehne-nagel.com/oldkaiextractapi/0.1.0
- url: http://gateway.api.kuehne-nagel.com:8280/oldkaiextractapi/0.1.0
security:
- default: []
tags:
- name: process-file
  description: Process individual files using LLM extraction with prompt templates.
paths:
  /v2/process-file/:
    post:
      tags:
      - process-file
      summary: Post Process File V2
      operationId: post_process_file_v2_v2_process_file__post
      parameters:
      - name: x-api-key
        in: header
        required: false
        style: simple
        explode: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: x-auth-request-email
        in: header
        required: false
        style: simple
        explode: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Auth-Request-Email
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_v2_v2_process_file__post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v2/async/process-file/:
    post:
      tags:
      - process-file
      summary: Post Process File Async V2
      operationId: post_process_file_async_v2_v2_async_process_file__post
      parameters:
      - name: x-api-key
        in: header
        required: false
        style: simple
        explode: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      - name: x-auth-request-email
        in: header
        required: false
        style: simple
        explode: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Auth-Request-Email
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_async_v2_v2_async_process_file__post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractAsyncResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/workspaces/{workspace_id}/process-file:
    post:
      tags:
      - process-file
      summary: Post Process File V3
      description: Process a file and return extraction results using a specific prompt version.
      operationId: post_process_file_v3_v3_workspaces__workspace_id__process_file_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-auth-request-email
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Auth-Request-Email
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_v3_v3_workspaces__workspace_id__process_file_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/workspaces/{workspace_id}/process-file-with-prompt:
    post:
      tags:
      - process-file
      summary: Post Process File With Prompt V3
      description: Process a file with a custom prompt string and return extraction results.
      operationId: post_process_file_with_prompt_v3_v3_workspaces__workspace_id__process_file_with_prompt_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-auth-request-email
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Auth-Request-Email
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_with_prompt_v3_v3_workspaces__workspace_id__process_file_with_prompt_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/api-key-auth/workspaces/{workspace_id}/process-file:
    post:
      tags:
      - process-file
      summary: Post Process File V3 Api Key
      description: Process a file using API key authentication with a specific prompt version.
      operationId: post_process_file_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-api-key
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Api-Key
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/api-key-auth/workspaces/{workspace_id}/process-file-with-prompt:
    post:
      tags:
      - process-file
      summary: Post Process File With Prompt V3 Api Key
      description: Process a file with a custom prompt string using API key authentication.
      operationId: post_process_file_with_prompt_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_with_prompt_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-api-key
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Api-Key
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_with_prompt_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_with_prompt_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/api-key-auth/workspaces/{workspace_id}/async/process-file:
    post:
      tags:
      - process-file
      summary: Post Process File Async V3 Api Key
      description: 'Process a file asynchronously using the Gemini LLM model with API key authentication.


        When enable_mep_output is set to True, the API will send a notification to the

        MEP connector upon successful completion of the async processing job.'
      operationId: post_process_file_async_v3_api_key_v3_api_key_auth_workspaces__workspace_id__async_process_file_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-api-key
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Api-Key
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_async_v3_api_key_v3_api_key_auth_workspaces__workspace_id__async_process_file_post'
        required: true
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractAsyncResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/api-key-auth/workspaces/{workspace_id}/process-file-verified:
    post:
      tags:
      - process-file
      summary: Post Process File Verified V3 Api Key
      description: 'Process a file multiple times concurrently for enhanced reliability using API key authentication.


        This endpoint executes the same file processing operation multiple times concurrently

        using different AI model sessions to ensure consistency and reliability of results

        for production use cases requiring high confidence.


        The endpoint:

        - Accepts a num_runs parameter (1-5) specifying the number of parallel executions

        - Executes multiple instances of the same file processing operation in parallel

        - Ensures each parallel execution receives an independent context/session

        - Returns a VerifiedProcessingResponse containing all individual processing results'
      operationId: post_process_file_verified_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_verified_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-api-key
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Api-Key
      requestBody:
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_verified_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_verified_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifiedProcessingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/workspaces/{workspace_id}/process-file-base64:
    post:
      tags:
      - process-file
      summary: Post Process File Base64 V3
      description: Process a file from base64 content and return extraction results using a specific prompt version.
      operationId: post_process_file_base64_v3_v3_workspaces__workspace_id__process_file_base64_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-auth-request-email
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Auth-Request-Email
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_base64_v3_v3_workspaces__workspace_id__process_file_base64_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/workspaces/{workspace_id}/process-file-with-prompt-base64:
    post:
      tags:
      - process-file
      summary: Post Process File With Prompt Base64 V3
      description: Process a file from base64 content with a custom prompt string and return extraction results.
      operationId: post_process_file_with_prompt_base64_v3_v3_workspaces__workspace_id__process_file_with_prompt_base64_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-auth-request-email
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Auth-Request-Email
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_with_prompt_base64_v3_v3_workspaces__workspace_id__process_file_with_prompt_base64_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/api-key-auth/workspaces/{workspace_id}/process-file-base64:
    post:
      tags:
      - process-file
      summary: Post Process File Base64 V3 Api Key
      description: Process a file from base64 content using API key authentication with a specific prompt version.
      operationId: post_process_file_base64_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_base64_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-api-key
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Api-Key
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_base64_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_base64_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/api-key-auth/workspaces/{workspace_id}/process-file-with-prompt-base64:
    post:
      tags:
      - process-file
      summary: Post Process File With Prompt Base64 V3 Api Key
      description: Process a base64 encoded file with a custom prompt string using API key authentication.
      operationId: post_process_file_with_prompt_base64_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_with_prompt_base64_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-api-key
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Api-Key
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_with_prompt_base64_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_with_prompt_base64_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractFileResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/api-key-auth/workspaces/{workspace_id}/async/process-file-base64:
    post:
      tags:
      - process-file
      summary: Post Async Process File Base64 V3 Api Key
      description: Process a file from base64 content asynchronously using API key authentication with a specific prompt version.
      operationId: post_async_process_file_base64_v3_api_key_v3_api_key_auth_workspaces__workspace_id__async_process_file_base64_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-api-key
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Api-Key
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_post_async_process_file_base64_v3_api_key_v3_api_key_auth_workspaces__workspace_id__async_process_file_base64_post'
        required: true
      responses:
        '202':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractAsyncResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
  /v3/workspaces/{workspace_id}/process-file-verified-base64:
    post:
      tags:
      - process-file
      summary: Post Process File Verified Base64 V3
      description: Process a file from base64 content multiple times concurrently for verification using a specific prompt version.
      operationId: post_process_file_verified_base64_v3_v3_workspaces__workspace_id__process_file_verified_base64_post
      parameters:
      - name: workspace_id
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type: string
          format: uuid
          title: Workspace Id
      - name: x-auth-request-email
        in: header
        required: true
        style: simple
        explode: false
        schema:
          type: string
          title: X-Auth-Request-Email
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Body_post_process_file_verified_base64_v3_v3_workspaces__workspace_id__process_file_verified_base64_post'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VerifiedProcessingResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - default: []
      x-auth-type: Application & Application User
      x-throttling-tier: Unlimited
components:
  schemas:
    Body_post_process_file_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_post:
      type: object
      properties:
        file:
          type: string
          format: binary
          description: The document file to process (PDF, DOCX, TXT, etc.)
          title: File
        prompt_id:
          type: string
          format: uuid
          description: The ID of the prompt to use for extraction.
          example: <PROMPT_ID>
          title: Prompt Id
        prompt_kwargs:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional JSON string with template variables. Leave empty if not using template variables.
          example: ''
          title: Prompt Kwargs
        model_type:
          $ref: '#/components/schemas/ModelType'
          default: flash_25
          description: 'The AI model to use. Default: flash_25.'
          example: flash_25
        enforce_schema:
          type: boolean
          default: false
          description: 'Whether to strictly enforce output schema validation. Default: false.'
          example: false
          title: Enforce Schema
        output_schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional JSON Schema for output validation. Overrides prompt schema.
          example: '{"type": "object", "properties": {"field1": {"type": "string"}}}'
          title: Output Schema
        tools:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Optional list of tool names. Leave empty if no tools should be used/available.
          example: []
          title: Tools
        prompt_version_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional specific prompt version ID. Leave empty for latest.
          example: ''
          title: Prompt Version Id
        tag:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional tag to select prompt version. Leave empty for latest.
          example: ''
          title: Tag
        max_retries:
          type: integer
          default: 1
          description: 'Max retry attempts (0-2). Default: 1.'
          example: 1
          maximum: 2
          minimum: 0
          title: Max Retries
        convert_pdf_to_images:
          type: boolean
          default: false
          description: 'If true and the file is a PDF, convert each page to PNG images before LLM processing. This forces the LLM to use OCR capabilities for the entire page content, which can improve extraction quality for PDFs with incomplete or unreliable text layers. Default: false.'
          example: false
          title: Convert Pdf To Images
      required:
      - file
      - prompt_id
      title: Body_post_process_file_v3_api_key_v3_api_key_auth_workspaces__workspace_id__process_file_post
    VerifiedProcessingSummary:
      type: object
      description: Summary information for verified processing results.
      properties:
        total_runs:
          type: integer
          title: Total Runs
        successful_runs:
          type: integer
          title: Successful Runs
        failed_runs:
          type: integer
          title: Failed Runs
        total_processing_time:
          type: number
          title: Total Processing Time
        average_processing_time:
          type: number
          title: Average Processing Time
        started_at:
          type: string
          format: date-time
          title: Started At
        completed_at:
          type: string
          format: date-time
          title: Completed At
      required:
      - average_processing_time
      - completed_at
      - failed_runs
      - started_at
      - successful_runs
      - total_processing_time
      - total_runs
      title: VerifiedProcessingSummary
    HTTPValidationError:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
      title: HTTPValidationError
    Body_post_process_file_v2_v2_process_file__post:
      type: object
      properties:
        workspace:
          type: string
          title: Workspace
        file:
          type: string
          format: binary
          title: File
        prompt_name:
          type: string
          title: Prompt Name
        prompt_kwargs:
          anyOf:
          - type: string
          - type: 'null'
          title: Prompt Kwargs
        model_type:
          $ref: '#/components/schemas/ModelType'
          default: flash_25
        enforce_schema:
          type: boolean
          default: false
          title: Enforce Schema
      required:
      - file
      - prompt_name
      - workspace
      title: Body_post_process_file_v2_v2_process_file__post
    VerifiedProcessingResponse:
      type: object
      description: Response model for verified file processing with multiple concurrent runs.
      properties:
        filename:
          type: string
          title: Filename
        runs:
          type: array
          items:
            $ref: '#/components/schemas/VerifiedProcessingRun'
          title: Runs
        summary:
          $ref: '#/components/schemas/VerifiedProcessingSummary'
      required:
      - filename
      - runs
      - summary
      title: VerifiedProcessingResponse
    Body_post_process_file_base64_v3_v3_workspaces__workspace_id__process_file_base64_post:
      type: object
      properties:
        file_content:
          type: string
          description: Base64 encoded file content (PDF, DOCX, TXT, etc.)
          title: File Content
        filename:
          type: string
          description: Original filename with extension
          example: invoice.pdf
          title: Filename
        prompt_id:
          type: string
          format: uuid
          description: The ID of the prompt to use for extraction. Use /workspaces/{workspace_id}/prompts to list available prompts.
          example: <PROMPT_ID>
          title: Prompt Id
        prompt_kwargs:
          anyOf:
          - type: string
          - type: 'null'
          description: 'Optional JSON string containing variables for prompt template substitution (e.g., ''{"company": "Acme Corp", "year": "2024"}''). Leave empty if not using template variables.'
          example: ''
          title: Prompt Kwargs
        model_type:
          $ref: '#/components/schemas/ModelType'
          default: flash_25
          description: 'The AI model to use for extraction. Options: flash_25_lite (fast), flash_25 (more accurate), pro_25. Default: flash_25.'
          example: flash_25
        enforce_schema:
          type: boolean
          default: false
          description: 'Whether to strictly enforce the output schema. When true, the API will validate extracted data against the schema. Default: false.'
          example: false
          title: Enforce Schema
        output_schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional JSON Schema to enforce on the extraction output. When provided, the API will validate extracted data against this schema. This takes precedence over any schema attached to the prompt version. Must be a valid JSON Schema (Draft 2020-12). Leave empty to use the prompt version's schema (if enforce_schema is true) or no schema.
          example: '{"type": "object", "properties": {"field1": {"type": "string"}}}'
          title: Output Schema
        tools:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          description: Optional list of tool names to enable for this extraction (e.g., ['calculator', 'web_search']). Leave empty if no tools should be used/available.
          example: []
          title: Tools
        prompt_version_id:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional specific version ID of the prompt to use. Leave empty to automatically use the latest version or version matching the tag.
          example: ''
          title: Prompt Version Id
        tag:
          anyOf:
          - type: string
          - type: 'null'
          description: Optional tag to select a specific prompt version (e.g., 'production', 'staging'). Leave empty to use the latest version.
          example: ''
          title: Tag
        max_retries:
          type: integer
          default: 1
          description: 'Maximum number of retry attempts if extraction fails (0-2). Default: 1.'
          example: 1
          maximum: 2
          minimum: 0
          title: Max Retries
        convert_pdf_to_images:
          type: boolean
          default: false
          description: 'If true and the file is a PDF, convert each page to PNG images before LLM processing. This forces the LLM to use OCR capabilities for the entire page content, which can improve extraction quality for PDFs with incomplete or unreliable text layers. Default: false.'
          example: f

# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kuehne-nagel/refs/heads/main/openapi/kuehne-nagel-process-file-api-openapi.yml