---
title: "Read one project telemetry family detail view"
method: GET
path: "/projects/{id}/telemetry/families/{family}"
---

# Read one project telemetry family detail view

`GET /projects/{id}/telemetry/families/{family}`

## Request

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

## Path parameters

- `id` string, required
- `family` 'deployment_traffic' | 'container_traffic' | 'function_host_traffic' | 'storage_activity', required

## Query parameters

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

## Response `200`

Project telemetry family detail

- ProjectTelemetryFamilyResponse
  - `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
  - `family` 'deployment_traffic' | 'container_traffic' | 'function_host_traffic' | 'storage_activity', required
  - `timeRange` '30m' | '6h' | '24h' | '7d', required
  - `windowGranularity` '5m' | '1h' | '1d', required
  - `telemetry` 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
  - `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)
