---
title: "Lire la configuration du site vitrine"
method: GET
path: "/showcase"
tags: ["Showcase"]
---

# Lire la configuration du site vitrine

`GET /showcase`

## Request

- Base URL: `https://api.swipify.fr/api/v1`
- URL: `https://api.swipify.fr/api/v1/showcase`
- Auth: API key in header `X-API-Key`

Config du site vitrine de l'organisation : `config` (publié) + `draft` (brouillon en attente). Le logo (data URI) est remplacé par `hasLogo`. Scope requis : `showcase:read`.

## Response `200`

Config vitrine (publiée + brouillon)

- object
  - `enabled` boolean
  - `domain` string, nullable
  - `config` SiteConfig: Configuration du site vitrine. Champs principaux ci-dessous ; structure complète (réalisations, témoignages, FAQ, horaires, polices, réseaux sociaux…) gérée par une allowlist stricte côté serveur : tout champ inconnu est ignoré à l'écriture. En lecture, le logo (data URI, jusqu'à ~6 Mo) est remplacé par `hasLogo`.
    - `enabled` boolean
    - `domain` string, nullable
    - `hasLogo` boolean
    - `slogan` string, nullable
    - `hero` object
      - `title` string
      - `subtitle` string
      - `layout` 'standard' | 'overlay'
    - `about` object
      - `content` string, nullable
    - `services` object[]
      - `title` string
      - `description` string
    - `contact` object
      - `email` string
      - `phone` string
      - `address` string
    - `seo` object
      - `metaTitle` string, nullable
      - `metaDescription` string, nullable
    - `colors` object
      - `primary` string, nullable
      - `secondary` string, nullable
  - `draft` SiteConfig: Configuration du site vitrine. Champs principaux ci-dessous ; structure complète (réalisations, témoignages, FAQ, horaires, polices, réseaux sociaux…) gérée par une allowlist stricte côté serveur : tout champ inconnu est ignoré à l'écriture. En lecture, le logo (data URI, jusqu'à ~6 Mo) est remplacé par `hasLogo`.
    - `enabled` boolean
    - `domain` string, nullable
    - `hasLogo` boolean
    - `slogan` string, nullable
    - `hero` object
      - `title` string
      - `subtitle` string
      - `layout` 'standard' | 'overlay'
    - `about` object
      - `content` string, nullable
    - `services` object[]
      - `title` string
      - `description` string
    - `contact` object
      - `email` string
      - `phone` string
      - `address` string
    - `seo` object
      - `metaTitle` string, nullable
      - `metaDescription` string, nullable
    - `colors` object
      - `primary` string, nullable
      - `secondary` string, nullable
  - `hasPendingDraft` boolean

## Other responses

- `401`: Échec d'authentification : clé API manquante (`missing_api_key`) ou invalide/révoquée/expirée (`invalid_api_key`). Le client doit présenter une clé valide.
- `403`: Clé authentifiée mais non autorisée : scope insuffisant pour cette route (`scope_required`), ou organisation sans abonnement Pro actif (`pro_required`). `GET /me` reste accessible sans Pro pour diagnostiquer la clé.

---

[API](https://skmtc.dev/swipify/apis/swipify-api-publique.md) · [All operations](https://skmtc.dev/swipify/apis/swipify-api-publique/llms.txt) · [OpenAPI document](https://skmtc.dev/swipify/apis/swipify-api-publique/revisions/44c17201b479?raw)
