## Create Batch Pipeline Documents

`IReadOnlyList<CloudDocument> Pipelines.Documents.Create(DocumentCreateParamsparameters, CancellationTokencancellationToken = default)`

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

Batch create documents for a pipeline.

### Parameters

- `DocumentCreateParams 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].

### Example

```csharp
DocumentCreateParams 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.Create(parameters);

Console.WriteLine(cloudDocuments);
```

#### 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"
    }
  }
]
```
