Skip to content
Get your keyGet a key

Reference · Your page

POST/page/blocks

Add a block to the page

Add a block to the person’s link-in-bio page (vessero.com/@handle), at the top unless asked for the bottom. Simplest: give url alone and the block is made from it — a YouTube, TikTok or Vimeo address becomes a video player, a Spotify, SoundCloud or Apple Music one a music player, a Calendly or Cal.com one a booking block, anything else a link button named after its site (give title to name it). Or give kind and its data: link {title, url, motion?: none|shine|pulse|wobble, rules?} (rules: as POST /api/v1/short-links takes them, Plus and up); header {title}; text {body, button?: {label, url}}; work {layout: grid|carousel} (their portfolio pieces); products {keys: null, max} (what they sell in the Creator Store, and the products they resell for other creators) and courses {keys: null, max} (their courses); community {slug: null}; signup {title, button, note?}; contact {title}; faq {items: [{q, a}]}; discount {title, code, url?, note?}; countdown {title, endsAt (ISO time), url?}; collection {title, layout: stack|grid|carousel, ids: [link block ids, in order]} (links grouped under a title; each link stays a block of its own with its clicks, so add the links first, then put their ids here; a link sits in one collection at most, and putting it in one takes it out of another; a collection switched off hides its links); tips {title, amounts: [cents, up to 3, from 100 to 50000, e.g. 300, 500, 1000], custom: true|false (visitors may type their own amount), note?} (visitors send the person money with a note through the Creator Store's checkout, paid out with their store earnings at the store's fee, 10% + $0.50 after VAT; it shows once their shop is open; one per page); reviews {items: [{name, role?, stars?: 1-5, text}]} (written in by the person; photos are added in the app); poll {question, options: [{label}] (2 to 6)} (visitors vote once and see the results; GET /api/v1/page reports the votes; keep each option’s id when changing the words, or its votes go); vcard {name, role?, company?, phone?, email?, website?, place?, photo: true} (Save my contact: one tap saves it to a visitor’s phone; one of phone, email or website; one per page); events {title?, items: [{date: YYYY-MM-DD, time?: HH:MM, name?, venue, city, url? (tickets), soldOut?}]} (past dates leave the page by themselves); pdf {title, upload: {origin: "upload", refId: a PDF’s upload id from GET /api/v1/library (tab "uploads")}, download: true|false} (a PDF read on the page); group {url (a discord.gg, discord.com/invite, chat.whatsapp.com, whatsapp.com/channel or t.me invite), name, line?} (Join a group); app {name, line?, appStore? (apps.apple.com/…/id…), googlePlay? (play.google.com/store/apps/details?id=…)} (one of the two; the icon is added in the app). work, signup and contact can be on a page once too. style: featured draws a link as a big card, style: spotlight makes it stand out. thumb puts a picture of theirs on a link: beside its words, or as a featured link’s big card — one they made (a create tool’s answer gives its useAs) or uploaded. Without a plan a page holds one of each of collection, tips, reviews, poll, vcard, events, pdf, group, app, and Spotlight and motion wait for a plan; every plan (Starter and up) adds as many as it likes. Free: it costs no credits.

Key needs
create · Make things and spend credits
Spends
Nothing
Answers
Data
Request
curl -X POST https://vessero.com/api/v1/page/blocks \
  -H "Authorization: Bearer $VESSERO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Body

  • urlstringAn address to make the block from (see above). Leave out when giving kind and data.
  • titlestringWith url: the button’s words, for a link.
  • kindstringThe block’s kind, when not made from url.linkheadertextworkproductscoursescommunityvideomusicsignupcontactbookingfaqdiscountcountdowncollectiontipsreviewspollvcardeventspdfgroupapp
  • dataobjectThe kind’s fields, as listed above.
  • stylestringFor a link: classic (a button), featured (a big card) or spotlight (made to stand out; every plan). Default classic.classicfeaturedspotlight
  • thumbobject · kind library | uploadA link’s picture: a picture of theirs, by its useAs.
  • atstringWhere it goes. Default top.topbottom

Answers

  • 200okWhat it did, as data.
  • 400invalid_requestA field is missing or not accepted: see details.
  • 404not_foundNot found on this account.
  • 403feature_unavailableThe studio this needs is switched off for the account right now.
Next in Your pagePATCH/page/blocks/{blockId}