---
title: "Détail d’une lettre (champs exacts pour un fournisseur donné)"
method: GET
path: "/v1/letters/{slug}"
tags: ["B2B (v1)"]
---

# Détail d’une lettre (champs exacts pour un fournisseur donné)

`GET /v1/letters/{slug}`

## Request

- Base URL: `https://api.vitef.com`
- URL: `https://api.vitef.com/v1/letters/{slug}`
- Auth: HTTP bearer

## Path parameters

- `slug` string, required

## Query parameters

- `provider` string

## Response `200`

Lettre

- LetterDetail
  - `slug` string, required
  - `category` string, required
  - `icon` string, required
  - `title` string, required
  - `short` string, required
  - `h1` string, required
  - `badge` string, required
  - `url` string, required
  - `providerLabel` string, nullable, required
  - `providers` LetterProvider[], required
    - `slug` string, required
    - `name` string, required
    - `address` string[], nullable, required: Dernière adresse connue du destinataire (lignes), relevée sur sa source officielle et donnée à titre indicatif : elle a pu changer et doit être vérifiée par l’utilisateur. Sert de valeur par défaut au champ `recipientAddress`, toujours modifiable ; une valeur transmise dans `recipientAddress` la remplace.
    - `url` string, required
  - `fields` Field[], required
    - `key` string, required
    - `label` string, required
    - `type` 'text' | 'number' | 'date' | 'tel' | 'email' | 'textarea' | 'radio' | 'select' | 'tabs', required
    - `optional` boolean, required
    - `placeholder` string
    - `hint` string
    - `suffix` string
    - `options` object[]
      - `value` string, required
    - `default` string
    - `rows` integer
    - `autocomplete` 'address' | 'company' | 'commune'
    - `big` boolean: Calculateurs : champ principal, mis en avant.
    - `when` object[]: Affiché seulement si, pour chaque condition, le champ `key` (choix) vaut l’une des valeurs `in` ; un choix non touché compte pour sa première option. Masqué, le champ garde sa valeur.
      - `key` string, required
      - `in` string[], required
  - `signature` 'optional' | 'required' | 'paper': `optional` : nom imprimé, signature dessinée possible (`signatureImage`) ; `required` : signature dessinée exigée avant l’envoi ; `paper` : PDF à imprimer et signer à la main (pas d’envoi postal).
  - `signatureNote` string, nullable: Explication à afficher quand la règle n’est pas `optional`.
  - `intro` string, required
  - `explain` string, required
  - `tip` object, required
    - `title` string, required
    - `text` string, required
  - `faq` Faq[], required
    - `q` string, required
    - `a` string, required
  - `provider` object, nullable, required
    - `slug` string, required
    - `name` string, required
    - `address` string[], nullable, required: Dernière adresse connue du destinataire (lignes), relevée sur sa source officielle et donnée à titre indicatif : elle a pu changer et doit être vérifiée par l’utilisateur. Sert de valeur par défaut au champ `recipientAddress`, toujours modifiable ; une valeur transmise dans `recipientAddress` la remplace.
    - `url` string, required
  - `senderFields` Field[], required
    - `key` string, required
    - `label` string, required
    - `type` 'text' | 'number' | 'date' | 'tel' | 'email' | 'textarea' | 'radio' | 'select' | 'tabs', required
    - `optional` boolean, required
    - `placeholder` string
    - `hint` string
    - `suffix` string
    - `options` object[]
      - `value` string, required
    - `default` string
    - `rows` integer
    - `autocomplete` 'address' | 'company' | 'commune'
    - `big` boolean: Calculateurs : champ principal, mis en avant.
    - `when` object[]: Affiché seulement si, pour chaque condition, le champ `key` (choix) vaut l’une des valeurs `in` ; un choix non touché compte pour sa première option. Masqué, le champ garde sa valeur.
      - `key` string, required
      - `in` string[], required
  - `calculator` string, nullable, required

## Other responses

- `400`: Requête invalide
- `401`: Authentification requise ou invalide
- `403`: Accès refusé (`insufficient_scope`, `account_suspended`, `live_not_enabled`)
- `404`: Ressource introuvable
- `429`: Trop de requêtes
- `500`: Erreur interne

---

[API](https://skmtc.dev/vitef/apis/api-vitef.md) · [All operations](https://skmtc.dev/vitef/apis/api-vitef/llms.txt) · [OpenAPI document](https://skmtc.dev/vitef/apis/api-vitef/revisions/7bc459d9ef90?raw)
