---
title: "Get analytics refresh progress"
method: GET
path: "/v1/analytics/refresh"
tags: ["Analytics"]
---

# Get analytics refresh progress

`GET /v1/analytics/refresh`

## Request

- Base URL: `https://api.postlake.dev`
- URL: `https://api.postlake.dev/v1/analytics/refresh`
- Auth: `bearerAuth` (a scheme the document does not define)

Read the most recent workspace refresh state. Null means no refresh has been requested. collectionPaused is true while collection is suspended for service reliability; an existing queued or running job is not necessarily advancing. Complete means eligible collection finished, not that every provider returned every metric. errors counts unavailable readings; prior valid readings are preserved. MCP get_analytics includes this status in its response. Completion invalidates private saved reports immediately; measuredAt remains the metric collection timestamp.

## Response `200`

Progress or null

- object, nullable
  - `jobId` string
  - `state` 'queued' | 'running' | 'complete' | 'failed'
  - `collectionPaused` boolean: True when collection is suspended; queued/running jobs may not advance.
  - `startedAt` string, date-time
  - `updatedAt` string, date-time
  - `posts` integer
  - `errors` integer
  - `cursor` string, nullable

## Other responses

- `401`: Unauthorized

---

[API](https://skmtc.dev/postlake/apis/postlake-api.md) · [All operations](https://skmtc.dev/postlake/apis/postlake-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postlake/apis/postlake-api/revisions/f81060e31f69?raw)
