Skip to Content
Elido is in closed beta — APIs are stable but rate-limits and quotas may change before GA. Request access →
HandleidingenBio pages

Bio-pagina’s

Een bio-pagina is één mobile-first landingspagina met een reeks links - het formaat dat Linktree populair maakte voor “link in bio” op Instagram, TikTok en X. Elke pagina staat op bio.elido.app/<username> (eigen domeinen voor bio-pagina’s zijn gepland en nog niet beschikbaar) en wordt server-side gerenderd door bio-renderer, zodat hij bij de eerste weergave al geladen is.

Bio-pagina’s staan los van shortlinks: ze hebben hun eigen URL- naamruimte, hun eigen klikstroom en hun eigen analytics.

Een pagina aanmaken

curl -X POST \ https://api.elido.app/v1/workspaces/1/bio \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "username": "acme", "display_name": "Acme Inc.", "bio": "We make sprockets that just work.", "avatar_url": "https://cdn.example.com/avatar.png", "is_published": true, "theme": { "bg_color": "#0f172a", "text_color": "#f8fafc", "button_style": "rounded", "button_color": "#5b6cff", "button_radius": 12 } }'
VeldOpmerkingen
username3–32 tekens, kleine letters, cijfers, -, _. Globaal uniek.
display_nameVetgedrukte naam boven de bio.
bioVrije tekst onder de naam.
avatar_urlOptionele afbeeldings-URL; wordt als cirkel weergegeven.
is_publishedStandaard false. Niet-gepubliceerde pagina’s geven publiek een 404.
themeJSON met bg_color, text_color, button_style, button_color, button_radius.
curl -X POST \ https://api.elido.app/v1/workspaces/1/bio/9/links \ -H "Authorization: Bearer $ELIDO_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "title": "Latest blog post", "url": "https://example.com/blog/sprocket-3", "icon": "rss", "sort_order": 0 }'

sort_order bepaalt de weergavevolgorde (oplopend); pas de volgorde aan met PATCH op elke link of gebruik slepen en neerzetten in het dashboard. Iconen zijn Lucide-namen (rss, youtube, instagram, …).

Openbare weergave

De pagina zelf komt van de service bio-renderer:

GET https://bio.elido.app/acme

De renderer haalt GET /v1/bio/acme (openbaar, zonder authenticatie) een keer per verzoek op en cachet per gebruikersnaam gedurende 60 seconden.

Kliktracking

Elke knop heeft een fire-and-forget-tracker:

navigator.sendBeacon( "https://api.elido.app/v1/bio/acme/click", JSON.stringify({ link_id: 17 }) );

De renderer verbindt dit automatisch - je levert de JavaScript niet zelf mee. Het endpoint legt Country, User-Agent en Referer vast en stuurt het daarna via dezelfde click-ingester- pipeline als klikken op shortlinks door naar ClickHouse.

Heatmap

De klikaantallen per link voeden de heatmap in het dashboard:

curl https://api.elido.app/v1/workspaces/1/bio/9/heatmap \ -H "Authorization: Bearer $ELIDO_TOKEN"
[ { "bio_link_id": 17, "clicks": 4321 }, { "bio_link_id": 18, "clicks": 1187 } ]

Het dashboard toont dit als horizontaal staafdiagram, gesorteerd op sort_order, zodat je in één oogopslag ziet welke links presteren en welke dood zijn.

Endpointreferentie

MethodePad
GET/v1/workspaces/{ws}/bio (lijst)
POST/v1/workspaces/{ws}/bio (pagina aanmaken)
PATCH/v1/workspaces/{ws}/bio/{id}
DELETE/v1/workspaces/{ws}/bio/{id}
GET/v1/workspaces/{ws}/bio/{id}/links
POST/v1/workspaces/{ws}/bio/{id}/links
PATCH/v1/workspaces/{ws}/bio/{id}/links/{link_id}
DELETE/v1/workspaces/{ws}/bio/{id}/links/{link_id}
GET/v1/workspaces/{ws}/bio/{id}/heatmap
GET/v1/bio/{username} (openbare weergave)
POST/v1/bio/{username}/click (openbare klik)