# List all time series

Returns a paginated list of computed time series for a specific Warehouse source.

[endpoint]
base_url = "https://warehouse.betterstack.com"
path = "/api/v1/sources/{source_id}/time_series"
method = "GET"

[[path_param]]
name = "source_id"
description = "The ID of the Warehouse source to retrieve time series for."
required = true
type = "string"

[[query_param]]
name = "page"
description = "The page number to retrieve. Defaults to 1."
required = false
type = "integer"

[[query_param]]
name = "per_page"
description = "The number of items per page. Defaults to 50, maximum of 100."
required = false
type = "integer"

[[header]]
name = "Authorization"
description = "Bearer `$TOKEN`"
required = true
type = "string"
[/endpoint]

[responses]
[[response]]
status = 200
description = '''A paginated list of time series configurations.'''
body = '''{
  "data": [
    {
      "id": "5215107",
      "type": "time_series",
      "attributes": {
        "name": "level",
        "sql_expression": "JSONExtract(raw, 'level', 'Nullable(String)')",
        "aggregations": [],
        "type": "string_low_cardinality",
        "expression_index": null
      }
    }
  ],
  "pagination": {
    "first": "https://warehouse.betterstack.com/api/v1/sources/12345/time_series?page=1",
    "last": "https://warehouse.betterstack.com/api/v1/sources/12345/time_series?page=1",
    "prev": null,
    "next": null
  }
}'''

[[response]]
status = 401
description = '''Unauthorized'''
body = '''{
  "errors": "Invalid authentication"
}'''

[[response]]
status = 404
description = '''Not Found'''
body = '''{
  "errors": "Source with the provided ID was not found"
}'''
[/responses]

#### Example cURL

```shell
[label Example]
curl --request GET \
  --url https://warehouse.betterstack.com/api/v1/sources/12345/time_series \
  --header "Authorization: Bearer $TOKEN"
```
