---
title: "Pipeline Api"
method: POST
path: "/api/v0/pipeline"
tags: ["Pipeline"]
---

# Pipeline Api

`POST /api/v0/pipeline`

## Request

- Base URL: `https://api.oneai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.oneai.com/api/v0/pipeline`
- Auth: API key in header `api-key`

## Headers

- `api-key` string
- `access-token` string

## Request body

- PipelineInputModel
  - `steps` PipelineStep[], required: Pipeline steps
    - `skill` 'ALL' | 'sentences' | 'entities' | 'enhance' | 'highlights' | 'keywords' | 'summarize' | 'emotions' | 'article-topics' | 'sentiments' | 'extract-html' | 'html-extract-article' | 'anonymize' | 'embedding' | 'clustering' | 'action-items' | 'business-entities' | 'sales-insights' | 'dialogue-segmentation' | 'names' | 'numbers' | 'find' | 'transcribe' | 'translate' | 'detect-language' | 'debug' | 'headline' | 'subheading' | 'skill-discovery' | 'whisper-transcription' | 'service-email-insights' | 'pdf-extract-text' | 'fact-check' | 'gpt' | 'classify' | 'collection-search' | 'coda-query-classifier' | 'social-toxicity' | 'content-curation' | 'subsentences' | 'bizgpt' | 'files-extract-text' | 'query-rewriter' | 'rank' | 'nli' | 'voice-intents' | 'contact-discovery', required: An enumeration.
    - `params` union: Optional skill params (see specific API for details)
      - object
      - ClusteringParams
        - `output_labels` string[]: Output labels filter
        - `input_skill` 'ALL' | 'sentences' | 'entities' | 'enhance' | 'highlights' | 'keywords' | 'summarize' | 'emotions' | 'article-topics' | 'sentiments' | 'extract-html' | 'html-extract-article' | 'anonymize' | 'embedding' | 'clustering' | 'action-items' | 'business-entities' | 'sales-insights' | 'dialogue-segmentation' | 'names' | 'numbers' | 'find' | 'transcribe' | 'translate' | 'detect-language' | 'debug' | 'headline' | 'subheading' | 'skill-discovery' | 'whisper-transcription' | 'service-email-insights' | 'pdf-extract-text' | 'fact-check' | 'gpt' | 'classify' | 'collection-search' | 'coda-query-classifier' | 'social-toxicity' | 'content-curation' | 'subsentences' | 'bizgpt' | 'files-extract-text' | 'query-rewriter' | 'rank' | 'nli' | 'voice-intents' | 'contact-discovery': An enumeration.
        - `indexing_skill` 'ALL' | 'sentences' | 'entities' | 'enhance' | 'highlights' | 'keywords' | 'summarize' | 'emotions' | 'article-topics' | 'sentiments' | 'extract-html' | 'html-extract-article' | 'anonymize' | 'embedding' | 'clustering' | 'action-items' | 'business-entities' | 'sales-insights' | 'dialogue-segmentation' | 'names' | 'numbers' | 'find' | 'transcribe' | 'translate' | 'detect-language' | 'debug' | 'headline' | 'subheading' | 'skill-discovery' | 'whisper-transcription' | 'service-email-insights' | 'pdf-extract-text' | 'fact-check' | 'gpt' | 'classify' | 'collection-search' | 'coda-query-classifier' | 'social-toxicity' | 'content-curation' | 'subsentences' | 'bizgpt' | 'files-extract-text' | 'query-rewriter' | 'rank' | 'nli' | 'voice-intents' | 'contact-discovery': An enumeration.
        - `indexing_skill_params` object: Skill input for the indexing
        - `collection` string
        - `user_metadata` union: User metadata as dictionary of key-value pairs
          - object
          - string
      - HeadlineParams
        - `output_labels` string[]: Output labels filter
        - `headline_type` 'headline' | 'clickbait' | 'subheading': An enumeration.
        - `variations` integer: Number of headline variations to generate
      - HighlightsParams
        - `output_labels` string[]: Output labels filter
        - `amount` 'normal' | 'less' | 'more': An enumeration.
        - `threshold` number: Threshold for highlights
      - EntitiesParams
        - `output_labels` string[]: Output labels filter
        - `entities_type` 'names' | 'numbers': An enumeration.
        - `enrichment` boolean: Perform entity enrichment
        - `description` boolean: Add entity description
        - `reference_time` string, date-time: Date and time base reference
        - `reference_time_delta_minutes` integer: Date and time base reference
        - `locale` string: Locale for the input text
        - `amount` 'normal' | 'less' | 'more': An enumeration.
        - `input_skill` string: Skill input for the embedding skill
        - `ignore_spacy` boolean: Ignore Spacy entities
      - HtmlExtractorParams
        - `output_labels` string[]: Output labels filter
        - `include_headline` boolean: Whether to include the title of the HTML document in the extracted text
        - `include_code_inline` boolean: Whether to include content of inline code elements in the extracted text
        - `include_code_block` boolean: Whether to include content of code blocks in the extracted text
        - `include_references_section` boolean: Whether to include content of the references / sources section at the bottom of the article
        - `expand_tables` boolean: Whether to eapand tables to rows of text
        - `markdown_headings` boolean: Whether to denote headings with markdown style '#'
        - `mode` 'article' | 'content' | 'all' | 'auto': Controls the behavior and the level of aggressiveness of the HTML extraction.
        - `use_proxy` boolean: Whether to use a proxy to access the web page
        - `render` boolean: Whether to render the page using a headless browser
        - `exclude_labels` string[]: List label names to exclude from the results. Only removes the labels, not the actual text.
        - `absolute_urls` boolean: Whether to convert relative links to absolute links.
        - `origin` string: The origin of the page. Used to convert relative links to absolute links.
        - `content_xpath` string: XPath expression to select the main content of the page. Must be prefixed with '//'. Default is '//body'
        - `heading_xpaths` HtmlHeadingXpath[]: List of XPath expressions to select headings. Each element must have a 'xpath' and 'level' field. Default is None
          - `xpath` string, required
          - `level` integer, required
        - `link_only_xpath` string: XPath expression for elements where only link labels should be kept (text content is excluded).
      - SegmentationParams
        - `output_labels` string[]: Output labels filter
        - `amount` 'less' | 'normal' | 'more' | 'max': An enumeration.
        - `subheadings` boolean: Whether to include subheadings in the segmentation
        - `max_segment_words` integer: split segment if it exceeds this number of words
        - `max_segment_characters` integer: split segment if it exceeds this number of characters
        - `max_segment_tokens` integer: split segment if it exceeds this number of tokens
      - SummaryParams
        - `output_labels` string[]: Output labels filter
        - `amount` 'normal' | 'less' | 'more': An enumeration.
        - `threshold` number: Threshold for highlights
        - `segments` array[]
          - unknown[]
            - unknown
        - `type` 'article' | 'conversation' | 'auto-detect', required: An enumeration.
        - `labels` Label[]
          - `type` string: Label type
          - `skill` string: Label type
          - `name` string: Label name
          - `value` unknown
          - `speaker` string: Speaker
          - `data` object: Optional data
          - `span_text` string: Span text
          - `span` integer[]
          - `output_spans` OutputSpan[]: Utterance spans
            - `section` integer, required: Utterance index
            - `start` integer, required: Start position
            - `end` integer, required: End position
          - `origin` string: Origin value
          - `input_spans` OutputSpan[]: Origin utterance spans
            - `section` integer, required: Utterance index
            - `start` integer, required: Start position
            - `end` integer, required: End position
          - `timestamp` string: Span timestamp
          - `timestamp_end` string: Span timestamp end
        - `min_length` integer: Minimum length of summary text
        - `max_length` integer: Minimum length of summary text
        - `find_origins` boolean: Find the origin spans of the summary text
        - `clean_summary` boolean: Perform cleanup of article summary
      - BaseSkillParams
        - `output_labels` string[]: Output labels filter
  - `input_type` 'article' | 'conversation' | 'auto-detect': An enumeration.
  - `output_type` 'text' | 'json': An enumeration.
  - `encoding` 'base64' | 'utf8': An enumeration.
  - `content_type` 'text/plain' | 'text/pdf' | 'text/html' | 'text/srt' | 'text/google_transcribe' | 'text/vtt' | 'text/csv' | 'audio/wav' | 'audio/x-wav' | 'audio/mp3' | 'audio/m4a' | 'audio/x-m4a' | 'audio/mpeg' | 'audio/ds2' | 'img/jpg' | 'application/json' | 'text/pptx' | 'text/docx' | 'text/epub' | 'text/doc': An enumeration.
  - `charset` string: Text charset
  - `labels` Label[]
    - `type` string: Label type
    - `skill` string: Label type
    - `name` string: Label name
    - `value` unknown
    - `speaker` string: Speaker
    - `data` object: Optional data
    - `span_text` string: Span text
    - `span` integer[]
    - `output_spans` OutputSpan[]: Utterance spans
      - `section` integer, required: Utterance index
      - `start` integer, required: Start position
      - `end` integer, required: End position
    - `origin` string: Origin value
    - `input_spans` OutputSpan[]: Origin utterance spans
      - `section` integer, required: Utterance index
      - `start` integer, required: Start position
      - `end` integer, required: End position
    - `timestamp` string: Span timestamp
    - `timestamp_end` string: Span timestamp end
  - `multilingual` MultiLanguageInput
    - `enabled` boolean: Enable multi-language input
    - `allowed_input_languages` string[]: List of accepted input languages, two-letter codes (ISO-639) or ["ALL"]
    - `translate_output_to` string: Translate output to this language code, two-letter (ISO-639)
    - `expected_languages` string[]: Expected languages of input, two-letter (ISO-639)
    - `override_language_detection` boolean: Override language detection
  - `output_language` string: Output language
  - `include_empty_outputs` boolean: Include empty outputs in the response
  - `csv_params` CsvParams
    - `columns` union[], required: List of columns to use as input
      - union
        - 'input': An enumeration.
        - boolean
        - string
    - `skip_rows` integer: Number of rows to skip at the beginning of the file
    - `max_rows` integer: Maximum number of rows to process
  - `max_input_words` integer: Text exceeding this value will be truncated
  - `webhook_url` string: Text exceeding this value will be truncated
  - `input` union: Input data
    - string
    - unknown[]
      - unknown
    - object
  - `text` union: Input text (deprecated)
    - string
    - unknown[]
      - unknown
    - object
  - `inputs` InputWithLabels[]: List of inputs
    - `input` union: Input data
      - string
      - unknown[]
        - unknown
      - object
    - `labels` Label[]
      - `type` string: Label type
      - `skill` string: Label type
      - `name` string: Label name
      - `value` unknown
      - `speaker` string: Speaker
      - `data` object: Optional data
      - `span_text` string: Span text
      - `span` integer[]
      - `output_spans` OutputSpan[]: Utterance spans
        - `section` integer, required: Utterance index
        - `start` integer, required: Start position
        - `end` integer, required: End position
      - `origin` string: Origin value
      - `input_spans` OutputSpan[]: Origin utterance spans
        - `section` integer, required: Utterance index
        - `start` integer, required: Start position
        - `end` integer, required: End position
      - `timestamp` string: Span timestamp
      - `timestamp_end` string: Span timestamp end

