## Get Pipeline Document

`CloudDocument Pipelines.Documents.Get(DocumentGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v1/pipelines/{pipeline_id}/documents/{document_id}`

Return a single document for a pipeline.

### Parameters

- `DocumentGetParams parameters`

  - `required string pipelineID`

  - `required string documentID`

### Returns

- `class CloudDocument:`

  Cloud document stored in S3.

  - `required string ID`

  - `required IReadOnlyDictionary<string, JsonElement> Metadata`

  - `required string Text`

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

  - `IReadOnlyDictionary<string, JsonElement>? StatusMetadata`

### Example

```csharp
DocumentGetParams parameters = new()
{
    PipelineID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    DocumentID = "document_id",
};

var cloudDocument = await client.Pipelines.Documents.Get(parameters);

Console.WriteLine(cloudDocument);
```

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