x-cpod-domain: analytics
Analytics
Dashboards, metrics, and reports for operational analytics.
Try in explorer
client.analyticsDashboard
A dashboard composed of widgets and KPI panels.
REST path
/api/v1/analytics/dashboardsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.analytics.dashboards.list()
// create:
await client.analytics.dashboards.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
name: "example name",
owner_id: "example owner_id",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| name* | string | Human-readable dashboard name. |
| description | string | Quarterly executive dashboard with KPI exceptions and trends. |
| owner_id* | string | User ID of the dashboard owner. |
| is_public | boolean | Whether this dashboard is visible to all users. |
| layout | json | Dashboard layout configuration (widgets, positions, sizes). |
| tags | json | Free-form tags for filtering. |
Metric
A recorded metric observation (counter, gauge, histogram, summary).
REST path
/api/v1/analytics/metricsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.analytics.metrics.list()
// create:
await client.analytics.metrics.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
name: "example name",
type: "counter",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| name* | string | Metric name (Prometheus-style naming). |
| type* | enum | Metric type.countergaugehistogramsummary |
| value* | number | Current metric value. |
| labels | json | Key-value labels for metric dimensions. |
| timestamp | date-time | ISO 8601 timestamp of the metric observation. |
| unit | string | Unit of measurement. |
Report
A generated report; supports a custom generate operation.
REST path
/api/v1/analytics/reportsOperations
listgetcreateupdatedeletegenerateSDK
// list — returns only your records; add filters/search:
await client.analytics.reports.list()
// create:
await client.analytics.reports.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
name: "example name",
type: "example type",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| name* | string | Human-readable report name. |
| type* | string | Report type identifier. |
| status | enum | Report generation status.draftgeneratingcompletedfailed |
| parameters | json | Report generation parameters. |
| generated_at | date-time | ISO 8601 timestamp when report was generated. |
| file_url | string | URL to the generated report file. |
| owner_id | string | User ID of the report owner. |
| tags | json | Free-form tags for filtering. |