ObjectStackObjectStack

Discovery

Discovery protocol schemas

Service Status in Discovery Response

Reports per-service availability so clients can adapt their UI accordingly.

Source: packages/spec/src/api/discovery.zod.ts

TypeScript Usage

import { ApiRoutes, Discovery, ServiceInfo, WellKnownCapabilities } from '@objectstack/spec/api';
import type { ApiRoutes, Discovery, ServiceInfo, WellKnownCapabilities } from '@objectstack/spec/api';

// Validate data
const result = ApiRoutes.parse(data);

ApiRoutes

Properties

PropertyTypeRequiredDescription
datastringe.g. /api/v1/data
metadatastringe.g. /api/v1/meta
uistringoptionale.g. /api/v1/ui
authstringoptionale.g. /api/v1/auth
automationstringoptionale.g. /api/v1/automation
storagestringoptionale.g. /api/v1/storage
analyticsstringoptionale.g. /api/v1/analytics
graphqlstringoptionale.g. /graphql
packagesstringoptionale.g. /api/v1/packages
workflowstringoptionale.g. /api/v1/workflow
realtimestringoptionale.g. /api/v1/realtime
notificationsstringoptionale.g. /api/v1/notifications
aistringoptionale.g. /api/v1/ai
i18nstringoptionale.g. /api/v1/i18n

Discovery

Properties

PropertyTypeRequiredDescription
namestring
versionstring
environmentEnum<'production' | 'sandbox' | 'development'>
routesObject
localeObject
servicesRecord<string, Object>Per-service availability map keyed by CoreServiceName
capabilitiesRecord<string, Object>optionalHierarchical capability descriptors for frontend intelligent adaptation
schemaDiscoveryObjectoptionalSchema discovery endpoints for API toolchain integration
metadataRecord<string, any>optionalCustom metadata key-value pairs for extensibility

ServiceInfo

Properties

PropertyTypeRequiredDescription
enabledboolean
statusEnum<'available' | 'unavailable' | 'degraded' | 'stub'>available = fully operational, unavailable = not installed, degraded = partial, stub = placeholder that throws
routestringoptionale.g. /api/v1/analytics
providerstringoptionale.g. "objectql", "plugin-redis", "driver-memory"
versionstringoptionalSemantic version of the service implementation (e.g. "3.0.6")
messagestringoptionale.g. "Install plugin-workflow to enable"
rateLimitObjectoptionalRate limit and quota info for this service

WellKnownCapabilities

Well-known capability flags for frontend intelligent adaptation

Properties

PropertyTypeRequiredDescription
feedbooleanWhether the backend supports Feed / Chatter API
commentsbooleanWhether the backend supports comments (a subset of Feed)
automationbooleanWhether the backend supports Automation CRUD (flows, triggers)
cronbooleanWhether the backend supports cron scheduling
searchbooleanWhether the backend supports full-text search
exportbooleanWhether the backend supports async export
chunkedUploadbooleanWhether the backend supports chunked (multipart) uploads

On this page