# uidu SDK

> Typed access to a uidu workspace — CMS, forms, events, contacts, people, goals and more — from TypeScript (@uidu/client), React (@uidu/react), apps framed inside uidu (@uidu/app-bridge) and the terminal (the `uidu` CLI).

Start from a path: public website (public token, server actions for writes), server integration (account Bearer, server only) or custom app (the signed-in member’s session). Every write runs server-side.

## Machine-readable

- [SDK manifest](https://developers.uidu.org/sdk-manifest.json): every export of @uidu/client, @uidu/react and @uidu/app-bridge with its domain, read/write, auth, signature and CLI command — the fastest answer to "does the SDK have a function for X?"
- [Full documentation](https://developers.uidu.org/llms-full.txt): every page below in one Markdown file

## Documentation

- [Overview](https://developers.uidu.org/docs/index.md): Build websites, server integrations and custom apps on the uidu platform.
- Paths
  - [Public website](https://developers.uidu.org/docs/paths/public-website.md): Build a public site on uidu, from an empty folder to CMS pages, a contact form and an events section, rendered statically.
  - [Server integration](https://developers.uidu.org/docs/paths/server-integration.md): Read and write a workspace's private data from your own server — internal tools, sync jobs, provisioning.
  - [Custom app](https://developers.uidu.org/docs/paths/custom-app.md): Build an app that uidu shows inside a Space, acting as the signed-in member — from the template to your own data in Models.
- Foundations
  - [Installation](https://developers.uidu.org/docs/foundations/installation.md): Install @uidu/client and configure tokens.
  - [Data model](https://developers.uidu.org/docs/foundations/data-model.md): How uidu's data is shaped — workspace, Sites and Models, the platform's own entities — and the conventions that repeat across all of them.
  - [Authentication](https://developers.uidu.org/docs/foundations/authentication.md): The three ways a request reaches uidu — public token, account Bearer, custom-app session — and where each may run.
  - [Writes](https://developers.uidu.org/docs/foundations/writes.md): How create / update / delete work in @uidu/client and the uidu CLI — auth, input shape, error handling, and the per-entity capability matrix.
  - [Errors](https://developers.uidu.org/docs/foundations/errors.md): How to handle UiduError and the underlying GraphQL/network failure modes.
  - [Pagination & field values](https://developers.uidu.org/docs/foundations/pagination-and-field-values.md): Reading whole collections — list functions, paginate, useQuery — and the one shape every field value's content takes.
- Domains

  - **Content**
  - [CMS](https://developers.uidu.org/docs/domains/cms.md): Read Sites (the new CMS) and legacy CMS Projects with typed GraphQL functions.
  - [Stories](https://developers.uidu.org/docs/domains/stories.md): Fetch blog posts and long-form editorial content from the uidu Stories API.
  - [Help Center](https://developers.uidu.org/docs/domains/help-center.md): Fetch help center channels, KB collections, and articles.
  - [Knowledge base (direct)](https://developers.uidu.org/docs/domains/kb.md): Fetch KB collections and articles directly, outside the help-center channel scope.
  - [Search](https://developers.uidu.org/docs/domains/search.md): Run filtered, paginated search across every searchable record type in your workspace.

  - **Engagement**
  - [Forms](https://developers.uidu.org/docs/domains/forms.md): Fetch form schemas and submit form responses against the uidu Forms API.
  - [Events](https://developers.uidu.org/docs/domains/events.md): Fetch event listings, event details, and submit RSVPs (attendance) against the uidu Events API.
  - [Donations](https://developers.uidu.org/docs/domains/donations.md): Fetch donation campaigns and accept donations against uidu's fundraising API.
  - [Courses](https://developers.uidu.org/docs/domains/courses.md): Courses, lectures, and enrollments — a lightweight LMS surface.
  - [Calls](https://developers.uidu.org/docs/domains/calls.md): Fetch job openings, grant calls, and any other application-driven opportunity. Apply via the call's embedded form.
  - [Jobs & applications](https://developers.uidu.org/docs/domains/jobs.md): List job postings, render a careers page, and let candidates apply — from the apply flow to the private applications board.

  - **CRM**
  - [Contacts &amp; Deals](https://developers.uidu.org/docs/domains/contacts.md): CRM — the workspace's people and organizations, and the sales deals negotiated with them.
  - [Campaigns](https://developers.uidu.org/docs/domains/campaigns.md): Marketing campaigns and email campaign analytics.

  - **Organisation**
  - [People](https://developers.uidu.org/docs/domains/people.md): Employees, contracts, pay and benefits, shifts and time clocks — private HR data for server-side tools and scripts.
  - [Goals (OKRs)](https://developers.uidu.org/docs/domains/goals.md): Read the workspace's objectives and key results, measure progress against time, and update a goal's values.
  - [Spaces, tasks & notes](https://developers.uidu.org/docs/domains/workspace.md): Create, update and delete the workspace's Spaces, tasks and notes from a server or the CLI.
  - [Bookings &amp; Calendars](https://developers.uidu.org/docs/domains/bookings.md): Public calendars, calendar events, and bookings (appointments).

  - **Platform**
  - [Models (custom data)](https://developers.uidu.org/docs/domains/models.md): Define your own record types — Models with typed Fields — and store, read and update their ModelItems.
- Tools
  - React
    - [Getting Started](https://developers.uidu.org/docs/tools/react/getting-started.md): React provider and conventions for using @uidu/client in React applications.
    - [Hooks](https://developers.uidu.org/docs/tools/react/hooks.md): React hooks for fetching uidu data on the client, accessing the client, and normalizing CMS data.
    - [Components](https://developers.uidu.org/docs/tools/react/components.md): Prebuilt React components for rendering uidu CMS content.
  - CLI
    - [Overview](https://developers.uidu.org/docs/tools/cli.md): The uidu CLI — read a workspace, scaffold an app, and provision content from your terminal or an AI coding agent.
    - [Login](https://developers.uidu.org/docs/tools/cli/login.md): Authenticate the uidu CLI via the OAuth browser flow (Authorization Code + PKCE), with a password-grant fallback for CI and AI agents.
    - [Commands](https://developers.uidu.org/docs/tools/cli/commands.md): The uidu CLI command reference — entities (list/get/create), CMS, provisioning, and scaffolding.
  - [create-uidu-app](https://developers.uidu.org/docs/tools/create-uidu-app.md): Scaffold a new uidu-powered Next.js app from a template.
  - [App bridge](https://developers.uidu.org/docs/tools/app-bridge.md): How a custom app talks to the uidu page that frames it — UiduAppProvider and useUiduApp, connect(), trusted origins, the protocol, and fromBridge.
  - [Components](https://developers.uidu.org/docs/tools/components.md): uidu's design system as a shadcn registry — the theme and the components uidu itself uses, installed into your app with one command.
  - [AI agents](https://developers.uidu.org/docs/tools/ai-agents.md): Set up Claude Code, Cursor, Codex or any coding agent to build on uidu — skills, the Claude Code plugin, Markdown docs and a CLI that speaks JSON.
  - [Docs MCP server](https://developers.uidu.org/docs/tools/docs-mcp.md): Give an AI assistant these docs as tools — search them, read a page, look up any SDK function — through a remote MCP server.
- Recipes
  - [Dynamic CMS routes](https://developers.uidu.org/docs/recipes/dynamic-cms-routes.md): Generate a static page for every CMS slug at build time with generateStaticParams.
  - [Paginate every page](https://developers.uidu.org/docs/recipes/paginate.md): Walk every page of a Relay connection with the paginate() helper.
  - [Multi-step forms](https://developers.uidu.org/docs/recipes/multi-step-forms.md): Build a multi-step submission flow with createFormResponse + updateFormResponse, saving a draft at every step.
  - [Search-as-you-type](https://developers.uidu.org/docs/recipes/search-as-you-type.md): Debounced live search across events and stories, through a route handler that runs search on the server.
  - [File upload through Forms](https://developers.uidu.org/docs/recipes/file-upload.md): Use the uploadPresignedUrl flow to attach files to a form submission.
  - [Demo app](https://developers.uidu.org/docs/recipes/demo-app.md): A complete Next.js 16 example exercising every domain in @uidu/client.
- Reference
  - [@uidu/client reference](https://developers.uidu.org/docs/reference/client.md): Every export of @uidu/client, grouped by domain — 154 functions, generated from the source.
  - [@uidu/react reference](https://developers.uidu.org/docs/reference/react.md): Every export of @uidu/react, generated from the source.
  - [@uidu/app-bridge reference](https://developers.uidu.org/docs/reference/app-bridge.md): Every export of @uidu/app-bridge, generated from the source.
  - [GraphQL schema](https://developers.uidu.org/docs/reference/schema.md): Explore the uidu GraphQL schema interactively, and find the generated TypeScript types the SDK uses.
  - [Roadmap](https://developers.uidu.org/docs/reference/roadmap.md): What the uidu platform can do that the SDK does not cover yet — generated from the platform’s action registry.
