# Get provider spending timeline

> Returns spending timeline for a specific provider

Source: https://docs.levelfour.ai/api-reference/providers/get-providers-by-id-costs-timeline


## GET /api/v1/providers/{provider_id}/costs/timeline

Returns spending timeline for a specific provider

### Authentication

Send `Authorization: Bearer <token>`.

### Parameters

- `provider_id` (path, string, required)
- `start` (query, string, nullable): Start date in ISO 8601 format
- `end` (query, string, nullable): End date in ISO 8601 format
- `granularity` (query, string, default `daily`): Granularity: 'daily' or 'monthly'

### Responses

#### 200: Successful Response

- `success` (boolean, default `true`)
- `timestamp` (date-time string)
- `data` (object, required): Provider spending timeline data
  - `provider_id` (string, required): Provider identifier
  - `provider_name` (string, required): Display name
  - `granularity` (string, required): Granularity: 'daily' or 'monthly'
  - `start_date` (string, required): Start date in YYYY-MM-DD format
  - `end_date` (string, required): End date in YYYY-MM-DD format
  - `data_points` (array of object, required): Timeline data points
    - `date` (string, required): Date in YYYY-MM-DD format
    - `amount` (number, required): Total cost for this day
  - `total` (number, required): Total cost for the period

#### Errors

- `400`: Bad Request
- `401`: Authentication Error
- `403`: Authorization Error
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Rate Limit Exceeded
- `500`: Internal Server Error

Body of `400`, `401`, `403`, `404`, `409`, `422`, `429`, `500`:

- `success` (`false`, required)
- `error` (object, required)
  - `code` (string, required)
  - `message` (string, required)
  - `details` (any)
- `timestamp` (date-time string, required)
