Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/scooller/Leben-site/llms.txt

Use this file to discover all available pages before exploring further.

The /api/v1/site-config endpoint returns the global site configuration stored in SiteSettings and is the primary data source for bootstrapping any frontend that connects to an iLeben backend. It is intentionally public so that unauthenticated page loads can immediately access branding assets, SEO metadata, and contact details. When a valid Bearer token is also supplied, the response expands to include sensitive fields such as payment gateway credentials and price-source configuration that should never be exposed to anonymous visitors.

Endpoint

GET /api/v1/site-config

Authentication

This endpoint is public — no token is required to receive the base response. However, passing a valid Bearer token unlocks additional fields intended for authorized frontend integrations.
ScenarioFields returned
No token / anonymousPublic fields only
Valid Authorization: Bearer <token>Public fields + token-only fields

Response fields

Public fields

These fields are returned for every request, regardless of authentication status. They are produced by SiteSetting::forFrontend(), which serializes the active SiteSettings record (ID = 1) and resolves Curator media URLs before returning the payload to the client.
site_name
string
The display name of the site, used in page titles and meta tags.
site_description
string
A short description of the site, used as the default meta description.
site_url
string
The canonical base URL of the site (e.g. "https://miproyecto.cl").
URL of the primary site logo. Resolved from the Curator media asset linked to logo_id in SiteSettings.
logo_dark
string | null
URL of the dark-mode variant of the site logo. Resolved from logo_dark_id.
logo_sale
string | null
URL of the sale-event logo variant. Resolved from logo_sale_id. Present even when no sale event is active.
favicon
string | null
URL of the site favicon. Resolved from favicon_id.
icon
string | null
URL of the site app icon (used for PWA manifests and touch icons). Resolved from icon_id.
brand_color
string
Primary hex brand color (e.g. "#eb0029"). Defaults to "#eb0029" if not configured.
semantic_brand_color
string
Semantic color token for the brand (e.g. "blue"). Used by the WebAwesome design system.
semantic_neutral_color
string
Semantic color token for neutral UI elements (e.g. "gray").
semantic_success_color
string
Semantic color token for success states (e.g. "green").
semantic_warning_color
string
Semantic color token for warning states (e.g. "yellow").
semantic_danger_color
string
Semantic color token for error/danger states (e.g. "red").
webawesome_theme
string
WebAwesome theme name applied to the frontend (e.g. "mellow"). Defaults to "mellow".
webawesome_palette
string
WebAwesome palette applied to the frontend (e.g. "natural"). Defaults to "natural".
icon_family
string
Icon family used throughout the UI (e.g. "classic"). Defaults to "classic".
font_family_body
string | null
Body font family name as configured in SiteSettings Typography tab.
font_family_heading
string | null
Heading font family name as configured in SiteSettings Typography tab.
google_fonts_stylesheet
string | null
Full Google Fonts @import stylesheet URL to inject into the frontend <head>.
seo
object
SEO and analytics metadata object. Contains the following keys:
KeyDescription
meta_keywordsComma-separated keyword string
meta_authorAuthor meta tag value
tag_manager_idGoogle Tag Manager container ID
default_meta_titleDefault <title> for pages without an explicit title
default_og_titleDefault Open Graph title
default_og_descriptionDefault Open Graph description
og_imageOpen Graph image URL (resolved from Curator media or a static path)
twitter_siteTwitter/X @handle for twitter:site meta tag
robots_defaultDefault robots meta value (e.g. "index,follow")
site_localeSite locale string (e.g. "es-CL")
utm_source_defaultDefault UTM source when not overridden
utm_medium_defaultDefault UTM medium when not overridden
utm_campaign_defaultDefault UTM campaign when not overridden
utm_term_defaultDefault UTM term when not overridden
utm_content_defaultDefault UTM content when not overridden
utm_site_defaultDefault UTM site identifier when not overridden
contact
object
Public contact information. Contains email, phone, and address as configured in the Contacto tab of SiteSettings.
contact_page
object
Contact page content and form configuration. Contains title, subtitle, content (HTML string), and form_fields (array of field definitions used to render and validate the contact form).
social
object
Social network URLs. Contains flat string keys: facebook, instagram, twitter, linkedin, youtube. Null for any platform not configured.
evento_sale
boolean
Whether a sale event is currently active. When true, frontends should display sale pricing and the logo_sale asset.
mostrar_plantas
boolean
Whether the plant catalog is publicly visible. When false, the catalog should be hidden from anonymous visitors (preview-authorized users can override this).
catalogo_no_disponible_titulo
string
Title to display when the catalog is not available (e.g. "Próximamente").
catalogo_no_disponible_mensaje
string
Message to display when the catalog is not available.
plants_per_page
integer
Default pagination size for plant catalog listings. Defaults to 12.
hero
object
Hero image/video configuration for key pages. Contains home and contact sub-objects, each with image, image_desktop, image_mobile (resolved Curator URLs), and alt keys. The home hero also includes type ("video" or "image"), video_desktop_url, video_mobile_url, and video_poster_url.
Navigation items for the site footer, as configured in SiteSettings.
Legal/copyright text rendered in the footer.
maintenance_mode
boolean
Whether the site is in maintenance mode. Always false for preview-authorized requests even when maintenance is enabled.
maintenance_message
string | null
Message to display when maintenance_mode is true.
custom_css
string | null
Custom CSS injected into the frontend <head>.
header_scripts
string | null
Custom script tags injected into the <head>.
Custom script tags injected before the closing </body>.

Token-only fields

These fields are omitted from anonymous responses and are only present when a valid Bearer token is included.
payment_gateways
object
Payment gateway configuration object. Contains one key per gateway (transbank, mercadopago, manual), each with enabled (boolean) and config (object with gateway-specific credentials — sensitive, never expose to anonymous clients). Also contains the following top-level keys within this object:
KeyDescription
price_sourcePrice display source: "final" or "base". Controls which price field the frontend shows.
price_percentage_sourceDiscount percentage source: "max_unit" or "web_discount". Controls which discount percentage is applied for catalog display.
reservation_timeout_minutesHow many minutes a plant reservation remains valid before expiring.

Examples

Public request (no token)

curl "https://tu-dominio.com/api/v1/site-config"

Authorized request (with Bearer token)

curl "https://tu-dominio.com/api/v1/site-config" \
  -H "Authorization: Bearer 1|token-plano-sanctum"
The data returned by this endpoint is powered by SiteSetting::forFrontend(). This method serializes the active SiteSettings record (ID = 1) and resolves Curator media URLs for fields like logo, favicon, and hero images before returning them to the client.
Sensitive fields — including payment_gateways.*.config, payment_gateways.price_source, and payment_gateways.price_percentage_source — are stripped from anonymous responses. If your frontend integration depends on these values, ensure your API token is included in the Authorization header. Never embed token-only fields in publicly cached CDN responses.

Build docs developers (and LLMs) love