ObjectStackObjectStack

Quick Reference Guide

Fast lookup table for all ObjectStack protocols

Quick Reference Guide

Fast lookup for the ObjectStack protocols organized by category.

Click on any protocol name to view its complete API reference.

Reading the counts. Every heading below says (N of M schemas). N is how many protocols this table lists; M is how many reference pages the matching content/docs/references/<category>/ directory publishes. These tables are a curated fast lookup, not a mirror of the reference tree — N < M is normal and intended. Both numbers are checked by pnpm check:quick-reference-counts, so a category that gains or loses a page shows up here instead of drifting unnoticed. A row marked ↗ links outside its category's reference tree: it is one of the N rows, but it is not one of the M pages. Categories that have no section here at all are named under Categories Without a Section — that curation is stated, not left implicit.

Data Protocol (16 of 29 schemas)

Core business logic and data modeling schemas.

ProtocolSource FileKey SchemasPurpose
Fieldfield.zod.tsField, FieldType, SelectOptionField types for data modeling
Objectobject.zod.tsObject, ObjectCapabilitiesObject/table definitions
Queryquery.zod.tsQuery, QueryASTQuery AST with joins, aggregations
Filterfilter.zod.tsQueryFilter, FilterConditionAdvanced filtering operators
Validationvalidation.zod.tsValidationRuleBusiness validation rules
Datasourcedatasource.zod.tsDatasource, DriverDefinitionDatabase connection configs
Analyticsanalytics.zod.tsAnalyticsData analytics and aggregation
Mappingmapping.zod.tsImportFieldMappingField transformation mappings
Hookhook.zod.tsHook, HookEventLifecycle event hooks
Data Enginedata-engine.zod.tsDataEngineData engine configuration
Driverdriver.zod.tsDriver, DriverCapabilitiesDatabase driver interface
SQL Driverdriver-sql.zod.tsSQLDriverConfig, SQLDialectSQL-specific driver
NoSQL Driverdriver-nosql.zod.tsNoSQLDriverConfigNoSQL-specific driver
Documentdocument.zod.tsDocumentDocument-oriented data
Postgres Driverdriver/postgres.zod.tsPostgresConfigPostgreSQL configuration
Mongo Driverdriver/mongo.zod.tsMongoConfigMongoDB configuration

UI Protocol (11 of 16 schemas)

Presentation layer - views, forms, dashboards, and themes.

ProtocolSource FileKey SchemasPurpose
Viewview.zod.tsView, ListView, FormViewList and form view configurations
Pagepage.zod.tsPage, PageComponentFlexiPage layouts
Appapp.zod.tsApp, NavigationItemApplication navigation structure
Dashboarddashboard.zod.tsDashboard, DashboardWidgetDashboard layouts and widgets
Datasetdataset.zod.tsDataset, DatasetDimension, DatasetMeasureSemantic-layer datasets for dashboards (ADR-0021)
Reportreport.zod.tsReport, ReportTypeReport definitions
Actionaction.zod.tsAction, ActionTypeUI button actions
Componentcomponent.zod.tsPageComponent variantsReusable UI components
Chartchart.zod.tsChart, ChartTypeChart definitions
Themetheme.zod.tsTheme, ColorPaletteTheming and branding
Widget Contractwidget.zod.tsFieldWidgetPropsProps a custom field widget receives — the contract is documented with ObjectUI, outside references/ui/

Kernel Protocol (17 of 31 schemas)

Plugin architecture, manifests, and kernel runtime.

