# The API reference.

> https://meetkeely.com/developers/api · Updated 2026-11-06 · Keely, by Metrica Fit LLC

## Endpoints

| Endpoint | Scope | What it answers |
|---|---|---|
| [GET /v1](https://meetkeely.com/developers/api#get-v1) | none | The API’s name, version and endpoints |
| [GET /v1/me](https://meetkeely.com/developers/api/me#get-v1-me) | none; `profile` for the profile and band | The person’s id, your scopes, your app, their profile and band |
| [GET /v1/days/latest](https://meetkeely.com/developers/api/days#get-v1-days-latest) | `nights` or `days` | The latest morning and day |
| [GET /v1/days/{date}](https://meetkeely.com/developers/api/days#get-v1-days-date) | `nights` or `days` | One morning and day |
| [GET /v1/days](https://meetkeely.com/developers/api/days#get-v1-days) | `nights` or `days` | Up to 92 days, `from` to `to` |
| [GET /v1/series/{metric}](https://meetkeely.com/developers/api/series#get-v1-series-metric) | `nights` or `days`, by metric | One metric, one point per date, up to 366 days |
| [GET /v1/workouts](https://meetkeely.com/developers/api/workouts#get-v1-workouts) | `workouts` | Up to 92 days of workouts |
| [GET /v1/workouts/{id}](https://meetkeely.com/developers/api/workouts#get-v1-workouts-id) | `workouts` | One workout |
| [GET /v1/normals](https://meetkeely.com/developers/api/normals#get-v1-normals) | `nights` | The person’s 30-night normals |
| [GET /v1/journal/tags](https://meetkeely.com/developers/api/journal#get-v1-journal-tags) | `journal` | The journal’s tags |
| [POST /v1/journal/tags](https://meetkeely.com/developers/api/journal#post-v1-journal-tags) | `journal:write` | Make a tag |
| [GET /v1/journal/entries](https://meetkeely.com/developers/api/journal#get-v1-journal-entries) | `journal` | Up to 92 days of entries |
| [POST /v1/journal/entries](https://meetkeely.com/developers/api/journal#post-v1-journal-entries) | `journal:write` | Add entries |
| [DELETE /v1/journal/entries/{id}](https://meetkeely.com/developers/api/journal#delete-v1-journal-entries-id) | `journal:write` | Delete an entry your app added |
| [GET /v1/changes](https://meetkeely.com/developers/api/changes#get-v1-changes) | any | What changed since a time, in your scopes |
| [GET /v1/events](https://meetkeely.com/developers/api/events#get-v1-events) | any | The events of the last 30 days, in your scopes: what the webhooks deliver |
| [GET /v1/explain](https://meetkeely.com/developers/api/explain#get-v1-explain) | none | The topics Keely explains |
| [GET /v1/explain/{topic}](https://meetkeely.com/developers/api/explain#get-v1-explain-topic) | none | How a number is computed |

## GET /v1

- **Scope:** none

The API’s name and version, with links.

```json Response
{
  "name": "Keely API",
  "version": "1.0",
  "documentation": "https://meetkeely.com/developers",
  "openapi": "https://meetkeely.com/openapi.json",
  "methodology": "https://meetkeely.com/methodology",
  "endpoints": ["/v1", "/v1/me", "/v1/days/latest", "/v1/days/{date}", "…"]
}
```
