ZuploZuplo
LoginStart for Free
  • Documentation
  • API Reference
Introduction
Getting Started
    Develop on the web portal
      1 - Setup Your Gateway2 - Rate Limiting3 - API Key Auth4 - Deploy5 - Dynamic Rate LimitingDynamic MCP Server - Quickstart
    Develop locally with the CLI
      1 - Setup Your Gateway2 - Rate Limiting3 - API Key Auth4 - Deploy5 - Dynamic Rate LimitingDynamic MCP Server - Quickstart
Concepts
Development
Policies
Handlers
API Keys
Rate Limiting
MCP Server
MCP Gateway
AI Gateway
Developer Portal
    IntroductionLocal DevelopmentUpdating VersionsNode Modules & Customization
    Configuration
    Writing
    OpenAPI
    Authentication
    Integrations
    Guides
    Extending
    Components
      General
        AlertCalloutBadgeBrowser WindowCardIconsLanding PageMarkdownTypography
      Documentation
      Form
      Utility
Monetization
Deploying & Source Control
Analytics
Observability
Networking & Infrastructure
Account Management
Programming API
Build with AI
Zuplo CLI
Migration Guides
Platform LimitsSecuritySupportTrust & ComplianceChangelog
powered by Zudoku
General

Landing Page

A ready-made, customizable landing page for your developer portal. It comes in three variants covering the most common layouts: a centered hero, a two-column split hero, and a compact documentation hub.

Use it as the element of a custom page — typically your home page:

zudoku.config.tsx
import { LandingPage } from "zudoku/components"; const config = { navigation: [ { type: "custom-page", path: "/", element: ( <LandingPage title="Build with our API" description="Everything you need to integrate in minutes." actions={[ { label: "Get started", href: "/getting-started" }, { label: "API Reference", href: "/api" }, ]} /> ), }, // ... ], };

Import

Code
import { LandingPage } from "zudoku/components";

Variants

Hero (default)

A centered hero with call-to-action buttons and an optional feature grid below. The classic landing page for product-focused portals. The previews on this page are presented in a Browser Window component.

https://developers.example.com
Developer Platform

Build with our API

Everything you need to integrate payments, webhooks, and more — in minutes, not days.

Get startedAPI Reference
Fast integration

Go from zero to your first API call in under five minutes.

API keys built in

Issue, rotate, and revoke keys right from the portal.

Webhooks

Subscribe to events and react to changes in real time.

Code
<LandingPage eyebrow="Developer Platform" title="Build with our API" description="Everything you need to integrate payments, webhooks, and more — in minutes, not days." actions={[ { label: "Get started", href: "/getting-started" }, { label: "API Reference", href: "/api", variant: "outline" }, ]} features={[ { icon: <ZapIcon />, title: "Fast integration", description: "Go from zero to your first API call in under five minutes.", }, { icon: <KeyIcon />, title: "API keys built in", description: "Issue, rotate, and revoke keys right from the portal.", }, { icon: <WebhookIcon />, title: "Webhooks", description: "Subscribe to events and react to changes in real time.", }, ]} />

Split

A two-column hero with your own content on the side — an illustration, screenshot, or code sample passed via the aside prop. A great fit for developer-oriented portals that want to show code up front.

https://shipping.example.com
Shipping API

Ship anywhere in the whole universe

Create and manage shipments, track packages in real-time, and integrate with multiple carriers through a single interface.

Get startedView on GitHub
curl https://api.example.com/v1/shipments \
-H "Authorization: Bearer $API_KEY" \
-d destination="alpha-centauri"
Code
<LandingPage variant="split" eyebrow="Shipping API" title="Ship anywhere in the whole universe" description="Create and manage shipments, track packages in real-time, and integrate with multiple carriers through a single interface." actions={[ { label: "Get started", href: "/getting-started" }, { label: "View on GitHub", href: "https://github.com/zuplo/zudoku", variant: "outline", }, ]} aside={ <div className="rounded-xl border bg-card p-4 font-mono text-sm"> <pre>{`curl https://api.example.com/v1/shipments \\ -H "Authorization: Bearer $API_KEY" \\ -d destination="alpha-centauri"`}</pre> </div> } />

The aside accepts any React node — use an <img /> for an illustration instead of code:

Code
<LandingPage variant="split" title="Ship anywhere" aside={<img src="/hero.webp" alt="Hero" className="rounded-3xl" />} />

Grid

A compact header followed by prominent, clickable feature cards. Ideal as a documentation hub that routes visitors to the right section quickly.

https://developers.example.com/docs

Documentation

Explore guides, API references, and examples to get the most out of the platform.

Getting Started

Set up your account and make your first request.

Guides

Step-by-step tutorials for common use cases.

API Reference

Complete reference for every endpoint and type.

Webhooks

Listen to events and build real-time integrations.

Code
<LandingPage variant="grid" title="Documentation" description="Explore guides, API references, and examples to get the most out of the platform." features={[ { icon: <RocketIcon />, title: "Getting Started", description: "Set up your account and make your first request.", href: "/getting-started", }, { icon: <BookOpenIcon />, title: "Guides", description: "Step-by-step tutorials for common use cases.", href: "/guides", }, { icon: <CodeIcon />, title: "API Reference", description: "Complete reference for every endpoint and type.", href: "/api", }, { icon: <WebhookIcon />, title: "Webhooks", description: "Listen to events and build real-time integrations.", href: "/webhooks", }, ]} />

Props

PropTypeDescription
variant"hero" | "split" | "grid"Layout variant. Defaults to "hero".
titleReactNodeMain headline. Required.
eyebrowReactNodeShort label displayed above the title.
descriptionReactNodeSupporting text below the title.
actionsLandingPageAction[]Call-to-action buttons. Each action has label, href, and an optional Button variant.
featuresLandingPageFeature[]Feature cards with optional icon, title, description, and href (making the card a link).
asideReactNodeSide content for the split variant (image, code sample, …).
childrenReactNodeAdditional content rendered below the built-in sections.
classNamestringAdditional classes for the outer <section>.

Links

href values in actions and features are rendered as client-side router links for internal paths (e.g. /getting-started) and as regular links opening in a new tab for external URLs (e.g. https://github.com/...).

Customization

  • Buttons: The first action defaults to the primary button style, all following actions to outline. Override per action with variant (any Button variant).
  • Rich titles: title, description, and eyebrow accept any React node, so you can use custom markup like highlighted words: title={<>Ship <span className="text-primary">faster</span></>}.
  • Extra sections: Pass children to append your own sections (testimonials, pricing, …) below the built-in layout.
  • Page metadata: Combine with the Head component to set the page title:
Code
import { Head, LandingPage } from "zudoku/components"; <LandingPage title="Build with our API"> <Head> <title>Home</title> </Head> </LandingPage>;
Edit this page
Last modified on June 17, 2026
IconsMarkdown
On this page
  • Import
  • Variants
    • Hero (default)
    • Split
    • Grid
  • Props
    • Links
  • Customization
React
React
React
React
React
React
React