Next.js App Router SDK Reference

Server-only core exports:

ExportDescription
UniformCompositionMain composition renderer component
UniformPlaygroundPlayground composition renderer
resolveRouteFromCodeResolves a route from the serialized code
resolvePlaygroundRouteResolves a playground route
precomputeCompositionEvaluates personalizations/tests server-side
createUniformStaticParamsGenerates static params for ISR
createUniformPlaygroundStaticParamsGenerates playground static params
createCompositionCacheCreates a composition cache instance
findRouteMatchMatches URL patterns for custom routing
getCanvasClientCanvas API client
getRouteClientRoute API client
getManifest / getManifestClientManifest data access
getProjectMapClientProject Map API client
ResolveComponentFunctionType for the component resolver function
ResolveComponentResultType for the resolver return value
UniformPageParametersType for page component props
PlaygroundParametersType for playground component props

Component utilities (can be used in server and client components):

ExportDescription
UniformSlotRenders child components from a slot
UniformTextRenders text parameters with inline editing
UniformRichTextRenders rich text parameters
getUniformSlotExtracts slot items as ReactNode array
ComponentPropsType for component props
ComponentParameterType wrapper for parameter values
ComponentContextType for component metadata
useUniformContextHook: access Uniform Context instance
useQuirksHook: reactive quirk values
useScoresHook: reactive score values
ExportDescription
uniformMiddlewareCreates middleware handler with options
handleUniformRouteDirect middleware handler function
ExportDescription
withUniformConfigWraps Next.js config with Uniform aliases
UniformServerConfigType for server configuration
ExportDescription
createPreviewGETRouteHandlerGET handler for preview API route
createPreviewPOSTRouteHandlerPOST handler for preview API route
createPreviewOPTIONSRouteHandlerOPTIONS handler for preview API route
ExportDescription
createAdapterResolveComponentFunctionCreates adapter-mode component resolver
ResolveComponentResultWithTypeType for adapter mappings
UniformTextAdapter-compatible UniformText

Client-side only (use for custom client context):

ExportDescription
createClientUniformContextCreates client-side Context instance
useInitUniformContextHook: initializes Context on mount
ClientContextComponentType for custom client context components
ExportDescription
flattenValuesExtracts values from asset parameters
AssetParamValueType for asset parameter values
LinkParamValueType for link parameter values
RichTextParamValueType for rich text parameter values

type ComponentProps< TParameters extends Record<string, ComponentParameter> | unknown, TSlotNames extends string = string, > = { type: string; variant: string | undefined; slots: Record<TSlotNames, SlotDefinition>; parameters: TParameters; component: ComponentContext; context: CompositionContext; };
type ComponentContext = { _id: string; _parentId: string | null; slotName: string | undefined; slotIndex: number | undefined; };
type CompositionContext = { _id: string; type: string; state: number; isContextualEditing: boolean; matchedRoute: string; dynamicInputs: Record<string, string>; pageState: PageState; };
type SlotDefinition = { name: string; items: ({ _id: string; $pzCrit: VariantMatchCriteria | undefined; variantId: string | undefined; component: ReactNode; } | null)[]; };
type ComponentParameter<TValue = unknown> = BaseComponentParameter<TValue> & { parameterId: string; _contextualEditing?: { isEditable: boolean }; };
type UniformServerConfig = { defaultConsent?: boolean; playgroundPath?: string; context?: { disableDevTools?: boolean; }; quirkSerialization?: boolean; middlewareRuntimeCache?: boolean; experimental?: { vercelVisualEditing?: boolean; disableSwrMiddlewareCache?: boolean; }; };
type CacheMode = | { type: RequestInit["cache"] } // "force-cache", "no-cache", "no-store", etc. | { type: "revalidate"; interval: number }; // Time-based revalidation in seconds