Documentation

Modèles

Obtenir un modèle

GET/templates/{id}

Un modèle : sa version enregistrée en Markdown, avec un jeton {{Libellé}} partout où un champ est vide, et l’inventaire des champs dont on tire un formulaire ou un mappage de champs, chaque entrée avec la clé à envoyer et le libellé à afficher.

Paramètres

NomTypeDescription
idobligatoireuuidL’identifiant du modèle.

Requête

curl https://usepaperclerk.com/api/v1/templates/4d1f0c2e-7b3a-4c1e-9d2f-1a2b3c4d5e6f \
  -H "Authorization: Bearer pc_YOUR_TOKEN"

Réponse

JSON
{
  "id": "4d1f0c2e-7b3a-4c1e-9d2f-1a2b3c4d5e6f",
  "title": "Consulting invoice",
  "markdown": "# Consulting invoice\n\nInvoice {{Invoice number}} for {{Client name}} …",
  "html": "<div class=\"doc-page\" …>…</div>",
  "html_truncated": false,
  "placeholders": [
    {
      "label": "Client name",
      "key": "client_name",
      "count": 2,
      "value": "",
      "type": "text",
      "description": "The client's legal name, not the contact person."
    },
    {
      "label": "Payment terms",
      "key": "payment_terms",
      "count": 1,
      "value": "Net 30",
      "type": "select",
      "options": [
        "Net 15",
        "Net 30",
        "Due on receipt"
      ]
    },
    {
      "label": "Due date",
      "key": "due_date",
      "count": 1,
      "value": "",
      "type": "date",
      "format": "08/27/2026"
    },
    {
      "label": "Invoice number",
      "key": "invoice_number",
      "count": 1,
      "value": "",
      "type": "counter",
      "auto": true,
      "format": "INV-0001",
      "start": 1
    },
    {
      "label": "Issue date",
      "key": "issue_date",
      "count": 1,
      "value": "",
      "type": "today",
      "auto": true,
      "format": "August 27, 2026"
    }
  ],
  "groups": [
    {
      "label": "Line items",
      "key": "line_items",
      "fields": [
        {
          "label": "Item",
          "key": "item",
          "type": "text"
        },
        {
          "label": "Quantity",
          "key": "quantity",
          "type": "number",
          "format": "1,234"
        },
        {
          "label": "Amount",
          "key": "amount",
          "type": "number",
          "format": "1,234.56"
        }
      ]
    }
  ],
  "generation_count": 12,
  "updated_at": "2026-09-10T09:14:03.201Z"
}
  • markdown — La version enregistrée. Un champ vide apparaît comme {{Libellé}}.
  • html — Un aperçu HTML fidèle au papier de la version enregistrée ; html_truncated indique s’il a été coupé pour la taille.
  • placeholders — Champs de premier niveau, une entrée par champ : key (ce par quoi values est indexé), label (le nom lisible), count (le nombre d’emplacements remplis), value (la valeur par défaut), type (text, select, number, date, today ou counter) et, lorsqu’ils sont définis, options, format, description, auto et start.
  • groups — Groupes répétables : key, label et fields, où fields liste exactement les clés qu’un objet d’instance peut porter, chacune avec la même forme qu’un champ plus une valeur par défaut.
  • generation_count — Combien de documents ont été générés à partir de lui.