ProtocolSource FileKey SchemasPurpose
Manifestmanifest.zod.tsManifestPackage manifest (objectstack.config.ts)
Contextcontext.zod.tsKernelContextRuntime execution context
Pluginplugin.zod.tsPlugin, PluginLifecyclePlugin system interface
Plugin Capabilityplugin-capability.zod.tsPluginCapabilityPlugin capability declarations
Plugin Lifecycle Advancedplugin-lifecycle-advanced.zod.tsAdvancedPluginLifecycleConfig, PluginHealthCheckAdvanced lifecycle hooks
Plugin Loadingplugin-loading.zod.tsPluginLoadingConfigPlugin loading and init
Plugin Registryplugin-registry.zod.tsPluginRegistryEntry, PluginVendorPlugin registry entries and quality metrics
Plugin Securityplugin-security.zod.tsPluginSecurityProtocol, SBOMPlugin security policies
Plugin Security Advancedplugin-security-advanced.zod.tsKernelSecurityPolicy, PluginPermissionPlugin sandboxing
Plugin Structureplugin-structure.zod.tsOpsPluginStructurePlugin file conventions
Plugin Validatorplugin-validator.zod.tsValidationResult, PluginMetadataPlugin validation
Plugin Versioningplugin-versioning.zod.tsPluginCompatibilityMatrix, DeprecationNoticeVersion compatibility
Service Registryservice-registry.zod.tsServiceRegistryConfig, ServiceMetadataService discovery
Startup Orchestratorstartup-orchestrator.zod.tsStartupOptions, StartupOrchestrationResultSystem startup
Eventsevents.zod.tsEvent, EventBusConfigSystem event bus — the hand-written guide, outside references/kernel/ (which splits the same surface across six events-* pages)
Metadata Loadermetadata-loader.zod.tsMetadataLoaderContractMetadata loading
Package Registrypackage-registry.zod.tsInstalledPackage, InstallPackageRequestPackage resolution

System Protocol (17 of 36 schemas)

Runtime environment, logging, jobs, caching, and observability.

ProtocolSource FileKey SchemasPurpose
Auth Configauth-config.zod.tsAuthConfigAuthentication configuration
Cachecache.zod.tsCacheConfigCaching layer
Change Managementchange-management.zod.tsChangeRequest, RollbackPlanChange tracking
Collaborationcollaboration.zod.tsCollaborationReal-time collab
Encryptionencryption.zod.tsEncryptionEncryption & keys
HTTP Serverhttp-server.zod.tsRouteHandlerMetadata, MiddlewareConfigRoute + middleware metadata
Jobjob.zod.tsJob, JobScheduleBackground job queue
Logginglogging.zod.tsLoggingConfigStructured logging
Metadata Persistencemetadata-persistence.zod.tsMetadataHistoryRecord, MetadataDiffResultMetadata storage
Metricsmetrics.zod.tsMetricsApplication metrics
Migrationmigration.zod.tsMigrationSchema migration
Notificationnotification.zod.tsNotificationNotifications
Object Storageobject-storage.zod.tsBucketConfig, ObjectMetadataObject storage
Search Enginesearch-engine.zod.tsSearchConfig, SearchIndexConfigFull-text search
Tracingtracing.zod.tsTracingDistributed tracing
Translationtranslation.zod.tsTranslationi18n support
Workerworker.zod.tsWorkerBackground workers

AI Protocol (11 of 11 schemas)

AI/ML capabilities - agents, skills, tools, MCP exposure, RAG, and cost tracking.

ProtocolSource FileKey SchemasPurpose
Agentagent.zod.tsAgent, AIToolAI agent definitions
Skillskill.zod.tsSkill, SkillTriggerConditionReusable agent skills
Tooltool.zod.tsTool, ToolCategoryAgent tool definitions
MCPmcp.zod.tsMCPServerRef, MCPToolBindingMCP server exposure and tool bindings
Model Registrymodel-registry.zod.tsModelRegistry, ModelProviderLLM model management
Conversationconversation.zod.tsConversationSessionConversation management
Embeddingembedding.zod.tsEmbeddingModel, VectorStoreEmbedding models and vector stores
Knowledge Sourceknowledge-source.zod.tsKnowledgeSource, KnowledgeRefreshPolicyRAG ingestion sources
Knowledge Documentknowledge-document.zod.tsKnowledgeDocument, KnowledgeChunkRAG documents and chunks
Usageusage.zod.tsAIUsageRecord, TokenUsageAI usage and cost tracking
Solution Blueprintsolution-blueprint.zod.tsBlueprintObject, BlueprintAppBlueprint format for AI app generation

