## Get Pipeline Document Status Counts

`pipelines.documents.get_status_counts(strpipeline_id, DocumentGetStatusCountsParams**kwargs)  -> DocumentGetStatusCountsResponse`

**get** `/api/v1/pipelines/{pipeline_id}/documents/status-counts`

Count the documents in a pipeline, grouped by ingestion status.

Counts reflect each document's last recorded status rather than a freshly computed one, so a document that changed status in the last few moments may still be counted under its previous one. Use `GET /pipelines/{pipeline_id}/documents/{document_id}/status` when a single document's status has to be up to the moment.

### Parameters

- `pipeline_id: str`

- `data_source_id: Optional[str]`

- `file_id: Optional[str]`

- `only_direct_upload: Optional[bool]`

- `project_id: Optional[str]`

### Returns

- `class DocumentGetStatusCountsResponse: …`

  Counts of the documents in a pipeline, grouped by ingestion status.

  - `counts: Dict[str, int]`

    Number of documents per ingestion status; every status is present.

  - `pipeline_id: str`

    ID of the pipeline the documents belong to.

  - `total_count: int`

    Total number of documents counted.

  - `data_source_id: Optional[str]`

    Data source the counts were restricted to.

  - `file_id: Optional[str]`

    File the counts were restricted to.

  - `only_direct_upload: Optional[bool]`

    Whether only directly uploaded documents were counted.

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
response = client.pipelines.documents.get_status_counts(
    pipeline_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(response.pipeline_id)
```

#### Response

```json
{
  "counts": {
    "foo": 0
  },
  "pipeline_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "total_count": 0,
  "data_source_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "file_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
  "only_direct_upload": true
}
```
