Skip to content

Upsert Batch Pipeline Documents

Deprecated
IReadOnlyList<CloudDocument> Pipelines.Documents.Upsert(DocumentUpsertParamsparameters, CancellationTokencancellationToken = default)
PUT/api/v1/pipelines/{pipeline_id}/documents

Batch create or update a document for a pipeline.

ParametersExpand Collapse
DocumentUpsertParams parameters
required string pipelineID
required IReadOnlyList<CloudDocumentCreate> body
required IReadOnlyDictionary<string, JsonElement> Metadata
required string Text
string? ID
IReadOnlyList<string> ExcludedEmbedMetadataKeys
IReadOnlyList<string> ExcludedLlmMetadataKeys
IReadOnlyList<Long>? PagePositions

indices in the CloudDocument.text where a new page begins. e.g. Second page starts at index specified by page_positions[1].

Upsert Batch Pipeline Documents

DocumentUpsertParams parameters = new()
{
    PipelineID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    Body =
    [
        new()
        {
            Metadata = new Dictionary<string, JsonElement>()
            {
                { "foo", JsonSerializer.SerializeToElement("bar") }
            },
            Text = "text",
            ID = "id",
            ExcludedEmbedMetadataKeys =
            [
                "string"
            ],
            ExcludedLlmMetadataKeys =
            [
                "string"
            ],
            PagePositions =
            [
                0
            ],
        },
    ],
};

var cloudDocuments = await client.Pipelines.Documents.Upsert(parameters);

Console.WriteLine(cloudDocuments);
[
  {
    "id": "id",
    "metadata": {
      "foo": "bar"
    },
    "text": "text",
    "excluded_embed_metadata_keys": [
      "string"
    ],
    "excluded_llm_metadata_keys": [
      "string"
    ],
    "page_positions": [
      0
    ],
    "status_metadata": {
      "foo": "bar"
    }
  }
]
Returns Examples
[
  {
    "id": "id",
    "metadata": {
      "foo": "bar"
    },
    "text": "text",
    "excluded_embed_metadata_keys": [
      "string"
    ],
    "excluded_llm_metadata_keys": [
      "string"
    ],
    "page_positions": [
      0
    ],
    "status_metadata": {
      "foo": "bar"
    }
  }
]
Note for AI agents: this documentation is built for programmatic access. - Overview of all docs: https://developers.llamaindex.ai/llms.txt - Any page is available as raw Markdown by appending index.md to its URL — e.g. https://developers.llamaindex.ai/llamaparse/parse/getting_started/index.md - Agent-friendly REST search APIs live under https://developers.llamaindex.ai/api/ — search (BM25 full-text), grep (regex), read (fetch a page), and list (browse the doc tree). See https://developers.llamaindex.ai/llms.txt for parameters. - A hosted documentation MCP server is available at https://developers.llamaindex.ai/mcp. If you support MCP, you can ask the user to install it for browsing these docs directly (an alternative to the REST API). Setup: https://developers.llamaindex.ai/for-agents/mcp/ - Other LlamaIndex tooling for agents — the LlamaParse Platform MCP server, agent skills and plugins, and the n8n node — is mapped at https://developers.llamaindex.ai/for-agents/