Skip to content

Signatures ​

Les routes sont relatives à <PUBLIC_BASE_URL> ; les corps de requête et de réponse sont en JSON sauf mention contraire. L’authentification, les portées, la pagination et le format des erreurs sont décrits dans les guides de l’API REST.

GET /api/v1/signatures ​

Lister mes signatures

Les signatures du membre connecté, puis celles de l’organisation. L’ordre est le contrat : un client qui prend la première marquée par défaut trouve la sienne, pas celle de la maison.

Accès — Session de membre ou clé d’API portant profile:read.

Réponses

200 — Les signatures.

ChampTypeRequis
signaturesobject[]oui
Schéma JSON
json
{
  "type": "object",
  "properties": {
    "signatures": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "scope": { "type": "string", "enum": [ "member", "org" ] },
          "name": { "type": "string" },
          "bodyText": { "type": "string" },
          "bodyHtml": { "type": "string" },
          "isDefault": { "type": "boolean" },
          "createdAt": { "type": "string" },
          "updatedAt": { "type": "string" }
        },
        "required": [
          "id",
          "scope",
          "name",
          "bodyText",
          "bodyHtml",
          "isDefault",
          "createdAt",
          "updatedAt"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [ "signatures" ],
  "additionalProperties": false
}

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

POST /api/v1/signatures ​

Créer une signature

Le corps HTML est assaini à l’écriture. scope: "org" est réservé aux administrateurs. Un nom déjà porté par le même propriétaire est refusé.

Accès — Session de membre ou clé d’API portant profile:write.

Corps de la requête (application/json)

ChampTypeRequis
namestringoui
bodyTextstringnon
bodyHtmlstringnon
scope"member" | "org"non
isDefaultbooleannon
Schéma JSON
json
{
  "type": "object",
  "properties": {
    "name": { "type": "string", "minLength": 1, "maxLength": 120 },
    "bodyText": { "default": "", "type": "string", "maxLength": 10000 },
    "bodyHtml": { "default": "", "type": "string", "maxLength": 50000 },
    "scope": { "default": "member", "type": "string", "enum": [ "member", "org" ] },
    "isDefault": { "type": "boolean" }
  },
  "required": [ "name" ]
}

Réponses

201 — La signature.

ChampTypeRequis
signatureobjectoui
Schéma JSON
json
{
  "type": "object",
  "properties": {
    "signature": {
      "type": "object",
      "properties": {
        "id": { "type": "string" },
        "scope": { "type": "string", "enum": [ "member", "org" ] },
        "name": { "type": "string" },
        "bodyText": { "type": "string" },
        "bodyHtml": { "type": "string" },
        "isDefault": { "type": "boolean" },
        "createdAt": { "type": "string" },
        "updatedAt": { "type": "string" }
      },
      "required": [
        "id",
        "scope",
        "name",
        "bodyText",
        "bodyHtml",
        "isDefault",
        "createdAt",
        "updatedAt"
      ],
      "additionalProperties": false
    }
  },
  "required": [ "signature" ],
  "additionalProperties": false
}

400 — La requête ne respecte pas son schéma.

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

Cette opération accepte un en-tête Idempotency-Key : rejouer la même requête avec la même clé rend la réponse d’origine au lieu d’agir deux fois. Voir Idempotence.

Codes d’erreur — request.bad_request, auth.forbidden, contacts.duplicate_signature_name. Les codes communs (request.bad_request, auth.unauthenticated, api_key.scope_missing, api_key.rate_limited…) s’appliquent à toutes les routes ; voir Erreurs.

PUT /api/v1/signatures/{id} ​

Modifier une signature

Un remplacement partiel : seuls les champs donnés changent. Une signature hors du périmètre du membre est un 404, jamais un 403 ; celles de l’organisation ne s’écrivent que par les administrateurs.

Accès — Session de membre ou clé d’API portant profile:write.

Paramètres

NomOùTypeRequis
idcheminstringoui

Corps de la requête (application/json)

ChampTypeRequis
namestringnon
bodyTextstringnon
bodyHtmlstringnon
isDefaultbooleannon
Schéma JSON
json
{
  "type": "object",
  "properties": {
    "name": { "type": "string", "minLength": 1, "maxLength": 120 },
    "bodyText": { "type": "string", "maxLength": 10000 },
    "bodyHtml": { "type": "string", "maxLength": 50000 },
    "isDefault": { "type": "boolean" }
  }
}

Réponses

200 — La signature, modifiée.

ChampTypeRequis
signatureobjectoui

Même schéma que POST /api/v1/signatures.

400 — La requête ne respecte pas son schéma.

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

Codes d’erreur — request.bad_request, contacts.not_found, contacts.duplicate_signature_name. Les codes communs (request.bad_request, auth.unauthenticated, api_key.scope_missing, api_key.rate_limited…) s’appliquent à toutes les routes ; voir Erreurs.

DELETE /api/v1/signatures/{id} ​

Supprimer une signature

Les fiches du carnet qui la référençaient perdent la référence ; elles ne disparaissent pas avec elle.

Accès — Session de membre ou clé d’API portant profile:write.

Paramètres

NomOùTypeRequis
idcheminstringoui

Réponses

204 — Supprimée.

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

Codes d’erreur — contacts.not_found. Les codes communs (request.bad_request, auth.unauthenticated, api_key.scope_missing, api_key.rate_limited…) s’appliquent à toutes les routes ; voir Erreurs.

GET /api/v1/webmail/signatures ​

Lister mes signatures

WARNING

Dépréciée.

Les signatures du membre connecté, puis celles de l’organisation. L’ordre est le contrat : un client qui prend la première marquée par défaut trouve la sienne, pas celle de la maison.

Accès — Session de membre ou clé d’API portant profile:read.

Réponses

200 — Les signatures.

ChampTypeRequis
signaturesobject[]oui

Même schéma que GET /api/v1/signatures.

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

POST /api/v1/webmail/signatures ​

Créer une signature

WARNING

Dépréciée.

Le corps HTML est assaini à l’écriture. scope: "org" est réservé aux administrateurs. Un nom déjà porté par le même propriétaire est refusé.

Accès — Session de membre ou clé d’API portant profile:write.

Corps de la requête (application/json)

ChampTypeRequis
namestringoui
bodyTextstringnon
bodyHtmlstringnon
scope"member" | "org"non
isDefaultbooleannon

Même schéma que POST /api/v1/signatures.

Réponses

201 — La signature.

ChampTypeRequis
signatureobjectoui

Même schéma que POST /api/v1/signatures.

400 — La requête ne respecte pas son schéma.

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

Cette opération accepte un en-tête Idempotency-Key : rejouer la même requête avec la même clé rend la réponse d’origine au lieu d’agir deux fois. Voir Idempotence.

Codes d’erreur — request.bad_request, auth.forbidden, contacts.duplicate_signature_name. Les codes communs (request.bad_request, auth.unauthenticated, api_key.scope_missing, api_key.rate_limited…) s’appliquent à toutes les routes ; voir Erreurs.

PUT /api/v1/webmail/signatures/{id} ​

Modifier une signature

WARNING

Dépréciée.

Un remplacement partiel : seuls les champs donnés changent. Une signature hors du périmètre du membre est un 404, jamais un 403 ; celles de l’organisation ne s’écrivent que par les administrateurs.

Accès — Session de membre ou clé d’API portant profile:write.

Paramètres

NomOùTypeRequis
idcheminstringoui

Corps de la requête (application/json)

ChampTypeRequis
namestringnon
bodyTextstringnon
bodyHtmlstringnon
isDefaultbooleannon

Même schéma que PUT /api/v1/signatures/{id}.

Réponses

200 — La signature, modifiée.

ChampTypeRequis
signatureobjectoui

Même schéma que POST /api/v1/signatures.

400 — La requête ne respecte pas son schéma.

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

Codes d’erreur — request.bad_request, contacts.not_found, contacts.duplicate_signature_name. Les codes communs (request.bad_request, auth.unauthenticated, api_key.scope_missing, api_key.rate_limited…) s’appliquent à toutes les routes ; voir Erreurs.

DELETE /api/v1/webmail/signatures/{id} ​

Supprimer une signature

WARNING

Dépréciée.

Les fiches du carnet qui la référençaient perdent la référence ; elles ne disparaissent pas avec elle.

Accès — Session de membre ou clé d’API portant profile:write.

Paramètres

NomOùTypeRequis
idcheminstringoui

Réponses

204 — Supprimée.

401 — Aucune session ni clé d’API valide (auth.unauthenticated).

403 — Refusé : rôle insuffisant (auth.forbidden), portée manquante (api_key.scope_missing, details.required la nomme) ou route fermée aux clés (api_key.session_required).

429 — La clé d’API dépasse son débit (api_key.rate_limited) ; Retry-After dit quand réessayer.

Codes d’erreur — contacts.not_found. Les codes communs (request.bad_request, auth.unauthenticated, api_key.scope_missing, api_key.rate_limited…) s’appliquent à toutes les routes ; voir Erreurs.