Source: https://seerepo.com/docs/api-figures
Markdown source: https://seerepo.com/docs/api-figures.md
Description: The repo's figures: the whole history's and the last days'.

# Get the figures

`GET https://seerepo.com/api/v1/repos/:repo/figures`

Returns the repo's figures, the same as Journey and Structure: commits, the share written with AI and by which agents, lines, files, and the last 24 hours, 7 and 30 days. A figure SeeRepo hasn't measured comes as null.

## Request

| Parameter | Where | Description |
|---|---|---|
| `repo` | path | The repo's id, or owner/name with %2F. |

```sh
curl "https://seerepo.com/api/v1/repos/6ad79fd8e89233277ded17c9/figures" \
  -H "Authorization: Bearer $SEEREPO_KEY"
```

## Response

| Field | Type | Description |
|---|---|---|
| `data.plan` | string | `free` on a repo on the free look: like its page, it keeps the commits, the share written with AI and the size, and gives `agents` empty and `peakHour`, `testCoverage`, `todos` and each period's parts changed as null. Absent otherwise. |
| `data.repo` | object | The repo: its id and owner/name. |
| `data.firstCommitAt` | string\|null | Its first commit. |
| `data.peakHour` | number\|null | The hour of the day with most commits, 0 to 23. |
| `data.testCoverage` | number\|null | The share of product files a test covers, in %. |
| `data.largestFile` | object\|null | Its largest file: path and lines. |
| `data.todos` | number\|null | How many TODOs the code has. |
| `data.lastCommit` | string\|null | The day of its last commit. |
| `data.commits` | number | Every commit in its history. |
| `data.writtenWithAi` | number | The share of commits an agent signed, in %. |
| `data.agents[]` | object | Each agent, its commits and its share. |
| `data.linesWritten` | number | Lines written by people and agents, without what's generated. |
| `data.productFiles / data.testFiles` | number | Files of the product and of its tests. |
| `data.last` | object | For 24h, 7d and 30d: commits, parts changed and whether an agent worked. |

### Example

```json
{
  "status": "success",
  "data": {
    "repo": {
      "id": "6ad79fd8e89233277ded17c9",
      "fullName": "ana/tienda"
    },
    "commits": 42,
    "writtenWithAi": 61,
    "agents": [
      {
        "name": "Claude",
        "commits": 20,
        "share": 48
      }
    ],
    "linesWritten": 5300,
    "productFiles": 80,
    "testFiles": 4,
    "last": {
      "24h": {
        "commits": 1,
        "partsChanged": 2,
        "agents": true
      },
      "7d": {
        "commits": 9,
        "partsChanged": 14,
        "agents": true
      },
      "30d": {
        "commits": 42,
        "partsChanged": 51,
        "agents": true
      }
    }
  }
}
```

## Authentication

An API key as `Authorization: Bearer sr_…`. See [Authentication](/docs/api#authentication).

## Errors

Besides the ones every endpoint has (401, 404, 429), see [Errors](/docs/api#errors).
