## List Saved Reports

`print_mail.reports.list(ReportListParams**kwargs)  -> SyncSkipLimit[Report]`

**get** `/print-mail/v1/reports`

Retrieve a list of saved reports for your organization.

### Parameters

- `limit: Optional[int]`

- `search: Optional[str]`

  You can supply any string to help narrow down the list of resources. For example, if you pass `"New York"` (quoted), it will return resources that have that string present somewhere in their response. Alternatively, you can supply a structured search query. See the documentation on `StructuredSearchQuery` for more details.

- `skip: Optional[int]`

### Returns

- `class Report: …`

  Represents a saved Report definition.

  - `id: str`

    Unique identifier for the report.

  - `created_at: datetime`

    Timestamp when the report was created.

  - `live: bool`

    Indicates if the report is associated with the live or test environment.

  - `object: Literal["report"]`

    Always `report`.

    - `"report"`

  - `sql_query: str`

    The SQL query defining the report.

  - `updated_at: datetime`

    Timestamp when the report was last updated.

  - `description: Optional[str]`

    An optional user-friendly description for the report.

  - `metadata: Optional[Dict[str, str]]`

    Optional key-value metadata associated with the report.

### Example

```python
import os
from postgrid import PostGrid

client = PostGrid(
    print_mail_api_key=os.environ.get("POSTGRID_PRINT_MAIL_API_KEY"),  # This is the default and can be omitted
)
page = client.print_mail.reports.list()
page = page.data[0]
print(page.id)
```

#### Response

```json
{
  "object": "list",
  "limit": 10,
  "skip": 0,
  "totalCount": 1,
  "data": [
    {
      "id": "report_123",
      "object": "report",
      "live": false,
      "sqlQuery": "SELECT id, status FROM orders WHERE created_at > ?",
      "description": "Recent Orders",
      "metadata": {
        "team": "Sales"
      },
      "createdAt": "2023-10-27T10:00:00Z",
      "updatedAt": "2023-10-27T10:00:00Z"
    }
  ]
}
```
