Source: https://dinakar-rewind.docs.pageloop.ai/api-reference/coding/getcodingstats

# Coding stats

GET `https://api.rewind.rest/v1/coding/stats`

Aggregate coding statistics: coding seconds and active days (WakaTime), commit/PR/issue counts (GitHub), and a screen-time breakdown (RescueTime). Optional date/from/to params scope every aggregation to the range.

## Authorization

#### Authorization (header, string, required)

API key. Read keys (rw\_live\_...) access GET endpoints. Admin keys (rw\_admin\_...) access all endpoints.

## Query Parameters

#### date (query, string)

Single day (YYYY-MM-DD). Overrides from/to.

#### from (query, string)

Range start, inclusive (ISO 8601)

#### to (query, string)

Range end, inclusive (ISO 8601)

## Response

#### 200

Coding statistics

#### coding\_seconds (number, required)

#### coding\_days (number, required)

#### commits (number, required)

#### prs (number, required)

#### issues (number, required)

#### screen\_time (object, required)

#### properties

#### total\_seconds (number, required)

#### very\_productive\_seconds (number, required)

#### productive\_seconds (number, required)

#### neutral\_seconds (number, required)

#### distracting\_seconds (number, required)

#### very\_distracting\_seconds (number, required)

#### 400

Bad request

#### error (string, required)

#### status (integer, required)

#### 401

Unauthorized

#### error (string, required)

#### status (integer, required)

#### Request

```bash cURL
curl -X GET 'https://api.rewind.rest/v1/coding/stats' \
  -H 'Authorization: Bearer <token>'
```

```javascript JavaScript
const res = await fetch('https://api.rewind.rest/v1/coding/stats', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer <token>',
  },
});
const data = await res.json();
```

```python Python
import requests

res = requests.get(
    'https://api.rewind.rest/v1/coding/stats',
    headers={'Authorization': 'Bearer <token>'}
)
data = res.json()
```

#### Response

```json 200
{
  "coding_seconds": 0,
  "coding_days": 0,
  "commits": 0,
  "prs": 0,
  "issues": 0,
  "screen_time": {
    "total_seconds": 0,
    "very_productive_seconds": 0,
    "productive_seconds": 0,
    "neutral_seconds": 0,
    "distracting_seconds": 0,
    "very_distracting_seconds": 0
  }
}
```

```json 400
{
  "error": "Not found",
  "status": 404
}
```

```json 401
{
  "error": "Not found",
  "status": 404
}
```
