Router Router protocol schemas
Source: packages/spec/src/api/router.zod.ts
import { ConflictResolutionStrategy, HttpMethod, RouteCategory, RouteDefinitionSchema, RouterConfigSchema } from '@objectstack/spec/api' ;
import type { ConflictResolutionStrategy, HttpMethod, RouteCategory, RouteDefinition, RouterConfig } from '@objectstack/spec/api' ;
// Validate data
const result = ConflictResolutionStrategy. parse (data);
error
priority
first-wins
last-wins
HTTP method — the full routing vocabulary (api/* endpoints, router and REST-server routes). The narrower HttpMethodSubset is what view data sources may request.
GET
POST
PUT
DELETE
PATCH
HEAD
OPTIONS
system
api
auth
static
webhook
plugin
Property Type Required Description method Enum<'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'>✅ HTTP method — the full routing vocabulary (api/* endpoints, router and REST-server routes). The narrower HttpMethodSubset is what view data sources may request. path string✅ URL Path pattern category Enum<'system' | 'api' | 'auth' | 'static' | 'webhook' | 'plugin'>optional (default: "api") handler string✅ Unique handler identifier summary stringoptional OpenAPI summary description stringoptional OpenAPI description public booleanoptional (default: false) Is publicly accessible permissions string[]optional Required permissions timeout integeroptional Execution timeout in ms rateLimit stringoptional Rate limit policy name
Property Type Required Description basePath stringoptional (default: "/api") Global API prefix mounts { data: string; metadata: string; auth: string; automation: string; … }optional (has default) cors { enabled: boolean; origins: string | string[]; methods?: Enum<'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'>[]; credentials: boolean; … }optional staticMounts { path: string; directory: string; cacheControl?: string }[]optional
Property Type Required Description data stringoptional (default: "/data") Data Protocol (CRUD) metadata stringoptional (default: "/meta") Metadata Protocol (Schemas) auth stringoptional (default: "/auth") Auth Protocol automation stringoptional (default: "/automation") Automation Protocol storage stringoptional (default: "/storage") Storage Protocol analytics stringoptional (default: "/analytics") Analytics Protocol ui stringoptional (default: "/ui") UI Metadata Protocol (Views, Layouts) realtime stringoptional (default: "/realtime") Realtime/WebSocket Protocol notifications stringoptional (default: "/notifications") Notification Protocol ai stringoptional (default: "/ai") AI Engine Protocol (NLQ, Chat, Suggest) i18n stringoptional (default: "/i18n") Internationalization Protocol packages stringoptional (default: "/packages") Package Management Protocol
Property Type Required Description enabled booleanoptional (default: true) Enable CORS origins string | string[]optional (default: "*") Allowed origins (* for all) methods Enum<'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS'>[]optional Allowed HTTP methods credentials booleanoptional (default: false) Allow credentials (cookies, authorization headers) maxAge integeroptional Preflight cache duration in seconds
Property Type Required Description path string✅ URL path to serve from directory string✅ Physical directory to serve cacheControl stringoptional Cache-Control header value