> ## Documentation Index
> Fetch the complete documentation index at: https://docs.miningwood.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Available Months

> Retrieves a list of all months that have trading data available

## Endpoint

```
GET /api/months
```

## Authentication

Requires OAuth 2.0 authentication via session cookies.

## Parameters

None

## Response

<ResponseField name="success" type="boolean" required>
  Indicates if the request was successful
</ResponseField>

<ResponseField name="months" type="array" required>
  List of month objects

  <Expandable title="Month Object">
    <ResponseField name="month" type="string">
      Month in YYYY-MM format
    </ResponseField>

    <ResponseField name="total_return_with_dividends" type="number">
      Total return including dividends for that month
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="data_source" type="string" required>
  Database source (always "postgresql")
</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://your-domain.com/api/months \
    -H "Cookie: session=your_session_cookie"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('/api/months');
  const data = await response.json();

  if (data.success) {
    console.log('Available months:', data.months);
  }
  ```

  ```python Python theme={null}
  import requests

  response = requests.get('http://localhost:5000/api/months')
  data = response.json()

  if data['success']:
      for month in data['months']:
          print(f"{month['month']}: ${month['total_return_with_dividends']}")
  ```
</CodeGroup>

## Response Example

```json theme={null}
{
  "success": true,
  "months": [
    {
      "month": "2024-08",
      "total_return_with_dividends": 1250.75
    },
    {
      "month": "2024-07",
      "total_return_with_dividends": -320.50
    },
    {
      "month": "2024-06",
      "total_return_with_dividends": 890.25
    }
  ],
  "data_source": "postgresql"
}
```

## Error Responses

<ResponseExample>
  ```json Database Connection Failed theme={null}
  {
    "success": false,
    "error": "Database connection failed"
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json Unauthorized theme={null}
  {
    "success": false,
    "error": "Authentication required",
    "redirect_to_login": true
  }
  ```
</ResponseExample>