## Response `200`

Processed request

- union
  - PipelineOutput
    - `input_text` string: Input text
    - `input` unknown[]: Input
      - unknown
    - `status` 'success' | 'failure', required: An enumeration.
    - `error` string: Error message
    - `output` OutputBlock[]: Output blocks
      - `text_generated_by_step_name` string, required: Generating step name
      - `text_generated_by_step_id` integer, required: Generating step ID
      - `text` string: Output text
      - `contents` unknown[]: Contents
        - unknown
      - `labels` Label[]: Labels
        - `type` string: Label type
        - `skill` string: Label type
        - `name` string: Label name
        - `value` unknown
        - `speaker` string: Speaker
        - `data` object: Optional data
        - `span_text` string: Span text
        - `span` integer[]
        - `output_spans` OutputSpan[]: Utterance spans
          - `section` integer, required: Utterance index
          - `start` integer, required: Start position
          - `end` integer, required: End position
        - `origin` string: Origin value
        - `input_spans` OutputSpan[]: Origin utterance spans
          - `section` integer, required: Utterance index
          - `start` integer, required: Start position
          - `end` integer, required: End position
        - `timestamp` string: Span timestamp
        - `timestamp_end` string: Span timestamp end
    - `warnings` object: List of warning
    - `stats` JobStatistics
      - `concurrency_wait_time` number, required: Time spent waiting for free execution slot
  - PipelineBatchOutput
    - `stats` JobStatistics
      - `concurrency_wait_time` number, required: Time spent waiting for free execution slot
    - `outputs` PipelineOutputBase[], required: Pipeline outputs
      - `input_text` string: Input text
      - `input` unknown[]: Input
        - unknown
      - `status` 'success' | 'failure', required: An enumeration.
      - `error` string: Error message
      - `output` OutputBlock[]: Output blocks
        - `text_generated_by_step_name` string, required: Generating step name
        - `text_generated_by_step_id` integer, required: Generating step ID
        - `text` string: Output text
        - `contents` unknown[]: Contents
          - unknown
        - `labels` Label[]: Labels
          - `type` string: Label type
          - `skill` string: Label type
          - `name` string: Label name
          - `value` unknown
          - `speaker` string: Speaker
          - `data` object: Optional data
          - `span_text` string: Span text
          - `span` integer[]
          - `output_spans` OutputSpan[]: Utterance spans
            - `section` integer, required: Utterance index
            - `start` integer, required: Start position
            - `end` integer, required: End position
          - `origin` string: Origin value
          - `input_spans` OutputSpan[]: Origin utterance spans
            - `section` integer, required: Utterance index
            - `start` integer, required: Start position
            - `end` integer, required: End position
          - `timestamp` string: Span timestamp
          - `timestamp_end` string: Span timestamp end
      - `warnings` object: List of warning
    - `warnings` object: List of warning

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/oneai/apis/oneai-api.md) · [All operations](https://skmtc.dev/oneai/apis/oneai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oneai/apis/oneai-api/revisions/01f0b42c0220?raw)
