## Upsert Batch Pipeline Documents

`List<CloudDocument> pipelines().documents().upsert(DocumentUpsertParamsparams, RequestOptionsrequestOptions = RequestOptions.none())`

**put** `/api/v1/pipelines/{pipeline_id}/documents`

Batch create or update a document for a pipeline.

### Parameters

- `DocumentUpsertParams params`

  - `Optional<String> pipelineId`

  - `List<CloudDocumentCreate> body`

    - `Metadata metadata`

    - `String text`

    - `Optional<String> id`

    - `Optional<List<String>> excludedEmbedMetadataKeys`

    - `Optional<List<String>> excludedLlmMetadataKeys`

    - `Optional<List<Long>> pagePositions`

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

### Example

```java
package com.llamacloud_prod.api.example;

import com.llamacloud_prod.api.client.LlamaCloudClient;
import com.llamacloud_prod.api.client.okhttp.LlamaCloudOkHttpClient;
import com.llamacloud_prod.api.core.JsonValue;
import com.llamacloud_prod.api.models.pipelines.documents.CloudDocument;
import com.llamacloud_prod.api.models.pipelines.documents.CloudDocumentCreate;
import com.llamacloud_prod.api.models.pipelines.documents.DocumentUpsertParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        LlamaCloudClient client = LlamaCloudOkHttpClient.fromEnv();

        DocumentUpsertParams params = DocumentUpsertParams.builder()
            .pipelineId("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
            .addBody(CloudDocumentCreate.builder()
                .metadata(CloudDocumentCreate.Metadata.builder()
                    .putAdditionalProperty("foo", JsonValue.from("bar"))
                    .build())
                .text("text")
                .build())
            .build();
        List<CloudDocument> cloudDocuments = client.pipelines().documents().upsert(params);
    }
}
```

#### Response

```json
[
  {
    "id": "id",
    "metadata": {
      "foo": "bar"
    },
    "text": "text",
    "excluded_embed_metadata_keys": [
      "string"
    ],
    "excluded_llm_metadata_keys": [
      "string"
    ],
    "page_positions": [
      0
    ],
    "status_metadata": {
      "foo": "bar"
    }
  }
]
```
