---
title: "Read project-scoped telemetry overview for the dashboard"
method: GET
path: "/projects/{id}/telemetry/overview"
---

# Read project-scoped telemetry overview for the dashboard

`GET /projects/{id}/telemetry/overview`

## Request

- Base URL: `https://api.eurobase.dev`
- URL: `https://api.eurobase.dev/projects/{id}/telemetry/overview`
- Auth: none declared

## Path parameters

- `id` string, required

## Query parameters

- `timeRange` '30m' | '6h' | '24h' | '7d'

## Response `200`

Project telemetry overview

- ProjectTelemetryOverviewResponse
  - `project` ProjectSummary, required
    - `id` string, required
    - `name` string, nullable
    - `organizationId` string, nullable
    - `projectMembershipId` string, nullable
    - `projectRole` 'owner' | 'admin' | 'contributor' | 'null', nullable
    - `projectSlug` string, nullable
    - `projectHostname` string, nullable
    - `primaryHostname` string, nullable: Official address of the project: its active custom domain whose DNS points at Eurobase, the one that went live first when several do, otherwise projectHostname. projectHostname stays reserved and keeps serving.
    - `deploymentMode` 'runtime' | 'static', required
    - `lifecycleState` string, nullable
    - `deleteRequestedAt` string, date-time, nullable
    - `projectRoute` ProjectRoute, required
      - `status` 'healthy' | 'repairing' | 'degraded' | 'broken' | 'unknown', required
      - `reasonCode` 'none' | 'dns_record_missing' | 'dns_propagating' | 'domain_binding_missing' | 'tls_pending' | 'missing_project_upstream' | 'upstream_unreachable' | 'ingress_unreachable' | 'unmanaged_custom_domain' | 'scw_mutation_failed', required
      - `checkedAt` string, date-time, nullable
      - `lastRepairAt` string, date-time, nullable
      - `lastError` string, nullable
      - `managed` boolean, required
      - `convergenceState` 'recovering' | 'exhausted' | 'ready' | 'null', nullable
      - `upstream` ProjectUpstreamState, required
        - `status` 'healthy' | 'broken' | 'unknown', required
        - `reasonCode` 'none' | 'missing_project_upstream' | 'upstream_unreachable', required
        - `checkedAt` string, date-time, nullable
        - `lastError` string, nullable
    - `releaseUsability` ReleaseUsability, required
      - `status` 'reachable' | 'degraded' | 'blocked' | 'unknown', required
      - `reasonCode` 'none' | 'missing_live_release' | 'access_not_allowed' | 'route_repair_in_progress' | 'route_incident' | 'project_suspended', required
      - `lastLiveDeploymentId` string, nullable, required
    - `projectSummaryStatus` ProjectSummaryStatus
      - `label` string, required
      - `tone` 'neutral' | 'problem' | 'error', required
      - `code` 'setup_required' | 'route_issue' | 'deploy_failed' | 'deploy_unhealthy' | 'live_release_blocked' | 'status_check_delayed' | 'deploy_in_progress' | 'rollback_live' | 'healthy' | 'suspended', required
      - `detailTitle` string, nullable, required
      - `detail` string, nullable, required
    - `servingSuspension` ProjectServingSuspension: An operator suspension of the project's public serving (ADR 0080). Operator notes and evidence are never included.
      - `state` 'suspended', required
      - `reasonCategory` 'phishing' | 'malware' | 'shared_domain_abuse' | 'spam' | 'illegal_content' | 'legal_order' | 'other_policy_violation', required
      - `reasonLabel` string, required
      - `since` string, date-time, nullable, required
      - `supportEmail` string, required
      - `policyUrl` string, required
    - `sourceProfile` ProjectSourceProfileSummary, required
      - `framework` 'next' | 'astro' | 'svelte-kit' | 'nuxt' | 'react-router' | 'vite' | 'hono' | 'nestjs' | 'fastify' | 'express' | 'django' | 'fastapi' | 'flask' | 'laravel' | 'rails' | 'node' | 'python' | 'php' | 'ruby' | 'go' | 'java' | 'dotnet' | 'static', required
      - `frameworkLabel` string, required
      - `outputMode` 'runtime' | 'static', required
    - `sourceLock` ProjectSourceLock: ADR 0090: while locked, no caller can change the project repository, branch, root directory or deployment mode.
      - `locked` boolean, required
      - `lockedAt` string, date-time, nullable, required
  - `timeRange` '30m' | '6h' | '24h' | '7d', required
  - `windowGranularity` '5m' | '1h' | '1d', required
  - `windowStart` string, date-time, required
  - `windowEnd` string, date-time, required
  - `bucketStarts` string[], required
  - `availability` 'ready' | 'partial' | 'unavailable' | 'cutover_incomplete', required
  - `totals` object, required
    - `totalActivity` integer, nullable, required
    - `totalRequests` integer, required
    - `successRate` number, nullable, required: Percentage of requests with a recorded status that did not return 5xx; null when none has a status.
  - `series` object, required
    - `totalActivity` integer[], required
    - `totalRequests` integer[], required
  - `families` object, required
    - `deploymentTraffic` ProjectTelemetryFamilySummary, required
      - `value` integer, nullable, required
      - `series` integer[], nullable, required
      - `statusTotals` object, nullable, required
        - `success` integer, required
        - `warning` integer, required
        - `error` integer, required
      - `statusSeries` object, nullable, required
        - `success` integer[], required
        - `warning` integer[], required
        - `error` integer[], required
      - `blockedTotal` integer, nullable, required: Requests the Mini WAF blocked on this family's surfaces in the window (ADR 0109). Not part of value. Null when there were none, the family has no blockable surfaces, or the value is unavailable.
      - `blockedSeries` integer[], nullable, required: Blocked requests per bucket, aligned with series; null when blockedTotal is null.
      - `availability` 'ready' | 'partial' | 'unavailable' | 'cutover_incomplete', required
      - `includedInTotal` boolean, required
      - `coverage` ProjectTelemetryCoverage, required
        - `fullyIncluded` boolean, required
        - `includedSubsurfaces` string[], nullable, required
        - `missingSubsurfaces` string[], nullable, required
      - `cutoverStartedAt` string, date-time, nullable, required
      - `updatedAt` string, date-time, required
      - `reason` string, nullable, required
    - `containerTraffic` ProjectTelemetryFamilySummary, required
      - `value` integer, nullable, required
      - `series` integer[], nullable, required
      - `statusTotals` object, nullable, required
        - `success` integer, required
        - `warning` integer, required
        - `error` integer, required
      - `statusSeries` object, nullable, required
        - `success` integer[], required
        - `warning` integer[], required
        - `error` integer[], required
      - `blockedTotal` integer, nullable, required: Requests the Mini WAF blocked on this family's surfaces in the window (ADR 0109). Not part of value. Null when there were none, the family has no blockable surfaces, or the value is unavailable.
      - `blockedSeries` integer[], nullable, required: Blocked requests per bucket, aligned with series; null when blockedTotal is null.
      - `availability` 'ready' | 'partial' | 'unavailable' | 'cutover_incomplete', required
      - `includedInTotal` boolean, required
      - `coverage` ProjectTelemetryCoverage, required
        - `fullyIncluded` boolean, required
        - `includedSubsurfaces` string[], nullable, required
        - `missingSubsurfaces` string[], nullable, required
      - `cutoverStartedAt` string, date-time, nullable, required
      - `updatedAt` string, date-time, required
      - `reason` string, nullable, required
    - `functionHostTraffic` ProjectTelemetryFamilySummary, required
      - `value` integer, nullable, required
      - `series` integer[], nullable, required
      - `statusTotals` object, nullable, required
        - `success` integer, required
        - `warning` integer, required
        - `error` integer, required
      - `statusSeries` object, nullable, required
        - `success` integer[], required
        - `warning` integer[], required
        - `error` integer[], required
      - `blockedTotal` integer, nullable, required: Requests the Mini WAF blocked on this family's surfaces in the window (ADR 0109). Not part of value. Null when there were none, the family has no blockable surfaces, or the value is unavailable.
      - `blockedSeries` integer[], nullable, required: Blocked requests per bucket, aligned with series; null when blockedTotal is null.
      - `availability` 'ready' | 'partial' | 'unavailable' | 'cutover_incomplete', required
      - `includedInTotal` boolean, required
      - `coverage` ProjectTelemetryCoverage, required
        - `fullyIncluded` boolean, required
        - `includedSubsurfaces` string[], nullable, required
        - `missingSubsurfaces` string[], nullable, required
      - `cutoverStartedAt` string, date-time, nullable, required
      - `updatedAt` string, date-time, required
      - `reason` string, nullable, required
    - `storageActivity` ProjectTelemetryFamilySummary, required
      - `value` integer, nullable, required
      - `series` integer[], nullable, required
      - `statusTotals` object, nullable, required
        - `success` integer, required
        - `warning` integer, required
        - `error` integer, required
      - `statusSeries` object, nullable, required
        - `success` integer[], required
        - `warning` integer[], required
        - `error` integer[], required
      - `blockedTotal` integer, nullable, required: Requests the Mini WAF blocked on this family's surfaces in the window (ADR 0109). Not part of value. Null when there were none, the family has no blockable surfaces, or the value is unavailable.
      - `blockedSeries` integer[], nullable, required: Blocked requests per bucket, aligned with series; null when blockedTotal is null.
      - `availability` 'ready' | 'partial' | 'unavailable' | 'cutover_incomplete', required
      - `includedInTotal` boolean, required
      - `coverage` ProjectTelemetryCoverage, required
        - `fullyIncluded` boolean, required
        - `includedSubsurfaces` string[], nullable, required
        - `missingSubsurfaces` string[], nullable, required
      - `cutoverStartedAt` string, date-time, nullable, required
      - `updatedAt` string, date-time, required
      - `reason` string, nullable, required
  - `breakdowns` object, required
    - `deploymentTraffic` object, required
      - `bySurfaceKind` ProjectTelemetryBreakdownItem[], required
        - `key` string, required
        - `value` integer, nullable, required
      - `byStatusClass` ProjectTelemetryBreakdownItem[], required
        - `key` string, required
        - `value` integer, nullable, required
    - `containerTraffic` object, required
      - `bySurfaceKind` ProjectTelemetryBreakdownItem[], required
        - `key` string, required
        - `value` integer, nullable, required
      - `byStatusClass` ProjectTelemetryBreakdownItem[], required
        - `key` string, required
        - `value` integer, nullable, required
    - `functionHostTraffic` object, required
      - `byStatusClass` ProjectTelemetryBreakdownItem[], required
        - `key` string, required
        - `value` integer, nullable, required
    - `storageActivity` object, required
      - `byOperationKind` ProjectTelemetryBreakdownItem[], required
        - `key` string, required
        - `value` integer, nullable, required
      - `byActorType` ProjectTelemetryBreakdownItem[], required
        - `key` string, required
        - `value` integer, nullable, required
  - `updatedAt` string, date-time, required

---

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