title
Analytics
description
Analytics protocol schemas
{/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */}
Analytics API Protocol
Defines the HTTP interface for the Semantic Layer.
Provides endpoints for executing analytical queries and discovering metadata.
**Source:** `packages/spec/src/api/analytics.zod.ts`
import { AnalyticsEndpoint , AnalyticsMetadataResponse , AnalyticsQueryRequest , AnalyticsResultResponse , AnalyticsSqlResponse , GetAnalyticsMetaRequest } from '@objectstack/spec/api' ;
import type { AnalyticsEndpoint , AnalyticsMetadataResponse , AnalyticsQueryRequest , AnalyticsResultResponse , AnalyticsSqlResponse , GetAnalyticsMetaRequest } from '@objectstack/spec/api' ;
// Validate data
const result = AnalyticsEndpoint . parse ( data ) ;
/api/v1/analytics/query
/api/v1/analytics/meta
/api/v1/analytics/sql
AnalyticsMetadataResponse
Property
Type
Required
Description
success
boolean
✅
Operation success status
error
{ code: string; message: string; category?: string; httpStatus?: integer; … }
optional
Error details if success is false
meta
{ timestamp: string; duration?: number; requestId?: string; traceId?: string }
optional
Response metadata
data
{ cubes: { name: string; title?: string; description?: string; sql: string; … }[] }
✅
Property
Type
Required
Description
query
{ cube?: string; measures: string[]; dimensions?: string[]; where?: any; … }
✅
The analytic query definition
cube
string
✅
Target cube name
format
Enum<'json' | 'csv' | 'xlsx'>
✅
Response format
Property
Type
Required
Description
success
boolean
✅
Operation success status
error
{ code: string; message: string; category?: string; httpStatus?: integer; … }
optional
Error details if success is false
meta
{ timestamp: string; duration?: number; requestId?: string; traceId?: string }
optional
Response metadata
data
{ rows: Record<string, any>[]; fields: { name: string; type: string }[]; sql?: string }
✅
Property
Type
Required
Description
success
boolean
✅
Operation success status
error
{ code: string; message: string; category?: string; httpStatus?: integer; … }
optional
Error details if success is false
meta
{ timestamp: string; duration?: number; requestId?: string; traceId?: string }
optional
Response metadata
data
{ sql: string; params: any[] }
✅
Property
Type
Required
Description
cube
string
optional
Optional cube name to filter