> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ringg.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> To search or read these docs, connect the Ringg docs MCP server at https://docs.ringg.ai/mcp (no key needed; tools search_ringg_ai and query_docs_filesystem_ringg_ai) instead of browsing pages one by one. Setup for each client: https://docs.ringg.ai/resources/mcp-server/docs-mcp-server/mcp-for-ai-assistants.md
> The dashboard labels agents "Assistants"; these docs say "agent". Both mean the same object, identified by agent_id.
> API base URL: https://prod-api.ringg.ai/ca/api/v0. Send the workspace API key in the X-API-KEY header, from server-side code only.
> Placing a call dials a real phone number and spends credits. Confirm the number with the user before calling.
> To act on a Ringg workspace (place calls, edit agents, read transcripts), use the separate Ringg workspace MCP server at https://mcp.ringg.ai/mcp: https://docs.ringg.ai/resources/mcp-server/workspace-mcp-server/overview.md

> Get how up to date your workspace's analytics data is, as a data-as-of timestamp and lag in seconds, to label dashboards and decide when to refetch.

# Get Data Freshness

export const RelatedTopics = ({items}) => <div className="not-prose mt-12">
    <div className="text-sm font-medium text-gray-500 dark:text-zinc-400 mb-3">Related topics</div>
    <div className="flex flex-col gap-2.5">
      {items.map(([title, href]) => <a key={href} href={href} className="flex items-center gap-2.5 text-sm text-gray-700 hover:text-gray-950 dark:text-zinc-300 dark:hover:text-white">
          <Icon icon="file-text" size={16} color="currentColor" />
          {title}
        </a>)}
    </div>
  </div>;

Show `data_as_of` as a "data as of" label. `version` changes whenever new data lands, so refetch only when it differs from the last value you saw.

## Notes

* `data_as_of` and `lag_seconds` are `null` and `version` is `0` before your workspace has any analytics data.

## Errors

* `401`: `X-API-KEY` is missing or invalid.

<RelatedTopics items={[["Analytics", "/documentation/monitor/analytics"], ["Get call history", "/api-reference/monitoring/call-history/get-call-history"]]} />


## OpenAPI

````yaml get /analytics/v4/data-freshness
openapi: 3.0.0
info:
  title: Ringg AI API Documentation
  description: >-
    The Ringg AI REST API. Base URL https://prod-api.ringg.ai/ca/api/v0; send
    your workspace API key in the X-API-KEY header from server-side code only.
    Requests and responses are JSON.
  version: 2.0.0
  contact:
    name: Ringg AI support
    email: admin@ringg.ai
    url: https://docs.ringg.ai
servers:
  - url: https://prod-api.ringg.ai/ca/api/v0
security:
  - ApiKeyAuth: []
tags:
  - name: workspace
    description: Endpoints for managing your workspace.
  - name: agent
    description: Endpoints for managing agents.
  - name: calling
    description: Endpoints for making and managing calls.
  - name: campaign
    description: Endpoints for managing campaigns.
  - name: analytics
    description: >-
      Analytics v4 endpoints for call, agent, cohort and chat performance
      metrics.
  - name: termination
    description: Endpoints for terminating active calls using different methods.
  - name: knowledgebase
    description: Endpoints for managing knowledge bases.
paths:
  /analytics/v4/data-freshness:
    get:
      tags:
        - analytics
      summary: Get Data Freshness
      description: Returns how up to date the analytics data is for the workspace.
      operationId: getDataFreshness
      parameters: []
      responses:
        '200':
          description: Data freshness retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data_as_of:
                    type: string
                    description: >-
                      Timestamp (ISO-8601, UTC) the analytics data is current
                      to. `null` when there is no data yet.
                    nullable: true
                  lag_seconds:
                    type: number
                    description: Seconds between `data_as_of` and now.
                    nullable: true
                  version:
                    type: integer
                    description: >-
                      Data version. It changes whenever new data lands, so you
                      can use it to decide when to refetch.
              example:
                data_as_of: '2026-10-15T12:00:00+00:00'
                lag_seconds: 12.3
                version: 1792584000000000
        '401':
          description: Unauthorized - Invalid or missing authentication.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              example:
                message: Failed to fetch data freshness!
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.