API Protocol (17 of 28 schemas)

REST/GraphQL endpoints, real-time subscriptions, and discovery.

ProtocolSource FileKey SchemasPurpose
Contractcontract.zod.tsBaseResponse, BulkRequestAPI contract definitions
Endpointendpoint.zod.tsApiEndpoint, ApiMappingREST endpoint configuration
Routerrouter.zod.tsRouter, RouteAPI routing rules
ODataodata.zod.tsODataQueryOData protocol support
Realtimerealtime.zod.tsSubscription, RealtimeEventWebSocket subscriptions
WebSocketwebsocket.zod.tsWebSocketConfigWebSocket protocol
Discoverydiscovery.zod.tsDiscovery, ServiceInfoAPI discovery and metadata
Batchbatch.zod.tsBatchConfig, CrossObjectBatchRequestBatch API processing
HTTP Cachehttp-cache.zod.tsCacheControl, ETagHTTP caching
Errorserrors.zod.tsErrorResponseError responses
Protocolprotocol.zod.tsBatchDataRequest, CheckPermissionRequestConsole/client request-response contracts
REST Serverrest-server.zod.tsRestApiConfig, CrudEndpointsConfigREST server config
Authauth.zod.tsLoginRequest, SessionAPI authentication
Analyticsanalytics.zod.tsAnalyticsAPI usage analytics
Documentationdocumentation.zod.tsDocumentationAPI docs generation
Metadatametadata.zod.tsMetadataAPI metadata endpoints
Storagestorage.zod.tsStorageAPI storage operations

Automation Protocol (4 of 13 schemas)

Flows, state machines, approvals, and integrations.

ProtocolSource FileKey SchemasPurpose
Flowflow.zod.tsFlow, FlowNodeVisual workflow builder
Approvalapproval.zod.tsApprovalNodeConfigFlow approval-node config
State Machinestate-machine.zod.tsStateMachineState machine definitions
Webhookwebhook.zod.tsWebhookOutbound webhooks

Security Protocol (3 of 5 schemas)

Access control, permissions, and row-level security.

ProtocolSource FileKey SchemasPurpose
Permissionpermission.zod.tsObjectPermissionObject-level permissions
RLSrls.zod.tsRowLevelSecurityPolicyRow-level security filters
Sharingsharing.zod.tsSharingRuleRecord sharing rules

Identity Protocol (4 of 5 schemas)

User identity, organizations, and position management.

ProtocolSource FileKey SchemasPurpose
Identityidentity.zod.tsIdentity, UserUser identity management
Organizationorganization.zod.tsOrganizationMulti-organization support
Positionposition.zod.tsPositionPermission-set distribution (岗位, ADR-0090)
SCIMscim.zod.tsSCIMUser, SCIMGroupSCIM 2.0 provisioning

Cloud Protocol (3 of 11 schemas)

Environments, marketplace, licensing, and multi-tenancy.

ProtocolSource FileKey SchemasPurpose
Environmentenvironment.zod.tsEnvironment, EnvironmentTypeDeployment environments
Marketplacemarketplace.zod.tsMarketplaceListing, PackageSubmissionPlugin marketplace
Tenanttenant.zod.tsTenantMulti-tenancy isolation

Integration Protocol (1 of 1 schema)

External system connectors — one protocol (ADR-0097): a connector entry is either a catalog descriptor or a provider-bound instance that a generic executor (connector-openapi / connector-mcp) materializes at boot. The per-provider schema "templates" (SaaS / database / file-storage / message-queue / GitHub / Vercel) were removed in #4480: provider shapes come from the provider itself, not from hand-written spec files.

ProtocolSource FileKey SchemasPurpose
Connectorconnector.zod.tsConnectorThe connector protocol — auth, sync, webhooks, rate limiting

