---
title: "Per-source latest sync state and time-since-last-event"
method: GET
path: "/v1/analytics/knowledge/connectors/freshness"
tags: ["analytics"]
---

# Per-source latest sync state and time-since-last-event

`GET /v1/analytics/knowledge/connectors/freshness`

## Query parameters

- `knowledge_base_id` string, nullable

## Response `200`

Successful Response

- ConnectorFreshnessRow[]
  - `knowledge_base_source_id` string, required
  - `knowledge_base_id` string, required
  - `provider` string, required
  - `last_status` string, required
  - `last_event_type` string, required
  - `last_sync_started_at` string, date-time, nullable
  - `last_sync_completed_at` string, date-time, nullable
  - `last_duration_ms` number, nullable
  - `last_items_processed` integer, required
  - `last_items_succeeded` integer, required
  - `last_items_failed` integer, required
  - `last_items_unchanged` integer, required
  - `last_error_message` string, nullable
  - `last_event_at` string, date-time, required
  - `time_since_last_event_seconds` integer, required

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `422` — Validation Error

## Changes

- **2026-08-12** `5a5597ebb2d6` — 4 info
  - added the optional property `retry_after` to the response with the `400` status
  - added the optional property `retry_after` to the response with the `401` status
  - added the optional property `retryable` to the response with the `400` status
  - added the optional property `retryable` to the response with the `401` status

[Change history](https://skmtc.dev/oneloop-hq/apis/feather-api/changes/v1/analytics/knowledge/connectors/freshness/get.md)

---

[API](https://skmtc.dev/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.dev/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/9cd7291d4228/schema)
