PeqabooPeqaboo
User GuideVetSheetBlogNewsroom
ExploreLogin
PeqabooPeqabooPeqaboo

Your Boo AI Pet Care Companion

+852 9661 0906

Entrepreneurship Centre, Level 5, Core F, Cyberport 3, 100 Cyberport Road, Hong Kong

NavigateHomeAbout Peqaboo AIHow it worksFAQContact
ResourcesUser GuideVetSheetVetSheetBOOlogNewsroomDevelopers
LegalTerms of ServicePrivacy PolicyCommunity Guidelines
© 2026 Decennium Platforms Limited
BooApp Platform
QuickstartSDKPermissionsSubmitExamplesLLM Prompt

Submission

From URL to live BooApp

Submit a URL, declare what scopes you call, and wait for review. Approval lands in days, not weeks. Any change to the entry URL kicks off a new review.

The flow

Five steps, one round trip

  1. Step 1

    Write

    HTML/JS — peqaboo.* global

  2. Step 2

    Deploy

    Vercel / Netlify / your host

  3. Step 3

    Submit

    Paste URL + metadata

  4. Step 4

    Review

    Reviewer checks scopes & flow

  5. Step 5

    Live

    Listed in launcher + directory

Form fields

What you submit

The dashboard saves these as a record in our manifest store. A reviewer reads the same record before approving.

  • appId

    string (kebab-case)

    Unique permanent identifier — e.g. mochi-stamp-card. Cannot be changed after creation.

  • name

    string (i18n-aware)

    Display name shown in the launcher and directory. Translator agent fills locales after first save.

  • icon

    string (HTTPS URL)

    Square PNG/JPG hosted by you, ≥ 512×512. We recommend serving alongside your BooApp.

  • entryUrl

    string (HTTPS URL)

    The URL the runtime will load. Must return 200 + valid HTML over HTTPS.

  • category

    'event' | 'tool' | 'game' | 'commerce' | 'utility'

    Drives where your app appears in the directory.

  • permissions

    string[]

    Every scope you call must be declared here. Calling an undeclared scope at runtime fails immediately.

Example manifest payload:

manifest.json
{
  "appId": "mochi-stamp-card",
  "name": "Mochi Stamp Card",
  "shortDescription": "Collect stamps when you visit partner shops.",
  "icon": "https://my-app.vercel.app/icon.png",
  "entryUrl": "https://my-app.vercel.app",
  "category": "commerce",
  "permissions": [
    "auth.requireLogin",
    "pet.list",
    "device.scanCode",
    "device.share",
    "notification.send"
  ],
  "orientation": "portrait",
  "themeColor": "#7c3aed",
  "minBridgeVersion": 3
}

Watch out for

Common reject reasons

These are the most frequent issues that bounce a first submission. Fix them in advance and your review goes faster.

  • Permission called but not declared

    Your BooApp calls e.g. peqaboo.media.pickImage() but media.pickImage is not in the permissions array.

  • Broken or unreachable entryUrl

    The submitted URL returns 4xx/5xx, redirects in a loop, or fails to render in the runtime sandbox.

  • Missing manifest declarations

    Required fields are blank: name, icon, category, or short description below the minimum length.

  • Low-quality content

    Empty placeholder pages, scraped content, no actual interactive value, or duplicates of existing apps.

  • Mishandled permissions UX

    High-tier confirm sheets bypassed via auto-tap, or no graceful fallback when the user denies a scope.

  • Non-HTTPS or mixed content

    entryUrl is plain HTTP, or your page loads scripts/images over HTTP. Modern WebViews block these.

After launch

Re-submission policy

  • Any change to entryUrl creates a new submission record. The previous version stays live until the new one is approved.
  • Metadata-only edits (name, icon, description) require a lighter re-review.
  • Adding new permissions always re-triggers full review — don't over-declare on day one.
  • If rejected, fix the cited issues and resubmit; you won't lose your appId or review history.
Open BooApp dashboard