Shared Protocol (5 of 8 schemas)

Common utilities used across all protocols.

ProtocolSource FileKey SchemasPurpose
Expressionexpression.zod.tsExpression, ExpressionInputCEL expression values and inputs
HTTPhttp.zod.tsHttpRequest, HttpMethod, CorsConfigHTTP utilities
Identifiersidentifiers.zod.tsSystemIdentifier, SnakeCaseIdentifierStandard ID patterns
Mappingmapping.zod.tsFieldMappingField mapping utilities
Connector Authconnector-auth.zod.tsConnectorInstanceAuthDeclarative connector auth (ADR-0097). The file sits in src/shared/ but @objectstack/spec/shared does not publish it — it reaches consumers through @objectstack/spec/integration, so it is documented on the Connector page

QA Protocol (1 of 1 schema)

Testing and quality assurance.

ProtocolSource FileKey SchemasPurpose
Testingtesting.zod.tsTestSuiteDeclarative test definitions

Categories Without a Section

content/docs/references/ holds one more category directory that deliberately gets no section above. Curation happens at the category level as well as inside each table, and this is where it is stated. The same gate reads this table, so a new category directory — or a page landing in this one — goes red until this page is updated.

Category directoryPagesWhy it has no section
studio3Designer-facing metadata (flow-builder, object-designer, plugin) — Studio's own authoring surfaces, not protocols an app declares. Reach them from the reference index.

Common Patterns

Naming Conventions

// Property names in schemas: camelCase
{
  maxLength: 100,
  defaultValue: 'example',
  inlineHelpText: 'Enter a value'
}

Common Imports

// Data protocols
import { FieldSchema, ObjectSchema, QuerySchema } from '@objectstack/spec/data';

// UI protocols
import { ViewSchema, AppSchema, DashboardSchema } from '@objectstack/spec/ui';

// Kernel protocols
import { ManifestSchema, PluginSchema } from '@objectstack/spec/kernel';

// System protocols
import { LoggerConfigSchema, JobSchema } from '@objectstack/spec/system';

// AI protocols
import { AgentSchema, ModelRegistrySchema } from '@objectstack/spec/ai';

// Types (subpath imports — the root package does not export types)
import type { Field, ServiceObject, QueryAST } from '@objectstack/spec/data';
import type { View } from '@objectstack/spec/ui';

Declarative Endpoints (apis:)

Declared on the stack (defineStack({ apis })), live from protocol 17 — each entry is gated at publish and, once it passes, serves real traffic. Full contract: HTTP API → Declarative Endpoints.

RuleValue
Path shape/api/v1/apps/<manifest.namespace>/<subpath> — only the subpath is yours (ADR-0121 D1)
Namespacemust be declared explicitly as manifest.namespace; never derived from manifest.id (D2)
Types that executeobject_operation (needs objectParams.object + .operation) and flow (needs target). script / proxy are rejected at publish
authRequireddefaults to trueomitting it is safe. An explicit false is the only thing that opens anonymous access
authRequired: falseREQUIRES an armed budget, rateLimit: { enabled: true, windowMs, maxRequests } (ADR-0121 D6) — enabled itself defaults to false, so a budget without it meters nothing
cacheTtlseconds, GET-only, applied to successful answers only (Cache-Control: private, max-age=<ttl>)
import type { ApiEndpoint } from '@objectstack/spec/api';

// With `manifest: { namespace: 'acme', … }` on the same stack.
export const leadFeed: ApiEndpoint = {
  name: 'acme_lead_feed',
  path: '/api/v1/apps/acme/leads',   // /api/v1/apps/<namespace>/<subpath>
  method: 'GET',
  type: 'object_operation',
  target: 'acme_lead',
  objectParams: { object: 'acme_lead', operation: 'find' },
  // `authRequired` omitted → defaults to true (a session is required).
  cacheTtl: 30,
};

Search Tips

Next Steps

New to ObjectStack? Start with the Introduction to learn core concepts before diving into specific protocols.

On this page