HoplaDocs

Settings

Page profile, theme, social links, colors, buttons, SEO and redirect.

GET /page returns the full page: settings and blocks. GET /settings returns settings only.

PATCH /settings updates only the fields sent. The profile, button, seo, colors and redirect objects are merged field by field; the socialLinks list is replaced as a whole.

curl -X PATCH https://app.hopla.page/api/v2/settings \
  -H "Authorization: Bearer $HOPLA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profile": {"bio": "Coach sportive à Lyon"}, "theme": "onyx"}'

The response contains the full settings after the update.

Fields

SettingValue
profileProfile: { name, bio, avatar, photo }. name is the display name, avatar an https image URL, photo is round or large
themeA theme id, see below
socialLinksSocial links: [{ network, url }], 20 maximum
socialLinksPositiontop (below the bio) or bottom (bottom of the page)
colorsColors: { background, buttons, accent } as #rrggbb; empty: theme default
buttonButtons: { style, shape, shadow }: solid, outline, soft, raised or glass; pill, rounded or square; none, subtle or strong
seo{ title, description } for search engines and link previews
shareButtonShow the Share button at the top of the page
formalPage copy uses the formal "vous" form
redirectRedirect: { url, endsAt } sends the whole page to another URL until endsAt; { "url": "" } stops it
{
  "socialLinks": [
    { "network": "instagram", "url": "https://instagram.com/camille" },
    { "network": "youtube", "url": "https://youtube.com/@camille" },
    { "network": "email", "url": "mailto:camille@example.com" }
  ]
}

Always send the full list, in display order: a network missing from the list is removed from the page. Valid values:

networkName
youtubeYouTube
linkedinLinkedIn
instagramInstagram
tiktokTikTok
xX
githubGitHub
facebookFacebook
threadsThreads
twitchTwitch
spotifySpotify
emailE-mail
siteSite web
whatsappWhatsApp
telegramTelegram
discordDiscord
pinterestPinterest
snapchatSnapchat
blueskyBluesky
mastodonMastodon
redditReddit
substackSubstack
mediumMedium
patreonPatreon
soundcloudSoundCloud
deezerDeezer
applemusicApple Music
applepodcastsApple Podcasts
bandcampBandcamp
vimeoVimeo
behanceBehance
dribbbleDribbble
maltMalt
etsyEtsy

Themes

GET /themes returns the same list. Social networks, icons and block types have their own endpoints: see Reference values.

idNameMood
nuit-pecheNuit et pêcheUnderstated
onyxOnyx et orLuxury
champagneChampagneEditorial
neigeNeigeMinimal
foretForêtNature
kleinBleu KleinGraphic
brutalBrutalisteRaw
auroreAuroreBright
coucherCouchantPop
arcadeArcadeNeon
bauhausBauhausGeometric
risoRisographiePrint
galaxieGalaxieCosmic
lampeLampe à lavePsychedelic
skateSkateRetro
saugeSaugeSoft
linLinWarm
lilasLilasFresh
marineMarineCrisp
argileArgileEarthy
mangueMangueSunny
lagonLagonFresh
ceriseCeriseBold
memphisMemphisPlayful

On this page