Publish and sell what you build with Claude: apps, ebooks and courses, with checkout and a feed.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <token>. Get it free at boonful.io: Studio, then Studio Extensions, then Copy for Claude.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Find people who need what the creator sells, right now, on X, Reddit, LinkedIn, Threads, Bluesky (and Facebook, Instagram, TikTok, YouTube, forums if asked). Write the searches yourself: `x_query` uses X advanced search (people asking for it, e.g. ("looking for" OR "any recommendations" OR "is there an app") ("phrase" OR "phrase") lang:en -filter:retweets), `plain_query` is 1-3 quoted phrases joined with OR for the other platforms. Returns recent posts with their authors; YOU then pick the likely buyers and write a warm first message for each. Nothing is posted or sent for the creator. A few free searches, then Boonful Max.
What the creator sells and who it helps, 1-2 sentences.
Default: x, reddit, linkedin, threads, bluesky.
Optional: people complaining about the problem, everyday words.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Find people who need what the creator sells, right now, on X, Reddit, LinkedIn, Threads, Bluesky (and Facebook, Instagram, TikTok, YouTube, forums if asked). Write the searches yourself: `x_query` uses X advanced search (people asking for it, e.g. ("looking for" OR "any recommendations" OR "is there an app") ("phrase" OR "phrase") lang:en -filter:retweets), `plain_query` is 1-3 quoted phrases joined with OR for the other platforms. Returns recent posts with their authors; YOU then pick the likely buyers and write a warm first message for each. Nothing is posted or sent for the creator. A few free searches, then Boonful Max.
| Argument | Type | Description |
|---|---|---|
| product* | string | What the creator sells and who it helps, 1-2 sentences. |
| x_query | string | |
| platforms | array | Default: x, reddit, linkedin, threads, bluesky. |
| plain_query | string | |
| x_query_pain | string | Optional: people complaining about the problem, everyday words. |
{
"type": "object",
"required": [
"product"
],
"properties": {
"product": {
"type": "string",
"description": "What the creator sells and who it helps, 1-2 sentences."
},
"x_query": {
"type": "string"
},
"platforms": {
"type": "array",
"items": {
"enum": [
"x",
"reddit",
"linkedin",
"threads",
"bluesky",
"facebook",
"instagram",
"tiktok",
"youtube",
"forums"
],
"type": "string"
},
"description": "Default: x, reddit, linkedin, threads, bluesky."
},
"plain_query": {
"type": "string"
},
"x_query_pain": {
"type": "string",
"description": "Optional: people complaining about the problem, everyday words."
}
}
}Remove one queued post by id (only posts that have not gone out yet).
| Argument | Type | Description |
|---|---|---|
| id* | number |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "number"
}
}
}READ THIS FIRST for anything about social posts. Returns the Scheduler rulebook: what you may do, how to check connected accounts and limits, and how to schedule. The scheduling tools refuse to run until you have called this.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}The creator's queue and recent posts (id, time, status, platforms, text).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Put ONE text post in the creator's Scheduler queue for the given moment, on one or more CONNECTED platforms. Confirm the exact text and time with the creator first. The server enforces platform limits, the monthly X share, character limits and the no-outside-payments rule.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| when* | string | Local "YYYY-MM-DD HH:MM" (needs `timezone`) or full ISO with offset. |
| timezone | string | IANA time zone of the creator, e.g. "Europe/London". |
| accountId | string | Only when the creator has several accounts on one platform. |
| platforms* | array | Text-capable platforms that scheduler_status reports as connected. |
{
"type": "object",
"required": [
"text",
"when",
"platforms"
],
"properties": {
"text": {
"type": "string"
},
"when": {
"type": "string",
"description": "Local \"YYYY-MM-DD HH:MM\" (needs `timezone`) or full ISO with offset."
},
"timezone": {
"type": "string",
"description": "IANA time zone of the creator, e.g. \"Europe/London\"."
},
"accountId": {
"type": "string",
"description": "Only when the creator has several accounts on one platform."
},
"platforms": {
"type": "array",
"items": {
"enum": [
"x",
"linkedin",
"threads",
"bluesky",
"facebook"
],
"type": "string"
},
"description": "Text-capable platforms that scheduler_status reports as connected."
}
}
}LIVE state of the creator's Scheduler: which platforms Boonful supports right now, which accounts they have connected, posts left today / this month per platform, character limits, and what each platform needs. Call before writing, and again with `when` to check another day.
| Argument | Type | Description |
|---|---|---|
| when | string | Optional day to check, "YYYY-MM-DD HH:MM" (with `timezone`) or ISO. |
| timezone | string | IANA time zone, e.g. "Europe/London". |
{
"type": "object",
"properties": {
"when": {
"type": "string",
"description": "Optional day to check, \"YYYY-MM-DD HH:MM\" (with `timezone`) or ISO."
},
"timezone": {
"type": "string",
"description": "IANA time zone, e.g. \"Europe/London\"."
}
}
}FIRST call `studio_guide` and follow it — the server refuses to build until you have. It tells you what Studio supports, how to ask the creator anything (ONE question at a time, 2-4 numbered options you wrote for this product, recommended first — they answer with a number and never type a sentence), and the rules: payments only through Boonful checkout (any outside payment link, script or instruction is refused), and everything you make is a DRAFT that only the creator can publish after filling in each section and their payout details. — CONNECT A PRODUCT THE CREATOR ALREADY BUILT AND HOSTS SOMEWHERE ELSE (their own domain, Vercel, Netlify, Cloudflare…). Their code stays where it is; Boonful gets a product page in Boonful's design, a window that opens their live site, visit tracking, their Stripe sales in Business and Sign in with Boonful. Read the project you are in first (name, what it does, prices, the live URL). Pass `url` (the live https address), `name`, `description` (40+ characters, plain words for buyers), `subtitle`, `category`, an `icon` (~256px PNG, base64 or data URI — make one from their logo/favicon if they have one) and `screenshots` [{image, device:'mobile'|'desktop'}] of the real app (mobile 1170x2532, desktop 1600x1000). Saved as a DRAFT. The result gives you: the ONE script line to add to every page of their site (add it yourself, then deploy as the project normally deploys), the Sign in with Boonful snippet (wire it into their existing sign-in so a person inside the Boonful window is signed straight in), whether their site can open inside Boonful and the exact header to fix it if not, and how they connect Stripe. Call it again with the same `url` to update. Never add Boonful payment code: they keep their own checkout.
| Argument | Type | Description |
|---|---|---|
| url* | string | The live https address of their product. |
| icon | string | PNG as base64 or data URI. |
| name* |
Check a connected product end to end: is the visit script live on their site (visits arriving), can the site open inside the Boonful window, is Sign in with Boonful verified, is their Stripe connected and syncing. Pass `id` (from studio_connect_product). Use it after you add the script and deploy, and tell the creator in plain words what is done and what is left.
| Argument | Type | Description |
|---|---|---|
| id* | string |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
}FIRST call `studio_guide` and follow it — the server refuses to build until you have. It tells you what Studio supports, how to ask the creator anything (ONE question at a time, 2-4 numbered options you wrote for this product, recommended first — they answer with a number and never type a sentence), and the rules: payments only through Boonful checkout (any outside payment link, script or instruction is refused), and everything you make is a DRAFT that only the creator can publish after filling in each section and their payout details. — Create a COMPLETE app product in one shot and save it to Studio as a DRAFT for the user to review + publish. BEFORE calling, ask a SHORT run of numbered multiple-choice questions — one at a time, 2-4 concrete options each, the recommended one first, answered with a number (use the question tool your client offers if it has one; never ask for a sentence, never ask several at once, and the moment they say you decide, take your recommendations and build). (1) Pricing — offer real amounts for THIS product, e.g. "1. Free (recommended) 2. $4.99 one-time 3. $2.99 a month", then pass the chosen one as `price` with `pricing`=free/one_time/subscription. (2) Usage timer? — explain: it gives visitors N free minutes of use, after which they must subscribe/pay to keep using it (optional cooldown before the free time resets). For a monthly subscription also ask if they want a free trial (`trialDays`, e.g. 7). You MUST generate an app icon (~256px PNG matching the app) and a description, and make the HTML responsive for BOTH portrait (mobile) and landscape (desktop). Screenshots: ask which moments to show (three options for this product + "I'll describe them"), then pass `screens` (3-5 moments, each a different section, with a selling headline and how to reach it) and Boonful designs them for phone and desktop. The icon can be SVG markup (Boonful adds the gloss). Work FAST: do NOT run your own browser tests, Playwright, or QA/verification loops — the platform validates the app and renders the screenshots for you. As you go, give the user short friendly progress updates like 'Building the app…', 'Writing the description…', 'Designing the icon…', 'Setting pricing…', 'Generating screenshots…' — ALSO call `studio_progress` at EVERY milestone - first thing when you start, then before writing the app, designing the icon, writing the description, setting pricing, and saving. The creator watches a live panel on boonful.io that shows NOTHING between your calls, so a long build with no progress notes looks broken to them. Then create it in a single call. To modify an app you already made, call this again with the SAME name — it updates that one draft instead of creating a duplicate.
FIRST call `studio_guide` and follow it — the server refuses to build until you have. It tells you what Studio supports, how to ask the creator anything (ONE question at a time, 2-4 numbered options you wrote for this product, recommended first — they answer with a number and never type a sentence), and the rules: payments only through Boonful checkout (any outside payment link, script or instruction is refused), and everything you make is a DRAFT that only the creator can publish after filling in each section and their payout details. — Create a DIGITAL DOWNLOAD or a SERVICE as a DRAFT in the creator's Studio. Ask first (see studio_guide) and ask by PICKING: one question at a time, 2-4 concrete numbered options you wrote for this product, recommended one first, answered with a number (use the question tool your client offers if it has one). Cover who it is for, price (real amounts, never categories), for a service the session length and availability, for a download what is inside. Do not ask about screenshots: pass `screens` with titles and an `html` screen design for each (the cover, a page inside, the booking screen) and Boonful designs them App Store style. You choose the name yourself. You must pass an icon (SVG markup is fine — Boonful adds the gloss) and a description you write yourself.
| Argument | Type | Description |
|---|---|---|
| file | object | Digital download: the file buyers get. YOU create it and pass it here — do not ask the creator to upload it. |
| icon* | string | Only when the creator asks for a specific picture the icon language cannot show: your own drawing as SVG markup (viewBox 0 0 512 512, full-bleed background, a real picture with several shapes and depth, no words), or a photo they attached ("photo1"). Never together with icon_style or icon_symbol. |
| name* | string | |
Get the full details of one Studio product by id.
| Argument | Type | Description |
|---|---|---|
| id* | string | The product id. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The product id."
}
}
}READ THIS FIRST. Returns the Studio rulebook for this connection: what you can build here, the questions you must ask the creator before building (pricing and details; you make the icon, description and screenshots yourself), the payment rule the server enforces, and how publishing works. The building tools refuse to run until you have called this.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List all products in the creator's Boonful Studio (id, name, type, slug, public URL, HTML file). Use this first. AND NOTE: the creator watches a live panel on boonful.io that only shows what you report through this server — call `studio_progress` with a short plain-English note now, and again every 30-60 seconds while you work, or the panel sits blank and looks broken to them.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Post a short plain-English progress note to the creator's Studio Assistant panel on boonful.io, so they can watch what you're doing while you work. Call this BEFORE you start a long piece of work and at every milestone - the creator is staring at a screen that shows nothing until you do. Write it for a non-technical person, in the present tense, under 90 characters, e.g. 'Building your notes app...', 'Designing the app icon...', 'Writing the description...', 'Setting the price...', 'Saving it to your Studio...'. Never mention files, code, tools or terminals.
| Argument | Type | Description |
|---|---|---|
| note* | string | The progress line to show the creator. |
{
"type": "object",
"required": [
"note"
],
"properties": {
"note": {
"type": "string",
"description": "The progress line to show the creator."
}
}
}Read the current HTML source of an app-type Studio product.
| Argument | Type | Description |
|---|---|---|
| id* | string | The product id. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The product id."
}
}
}Check whether the creator's Stripe payouts are connected/active (read-only, no secrets). Use before creating a PAID app to decide live vs draft.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}FIRST call `studio_guide` and follow it — the server refuses to build until you have. It tells you what Studio supports, how to ask the creator anything (ONE question at a time, 2-4 numbered options you wrote for this product, recommended first — they answer with a number and never type a sentence), and the rules: payments only through Boonful checkout (any outside payment link, script or instruction is refused), and everything you make is a DRAFT that only the creator can publish after filling in each section and their payout details. — Update ANY existing product (app, digital download, service, book, course): replace an app's HTML, replace or add the files of a download/book/course, and/or edit details (name, description, category, price, tags, icon). Only pass the fields you want to change. If the product is already PUBLISHED and you change what customers get (HTML or files), you MUST pass `whatsNew` — the release notes customers read under "What's New" before they choose to update. Call `studio_progress` before you start.
| Argument | Type | Description |
|---|---|---|
| id* | string | The product id. |
| html | string | The complete new HTML document (apps only, optional). |
| icon | string | Only when the creator asks for a specific picture the icon language cannot show: your own drawing as SVG markup (viewBox 0 0 512 512, full-bleed background, a real picture with several shapes and depth, no words), or a photo they attached ("photo1"). Never together with icon_style or icon_symbol. |
| name | string | |
| tags | array | |
Show which Boonful account this connection is acting as and its product count.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}| string |
| slug | string | Short lowercase letters-and-digits link name. |
| category | string |
| subtitle | string |
| description* | string |
| screenshots | array |
{
"type": "object",
"required": [
"url",
"name",
"description"
],
"properties": {
"url": {
"type": "string",
"description": "The live https address of their product."
},
"icon": {
"type": "string",
"description": "PNG as base64 or data URI."
},
"name": {
"type": "string"
},
"slug": {
"type": "string",
"description": "Short lowercase letters-and-digits link name."
},
"category": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"description": {
"type": "string"
},
"screenshots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"image": {
"type": "string"
},
"device": {
"enum": [
"mobile",
"desktop"
],
"type": "string"
}
}
}
}
}
}| Argument | Type | Description |
|---|---|---|
| html* | string | Complete responsive HTML (portrait + landscape). |
| icon | string | Only when the creator asks for a specific picture the icon language cannot show: your own drawing as SVG markup (viewBox 0 0 512 512, full-bleed background, a real picture with several shapes and depth, no words), or a photo they attached ("photo1"). Never together with icon_style or icon_symbol. |
| name* | string | |
| tags | array | |
| price | string | Amount for one_time or monthly subscription (omit for free). |
| pricing | string | Ask the user first. |
| screens | array | The product-page gallery: 3-5 MOMENTS, each a DIFFERENT section of the product (a game: the start screen, real play mid-action, a power-up or new level, the game over with a high score; an app: the main screen with examples, adding something, stats, a detail, settings). Boonful designs each one like Boonful's own (a bold headline, a grey line under it, the product in a phone and in a browser window) and shows the SAME moments on phone and desktop. Each { title: the headline, 3-6 words that sell it ("See what you really pay."), subtitle: one short line under it, and how to reach that moment in the app: hash ("#bfshots-2"), tap (button words in order, or "center"), keys (["Space"]), js (one line of your app's own JavaScript), wait (ms the app runs first) }. A download, book, course or service gives html instead: a complete self-contained 390x844 page showing that part (the cover, a real page inside, what you get, the booking screen). |
| category | string | |
| subtitle | string | |
| username | string | |
| trialDays | number | Subscriptions only: a free trial of N days (1-90). The customer adds a card and is billed when the trial ends. Ask the creator if they want one. |
| icon_color | string | The ONE accent colour (hex) of the icon, e.g. #d2552f. Pick one that suits THIS product. |
| icon_plate | string | The background plate: deep graphite (default, like Boonful), ink, forest, plum, oxblood, ocean, light sand or cloud, or accent (a deep version of the accent). |
| icon_scene | string | For icon_style scene: the world behind the hero symbol. |
| icon_style | string | Boonful icon language — the hero object: stack = fanned pages (guides, books, courses, templates); card = a card in the hand (tools, lists, finance); device = a phone with the mark on its screen (apps); coin = a medallion (money, rewards, coffee); ticket = bookings, events, services; tile = a chunky game block (games, music, fun); scene = a little world behind a hero (games, travel, outdoors). |
| screens_bg | string | Optional flat background hex for every screenshot. |
| usageTimer | object | Optional free-usage timer. |
| description* | string | |
| icon_letter | string | Instead of a symbol: one or two letters as a bold serif monogram with an accent dot (very Boonful for guides, brands, studios). |
| icon_symbol | string | A symbol for the icon (solid, from Phosphor). One of: book-open, book, notebook-pen, graduation-cap, brain, lightbulb, pencil, pen-tool, palette, brush, camera, image, film, clapperboard, music, headphones, mic, radio, gamepad-2, dice-5, puzzle, trophy, target, rocket, star, heart, smile, sun, moon, cloud, cloud-rain, leaf, flower-2, tree-pine, flame, droplet, coffee, utensils, chef-hat, apple, carrot, dumbbell, bike, footprints, activity, heart-pulse, pill, stethoscope, timer, clock, alarm-clock, hourglass, calendar, calendar-check, list-checks, list-todo, square-check, clipboard-list, notebook, file-text, folder, archive, wallet, piggy-bank, credit-card, receipt, chart-line, chart-pie, chart-column, trending-up, calculator, briefcase, building-2, store, shopping-bag, shopping-cart, gift, package, truck, plane, map, map-pin, compass, globe, house, key, lock, shield, bell, mail, message-circle, phone, users, user, baby, dog, cat, bird, fish, paw-print, scissors, wrench, hammer, code, terminal, laptop, smartphone, wifi, zap, sparkles, gem, crown, feather, sprout, mountain, waves, tent, car, ticket, party-popper, cake, shirt, languages, atom, flask-conical, microscope, telescope, newspaper, podcast, tv, presentation, hand-heart, heart-handshake, glasses, brain-circuit, bot, ghost, sword, swords, shield-check, medal, gauge, sun-moon, snowflake, umbrella, anchor, sailboat, ship, landmark, church, school, library, book-marked, bookmark, highlighter, eraser, ruler, shapes, layers, layout-grid, kanban, list, grid-3x3, joystick, spade, club, diamond, alien, barbell, basketball, butterfly, cactus, car-profile, flower-lotus, hamburger, horse, ice-cream, lightning, person-simple-bike, person-simple-run, person-simple-swim, person-simple-walk, pizza, robot, sneaker-move, soccer-ball, train-simple. |
| screenshots | array | Rarely needed: your own finished images instead of the designed ones (pass `screens` instead). |
{
"type": "object",
"required": [
"name",
"html",
"description"
],
"properties": {
"html": {
"type": "string",
"description": "Complete responsive HTML (portrait + landscape)."
},
"icon": {
"type": "string",
"description": "Only when the creator asks for a specific picture the icon language cannot show: your own drawing as SVG markup (viewBox 0 0 512 512, full-bleed background, a real picture with several shapes and depth, no words), or a photo they attached (\"photo1\"). Never together with icon_style or icon_symbol."
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"price": {
"type": "string",
"description": "Amount for one_time or monthly subscription (omit for free)."
},
"pricing": {
"enum": [
"free",
"one_time",
"subscription"
],
"type": "string",
"description": "Ask the user first."
},
"screens": {
"type": "array",
"items": {
"type": "object",
"required": [
"title"
],
"properties": {
"bg": {
"type": "string"
},
"js": {
"type": "string"
},
"tap": {
"type": "array",
"items": {
"type": "string"
}
},
"hash": {
"type": "string"
},
"html": {
"type": "string"
},
"keys": {
"type": "array",
"items": {
"type": "string"
}
},
"wait": {
"type": "number"
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
}
}
},
"maxItems": 5,
"description": "The product-page gallery: 3-5 MOMENTS, each a DIFFERENT section of the product (a game: the start screen, real play mid-action, a power-up or new level, the game over with a high score; an app: the main screen with examples, adding something, stats, a detail, settings). Boonful designs each one like Boonful's own (a bold headline, a grey line under it, the product in a phone and in a browser window) and shows the SAME moments on phone and desktop. Each { title: the headline, 3-6 words that sell it (\"See what you really pay.\"), subtitle: one short line under it, and how to reach that moment in the app: hash (\"#bfshots-2\"), tap (button words in order, or \"center\"), keys ([\"Space\"]), js (one line of your app's own JavaScript), wait (ms the app runs first) }. A download, book, course or service gives html instead: a complete self-contained 390x844 page showing that part (the cover, a real page inside, what you get, the booking screen)."
},
"category": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"username": {
"type": "string"
},
"trialDays": {
"type": "number",
"description": "Subscriptions only: a free trial of N days (1-90). The customer adds a card and is billed when the trial ends. Ask the creator if they want one."
},
"icon_color": {
"type": "string",
"description": "The ONE accent colour (hex) of the icon, e.g. #d2552f. Pick one that suits THIS product."
},
"icon_plate": {
"enum": [
"graphite",
"ink",
"forest",
"plum",
"oxblood",
"ocean",
"sand",
"cloud",
"accent"
],
"type": "string",
"description": "The background plate: deep graphite (default, like Boonful), ink, forest, plum, oxblood, ocean, light sand or cloud, or accent (a deep version of the accent)."
},
"icon_scene": {
"enum": [
"city",
"mountains",
"sea",
"space",
"forest",
"desert"
],
"type": "string",
"description": "For icon_style scene: the world behind the hero symbol."
},
"icon_style": {
"enum": [
"stack",
"card",
"device",
"coin",
"ticket",
"tile",
"scene"
],
"type": "string",
"description": "Boonful icon language — the hero object: stack = fanned pages (guides, books, courses, templates); card = a card in the hand (tools, lists, finance); device = a phone with the mark on its screen (apps); coin = a medallion (money, rewards, coffee); ticket = bookings, events, services; tile = a chunky game block (games, music, fun); scene = a little world behind a hero (games, travel, outdoors)."
},
"screens_bg": {
"type": "string",
"description": "Optional flat background hex for every screenshot."
},
"usageTimer": {
"type": "object",
"properties": {
"freeMinutes": {
"type": "number"
},
"cooldownMinutes": {
"type": "number"
}
},
"description": "Optional free-usage timer."
},
"description": {
"type": "string"
},
"icon_letter": {
"type": "string",
"description": "Instead of a symbol: one or two letters as a bold serif monogram with an accent dot (very Boonful for guides, brands, studios)."
},
"icon_symbol": {
"type": "string",
"description": "A symbol for the icon (solid, from Phosphor). One of: book-open, book, notebook-pen, graduation-cap, brain, lightbulb, pencil, pen-tool, palette, brush, camera, image, film, clapperboard, music, headphones, mic, radio, gamepad-2, dice-5, puzzle, trophy, target, rocket, star, heart, smile, sun, moon, cloud, cloud-rain, leaf, flower-2, tree-pine, flame, droplet, coffee, utensils, chef-hat, apple, carrot, dumbbell, bike, footprints, activity, heart-pulse, pill, stethoscope, timer, clock, alarm-clock, hourglass, calendar, calendar-check, list-checks, list-todo, square-check, clipboard-list, notebook, file-text, folder, archive, wallet, piggy-bank, credit-card, receipt, chart-line, chart-pie, chart-column, trending-up, calculator, briefcase, building-2, store, shopping-bag, shopping-cart, gift, package, truck, plane, map, map-pin, compass, globe, house, key, lock, shield, bell, mail, message-circle, phone, users, user, baby, dog, cat, bird, fish, paw-print, scissors, wrench, hammer, code, terminal, laptop, smartphone, wifi, zap, sparkles, gem, crown, feather, sprout, mountain, waves, tent, car, ticket, party-popper, cake, shirt, languages, atom, flask-conical, microscope, telescope, newspaper, podcast, tv, presentation, hand-heart, heart-handshake, glasses, brain-circuit, bot, ghost, sword, swords, shield-check, medal, gauge, sun-moon, snowflake, umbrella, anchor, sailboat, ship, landmark, church, school, library, book-marked, bookmark, highlighter, eraser, ruler, shapes, layers, layout-grid, kanban, list, grid-3x3, joystick, spade, club, diamond, alien, barbell, basketball, butterfly, cactus, car-profile, flower-lotus, hamburger, horse, ice-cream, lightning, person-simple-bike, person-simple-run, person-simple-swim, person-simple-walk, pizza, robot, sneaker-move, soccer-ball, train-simple."
},
"screenshots": {
"type": "array",
"items": {
"type": "string"
},
"description": "Rarely needed: your own finished images instead of the designed ones (pass `screens` instead)."
}
}
}| slug |
| string |
| Short link name: lowercase letters and numbers only, NO dashes, max 24 characters, e.g. "payforit". |
| tags | array |
| type* | string |
| files | array | Up to 5 files, same shape as `file`. |
| price | string | Amount as a number, e.g. "29". A service must have a price; a download may be "0" (free). |
| screens | array | The product-page gallery: 3-5 MOMENTS, each a DIFFERENT section of the product (a game: the start screen, real play mid-action, a power-up or new level, the game over with a high score; an app: the main screen with examples, adding something, stats, a detail, settings). Boonful designs each one like Boonful's own (a bold headline, a grey line under it, the product in a phone and in a browser window) and shows the SAME moments on phone and desktop. Each { title: the headline, 3-6 words that sell it ("See what you really pay."), subtitle: one short line under it, and how to reach that moment in the app: hash ("#bfshots-2"), tap (button words in order, or "center"), keys (["Space"]), js (one line of your app's own JavaScript), wait (ms the app runs first) }. A download, book, course or service gives html instead: a complete self-contained 390x844 page showing that part (the cover, a real page inside, what you get, the booking screen). |
| category | string | Use "Digital" for downloads and "Other" for services unless another clearly fits. |
| delivery | string | Service only: how it is delivered, e.g. "Video call". |
| features | array | Up to 6 short benefit lines. |
| subtitle | string |
| username | string |
| icon_color | string | The ONE accent colour (hex) of the icon, e.g. #d2552f. Pick one that suits THIS product. |
| icon_plate | string | The background plate: deep graphite (default, like Boonful), ink, forest, plum, oxblood, ocean, light sand or cloud, or accent (a deep version of the accent). |
| icon_scene | string | For icon_style scene: the world behind the hero symbol. |
| icon_style | string | Boonful icon language — the hero object: stack = fanned pages (guides, books, courses, templates); card = a card in the hand (tools, lists, finance); device = a phone with the mark on its screen (apps); coin = a medallion (money, rewards, coffee); ticket = bookings, events, services; tile = a chunky game block (games, music, fun); scene = a little world behind a hero (games, travel, outdoors). |
| screens_bg | string | Optional flat background hex for every screenshot. |
| description* | string | What it is and who it is for. Benefits, not a feature list. |
| icon_letter | string | Instead of a symbol: one or two letters as a bold serif monogram with an accent dot (very Boonful for guides, brands, studios). |
| icon_symbol | string | A symbol for the icon (solid, from Phosphor). One of: book-open, book, notebook-pen, graduation-cap, brain, lightbulb, pencil, pen-tool, palette, brush, camera, image, film, clapperboard, music, headphones, mic, radio, gamepad-2, dice-5, puzzle, trophy, target, rocket, star, heart, smile, sun, moon, cloud, cloud-rain, leaf, flower-2, tree-pine, flame, droplet, coffee, utensils, chef-hat, apple, carrot, dumbbell, bike, footprints, activity, heart-pulse, pill, stethoscope, timer, clock, alarm-clock, hourglass, calendar, calendar-check, list-checks, list-todo, square-check, clipboard-list, notebook, file-text, folder, archive, wallet, piggy-bank, credit-card, receipt, chart-line, chart-pie, chart-column, trending-up, calculator, briefcase, building-2, store, shopping-bag, shopping-cart, gift, package, truck, plane, map, map-pin, compass, globe, house, key, lock, shield, bell, mail, message-circle, phone, users, user, baby, dog, cat, bird, fish, paw-print, scissors, wrench, hammer, code, terminal, laptop, smartphone, wifi, zap, sparkles, gem, crown, feather, sprout, mountain, waves, tent, car, ticket, party-popper, cake, shirt, languages, atom, flask-conical, microscope, telescope, newspaper, podcast, tv, presentation, hand-heart, heart-handshake, glasses, brain-circuit, bot, ghost, sword, swords, shield-check, medal, gauge, sun-moon, snowflake, umbrella, anchor, sailboat, ship, landmark, church, school, library, book-marked, bookmark, highlighter, eraser, ruler, shapes, layers, layout-grid, kanban, list, grid-3x3, joystick, spade, club, diamond, alien, barbell, basketball, butterfly, cactus, car-profile, flower-lotus, hamburger, horse, ice-cream, lightning, person-simple-bike, person-simple-run, person-simple-swim, person-simple-walk, pizza, robot, sneaker-move, soccer-ball, train-simple. |
| screenshots | array | Rarely needed — your own finished images instead of `screens`: base64 images or {image, device}. Mobile 1170x2532, desktop 1600x1000, up to 10. |
| availability | object | Service only: { days: ["mon","tue",...], from: "09:00", to: "17:00" } |
| durationMinutes | number | Service only: length of one session. |
{
"type": "object",
"required": [
"type",
"name",
"description",
"icon"
],
"properties": {
"file": {
"type": "object",
"required": [
"name",
"base64"
],
"properties": {
"html": {
"type": "string",
"description": "Or the content as html (becomes a PDF)."
},
"name": {
"type": "string",
"description": "File name with extension, e.g. \"Guide.pdf\"."
},
"type": {
"type": "string",
"description": "MIME type."
},
"base64": {
"type": "string"
},
"markdown": {
"type": "string",
"description": "The complete content as markdown — Boonful lays it out as a designed PDF (use instead of base64)."
}
},
"description": "Digital download: the file buyers get. YOU create it and pass it here — do not ask the creator to upload it."
},
"icon": {
"type": "string",
"description": "Only when the creator asks for a specific picture the icon language cannot show: your own drawing as SVG markup (viewBox 0 0 512 512, full-bleed background, a real picture with several shapes and depth, no words), or a photo they attached (\"photo1\"). Never together with icon_style or icon_symbol."
},
"name": {
"type": "string"
},
"slug": {
"type": "string",
"description": "Short link name: lowercase letters and numbers only, NO dashes, max 24 characters, e.g. \"payforit\"."
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"type": {
"enum": [
"digital",
"service"
],
"type": "string"
},
"files": {
"type": "array",
"items": {
"type": "object"
},
"description": "Up to 5 files, same shape as `file`."
},
"price": {
"type": "string",
"description": "Amount as a number, e.g. \"29\". A service must have a price; a download may be \"0\" (free)."
},
"screens": {
"type": "array",
"items": {
"type": "object",
"required": [
"title"
],
"properties": {
"bg": {
"type": "string"
},
"js": {
"type": "string"
},
"tap": {
"type": "array",
"items": {
"type": "string"
}
},
"hash": {
"type": "string"
},
"html": {
"type": "string"
},
"keys": {
"type": "array",
"items": {
"type": "string"
}
},
"wait": {
"type": "number"
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
}
}
},
"maxItems": 5,
"description": "The product-page gallery: 3-5 MOMENTS, each a DIFFERENT section of the product (a game: the start screen, real play mid-action, a power-up or new level, the game over with a high score; an app: the main screen with examples, adding something, stats, a detail, settings). Boonful designs each one like Boonful's own (a bold headline, a grey line under it, the product in a phone and in a browser window) and shows the SAME moments on phone and desktop. Each { title: the headline, 3-6 words that sell it (\"See what you really pay.\"), subtitle: one short line under it, and how to reach that moment in the app: hash (\"#bfshots-2\"), tap (button words in order, or \"center\"), keys ([\"Space\"]), js (one line of your app's own JavaScript), wait (ms the app runs first) }. A download, book, course or service gives html instead: a complete self-contained 390x844 page showing that part (the cover, a real page inside, what you get, the booking screen)."
},
"category": {
"enum": [
"Digital",
"Art",
"Home",
"Apparel",
"Electronics",
"Beauty",
"Food",
"Other"
],
"type": "string",
"description": "Use \"Digital\" for downloads and \"Other\" for services unless another clearly fits."
},
"delivery": {
"type": "string",
"description": "Service only: how it is delivered, e.g. \"Video call\"."
},
"features": {
"type": "array",
"items": {
"type": "string"
},
"description": "Up to 6 short benefit lines."
},
"subtitle": {
"type": "string"
},
"username": {
"type": "string"
},
"icon_color": {
"type": "string",
"description": "The ONE accent colour (hex) of the icon, e.g. #d2552f. Pick one that suits THIS product."
},
"icon_plate": {
"enum": [
"graphite",
"ink",
"forest",
"plum",
"oxblood",
"ocean",
"sand",
"cloud",
"accent"
],
"type": "string",
"description": "The background plate: deep graphite (default, like Boonful), ink, forest, plum, oxblood, ocean, light sand or cloud, or accent (a deep version of the accent)."
},
"icon_scene": {
"enum": [
"city",
"mountains",
"sea",
"space",
"forest",
"desert"
],
"type": "string",
"description": "For icon_style scene: the world behind the hero symbol."
},
"icon_style": {
"enum": [
"stack",
"card",
"device",
"coin",
"ticket",
"tile",
"scene"
],
"type": "string",
"description": "Boonful icon language — the hero object: stack = fanned pages (guides, books, courses, templates); card = a card in the hand (tools, lists, finance); device = a phone with the mark on its screen (apps); coin = a medallion (money, rewards, coffee); ticket = bookings, events, services; tile = a chunky game block (games, music, fun); scene = a little world behind a hero (games, travel, outdoors)."
},
"screens_bg": {
"type": "string",
"description": "Optional flat background hex for every screenshot."
},
"description": {
"type": "string",
"description": "What it is and who it is for. Benefits, not a feature list."
},
"icon_letter": {
"type": "string",
"description": "Instead of a symbol: one or two letters as a bold serif monogram with an accent dot (very Boonful for guides, brands, studios)."
},
"icon_symbol": {
"type": "string",
"description": "A symbol for the icon (solid, from Phosphor). One of: book-open, book, notebook-pen, graduation-cap, brain, lightbulb, pencil, pen-tool, palette, brush, camera, image, film, clapperboard, music, headphones, mic, radio, gamepad-2, dice-5, puzzle, trophy, target, rocket, star, heart, smile, sun, moon, cloud, cloud-rain, leaf, flower-2, tree-pine, flame, droplet, coffee, utensils, chef-hat, apple, carrot, dumbbell, bike, footprints, activity, heart-pulse, pill, stethoscope, timer, clock, alarm-clock, hourglass, calendar, calendar-check, list-checks, list-todo, square-check, clipboard-list, notebook, file-text, folder, archive, wallet, piggy-bank, credit-card, receipt, chart-line, chart-pie, chart-column, trending-up, calculator, briefcase, building-2, store, shopping-bag, shopping-cart, gift, package, truck, plane, map, map-pin, compass, globe, house, key, lock, shield, bell, mail, message-circle, phone, users, user, baby, dog, cat, bird, fish, paw-print, scissors, wrench, hammer, code, terminal, laptop, smartphone, wifi, zap, sparkles, gem, crown, feather, sprout, mountain, waves, tent, car, ticket, party-popper, cake, shirt, languages, atom, flask-conical, microscope, telescope, newspaper, podcast, tv, presentation, hand-heart, heart-handshake, glasses, brain-circuit, bot, ghost, sword, swords, shield-check, medal, gauge, sun-moon, snowflake, umbrella, anchor, sailboat, ship, landmark, church, school, library, book-marked, bookmark, highlighter, eraser, ruler, shapes, layers, layout-grid, kanban, list, grid-3x3, joystick, spade, club, diamond, alien, barbell, basketball, butterfly, cactus, car-profile, flower-lotus, hamburger, horse, ice-cream, lightning, person-simple-bike, person-simple-run, person-simple-swim, person-simple-walk, pizza, robot, sneaker-move, soccer-ball, train-simple."
},
"screenshots": {
"type": "array",
"items": {},
"description": "Rarely needed — your own finished images instead of `screens`: base64 images or {image, device}. Mobile 1170x2532, desktop 1600x1000, up to 10."
},
"availability": {
"type": "object",
"properties": {
"to": {
"type": "string"
},
"days": {
"type": "array",
"items": {
"type": "string"
}
},
"from": {
"type": "string"
}
},
"description": "Service only: { days: [\"mon\",\"tue\",...], from: \"09:00\", to: \"17:00\" }"
},
"durationMinutes": {
"type": "number",
"description": "Service only: length of one session."
}
}
}| files |
| array |
| New or replacement files for a download / book / course: [{name, markdown}] — the complete content as markdown, Boonful designs it as a PDF — or [{name, base64, type?, label?}] for a file you already have (max 5, 40 MB each). |
| price | string |
| screens | array | The product-page gallery: 3-5 MOMENTS, each a DIFFERENT section of the product (a game: the start screen, real play mid-action, a power-up or new level, the game over with a high score; an app: the main screen with examples, adding something, stats, a detail, settings). Boonful designs each one like Boonful's own (a bold headline, a grey line under it, the product in a phone and in a browser window) and shows the SAME moments on phone and desktop. Each { title: the headline, 3-6 words that sell it ("See what you really pay."), subtitle: one short line under it, and how to reach that moment in the app: hash ("#bfshots-2"), tap (button words in order, or "center"), keys (["Space"]), js (one line of your app's own JavaScript), wait (ms the app runs first) }. A download, book, course or service gives html instead: a complete self-contained 390x844 page showing that part (the cover, a real page inside, what you get, the booking screen). |
| category | string |
| whatsNew | string | Release notes for customers: 1-4 short lines, each one a benefit or a fix in plain words ("Reminders now repeat weekly", "Fixed the date picker on small phones"). Present tense, no code words, no file names, no version numbers, no marketing fluff. |
| icon_color | string | The ONE accent colour (hex) of the icon, e.g. #d2552f. Pick one that suits THIS product. |
| icon_plate | string | The background plate: deep graphite (default, like Boonful), ink, forest, plum, oxblood, ocean, light sand or cloud, or accent (a deep version of the accent). |
| icon_scene | string | For icon_style scene: the world behind the hero symbol. |
| icon_style | string | Boonful icon language — the hero object: stack = fanned pages (guides, books, courses, templates); card = a card in the hand (tools, lists, finance); device = a phone with the mark on its screen (apps); coin = a medallion (money, rewards, coffee); ticket = bookings, events, services; tile = a chunky game block (games, music, fun); scene = a little world behind a hero (games, travel, outdoors). |
| screens_bg | string | Optional flat background hex for every screenshot. |
| description | string |
| icon_letter | string | Instead of a symbol: one or two letters as a bold serif monogram with an accent dot (very Boonful for guides, brands, studios). |
| icon_symbol | string | A symbol for the icon (solid, from Phosphor). One of: book-open, book, notebook-pen, graduation-cap, brain, lightbulb, pencil, pen-tool, palette, brush, camera, image, film, clapperboard, music, headphones, mic, radio, gamepad-2, dice-5, puzzle, trophy, target, rocket, star, heart, smile, sun, moon, cloud, cloud-rain, leaf, flower-2, tree-pine, flame, droplet, coffee, utensils, chef-hat, apple, carrot, dumbbell, bike, footprints, activity, heart-pulse, pill, stethoscope, timer, clock, alarm-clock, hourglass, calendar, calendar-check, list-checks, list-todo, square-check, clipboard-list, notebook, file-text, folder, archive, wallet, piggy-bank, credit-card, receipt, chart-line, chart-pie, chart-column, trending-up, calculator, briefcase, building-2, store, shopping-bag, shopping-cart, gift, package, truck, plane, map, map-pin, compass, globe, house, key, lock, shield, bell, mail, message-circle, phone, users, user, baby, dog, cat, bird, fish, paw-print, scissors, wrench, hammer, code, terminal, laptop, smartphone, wifi, zap, sparkles, gem, crown, feather, sprout, mountain, waves, tent, car, ticket, party-popper, cake, shirt, languages, atom, flask-conical, microscope, telescope, newspaper, podcast, tv, presentation, hand-heart, heart-handshake, glasses, brain-circuit, bot, ghost, sword, swords, shield-check, medal, gauge, sun-moon, snowflake, umbrella, anchor, sailboat, ship, landmark, church, school, library, book-marked, bookmark, highlighter, eraser, ruler, shapes, layers, layout-grid, kanban, list, grid-3x3, joystick, spade, club, diamond, alien, barbell, basketball, butterfly, cactus, car-profile, flower-lotus, hamburger, horse, ice-cream, lightning, person-simple-bike, person-simple-run, person-simple-swim, person-simple-walk, pizza, robot, sneaker-move, soccer-ball, train-simple. |
| screenshots | array | Set the screenshots yourself: "photo1" … "photo4" = the photos the creator attached in the chat ("photos" = all of them), "current" = keep the ones it has (e.g. ["current", "photo1"] adds one), or base64 images or {image, device:"mobile"|"desktop"}, mobile 1170x2532, desktop 1600x1000, up to 10. |
| replaceFiles | boolean | true = these files REPLACE the current ones; false/omitted = they are added after them. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The product id."
},
"html": {
"type": "string",
"description": "The complete new HTML document (apps only, optional)."
},
"icon": {
"type": "string",
"description": "Only when the creator asks for a specific picture the icon language cannot show: your own drawing as SVG markup (viewBox 0 0 512 512, full-bleed background, a real picture with several shapes and depth, no words), or a photo they attached (\"photo1\"). Never together with icon_style or icon_symbol."
},
"name": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"files": {
"type": "array",
"items": {
"type": "object"
},
"description": "New or replacement files for a download / book / course: [{name, markdown}] — the complete content as markdown, Boonful designs it as a PDF — or [{name, base64, type?, label?}] for a file you already have (max 5, 40 MB each)."
},
"price": {
"type": "string"
},
"screens": {
"type": "array",
"items": {
"type": "object",
"required": [
"title"
],
"properties": {
"bg": {
"type": "string"
},
"js": {
"type": "string"
},
"tap": {
"type": "array",
"items": {
"type": "string"
}
},
"hash": {
"type": "string"
},
"html": {
"type": "string"
},
"keys": {
"type": "array",
"items": {
"type": "string"
}
},
"wait": {
"type": "number"
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
}
}
},
"maxItems": 5,
"description": "The product-page gallery: 3-5 MOMENTS, each a DIFFERENT section of the product (a game: the start screen, real play mid-action, a power-up or new level, the game over with a high score; an app: the main screen with examples, adding something, stats, a detail, settings). Boonful designs each one like Boonful's own (a bold headline, a grey line under it, the product in a phone and in a browser window) and shows the SAME moments on phone and desktop. Each { title: the headline, 3-6 words that sell it (\"See what you really pay.\"), subtitle: one short line under it, and how to reach that moment in the app: hash (\"#bfshots-2\"), tap (button words in order, or \"center\"), keys ([\"Space\"]), js (one line of your app's own JavaScript), wait (ms the app runs first) }. A download, book, course or service gives html instead: a complete self-contained 390x844 page showing that part (the cover, a real page inside, what you get, the booking screen)."
},
"category": {
"type": "string"
},
"whatsNew": {
"type": "string",
"description": "Release notes for customers: 1-4 short lines, each one a benefit or a fix in plain words (\"Reminders now repeat weekly\", \"Fixed the date picker on small phones\"). Present tense, no code words, no file names, no version numbers, no marketing fluff."
},
"icon_color": {
"type": "string",
"description": "The ONE accent colour (hex) of the icon, e.g. #d2552f. Pick one that suits THIS product."
},
"icon_plate": {
"enum": [
"graphite",
"ink",
"forest",
"plum",
"oxblood",
"ocean",
"sand",
"cloud",
"accent"
],
"type": "string",
"description": "The background plate: deep graphite (default, like Boonful), ink, forest, plum, oxblood, ocean, light sand or cloud, or accent (a deep version of the accent)."
},
"icon_scene": {
"enum": [
"city",
"mountains",
"sea",
"space",
"forest",
"desert"
],
"type": "string",
"description": "For icon_style scene: the world behind the hero symbol."
},
"icon_style": {
"enum": [
"stack",
"card",
"device",
"coin",
"ticket",
"tile",
"scene"
],
"type": "string",
"description": "Boonful icon language — the hero object: stack = fanned pages (guides, books, courses, templates); card = a card in the hand (tools, lists, finance); device = a phone with the mark on its screen (apps); coin = a medallion (money, rewards, coffee); ticket = bookings, events, services; tile = a chunky game block (games, music, fun); scene = a little world behind a hero (games, travel, outdoors)."
},
"screens_bg": {
"type": "string",
"description": "Optional flat background hex for every screenshot."
},
"description": {
"type": "string"
},
"icon_letter": {
"type": "string",
"description": "Instead of a symbol: one or two letters as a bold serif monogram with an accent dot (very Boonful for guides, brands, studios)."
},
"icon_symbol": {
"type": "string",
"description": "A symbol for the icon (solid, from Phosphor). One of: book-open, book, notebook-pen, graduation-cap, brain, lightbulb, pencil, pen-tool, palette, brush, camera, image, film, clapperboard, music, headphones, mic, radio, gamepad-2, dice-5, puzzle, trophy, target, rocket, star, heart, smile, sun, moon, cloud, cloud-rain, leaf, flower-2, tree-pine, flame, droplet, coffee, utensils, chef-hat, apple, carrot, dumbbell, bike, footprints, activity, heart-pulse, pill, stethoscope, timer, clock, alarm-clock, hourglass, calendar, calendar-check, list-checks, list-todo, square-check, clipboard-list, notebook, file-text, folder, archive, wallet, piggy-bank, credit-card, receipt, chart-line, chart-pie, chart-column, trending-up, calculator, briefcase, building-2, store, shopping-bag, shopping-cart, gift, package, truck, plane, map, map-pin, compass, globe, house, key, lock, shield, bell, mail, message-circle, phone, users, user, baby, dog, cat, bird, fish, paw-print, scissors, wrench, hammer, code, terminal, laptop, smartphone, wifi, zap, sparkles, gem, crown, feather, sprout, mountain, waves, tent, car, ticket, party-popper, cake, shirt, languages, atom, flask-conical, microscope, telescope, newspaper, podcast, tv, presentation, hand-heart, heart-handshake, glasses, brain-circuit, bot, ghost, sword, swords, shield-check, medal, gauge, sun-moon, snowflake, umbrella, anchor, sailboat, ship, landmark, church, school, library, book-marked, bookmark, highlighter, eraser, ruler, shapes, layers, layout-grid, kanban, list, grid-3x3, joystick, spade, club, diamond, alien, barbell, basketball, butterfly, cactus, car-profile, flower-lotus, hamburger, horse, ice-cream, lightning, person-simple-bike, person-simple-run, person-simple-swim, person-simple-walk, pizza, robot, sneaker-move, soccer-ball, train-simple."
},
"screenshots": {
"type": "array",
"items": {},
"description": "Set the screenshots yourself: \"photo1\" … \"photo4\" = the photos the creator attached in the chat (\"photos\" = all of them), \"current\" = keep the ones it has (e.g. [\"current\", \"photo1\"] adds one), or base64 images or {image, device:\"mobile\"|\"desktop\"}, mobile 1170x2532, desktop 1600x1000, up to 10."
},
"replaceFiles": {
"type": "boolean",
"description": "true = these files REPLACE the current ones; false/omitted = they are added after them."
}
}
}